<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE language><language name="Zsh" version="37" kateversion="5.79" section="Scripts" extensions="*.sh;*.zsh;.zshrc;.zprofile;.zlogin;.zlogout;.profile" mimetype="application/x-shellscript;text/x-shellscript" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT"><highlighting><list name="keywords"><item>break</item><item>case</item><item>continue</item><item>do</item><item>done</item><item>elif</item><item>else</item><item>end</item><item>esac</item><item>fi</item><item>for</item><item>foreach</item><item>function</item><item>if</item><item>in</item><item>repeat</item><item>return</item><item>select</item><item>then</item><item>until</item><item>while</item></list><list name="builtins"><item>-</item><item>.</item><item>:</item><item>alias</item><item>autoload</item><item>bg</item><item>bindkey</item><item>builtin</item><item>bye</item><item>cap</item><item>cd</item><item>chdir</item><item>clone</item><item>command</item><item>comparguments</item><item>compcall</item><item>compctl</item><item>compdescribe</item><item>compfiles</item><item>compgroups</item><item>compquote</item><item>comptags</item><item>comptry</item><item>compvalues</item><item>coproc</item><item>dirs</item><item>disable</item><item>disown</item><item>echo</item><item>echotc</item><item>echoti</item><item>emulate</item><item>enable</item><item>eval</item><item>exec</item><item>exit</item><item>false</item><item>fc</item><item>fg</item><item>functions</item><item>getcap</item><item>hash</item><item>history</item><item>jobs</item><item>kill</item><item>limit</item><item>log</item><item>logout</item><item>nocorrect</item><item>noglob</item><item>popd</item><item>print</item><item>printf</item><item>pushd</item><item>pushln</item><item>pwd</item><item>r</item><item>rehash</item><item>sched</item><item>set</item><item>setcap</item><item>setopt</item><item>shift</item><item>source</item><item>stat</item><item>suspend</item><item>test</item><item>times</item><item>trap</item><item>true</item><item>ttyctl</item><item>type</item><item>ulimit</item><item>umask</item><item>unalias</item><item>unfunction</item><item>unhash</item><item>unlimit</item><item>unset</item><item>unsetopt</item><item>vared</item><item>wait</item><item>whence</item><item>where</item><item>which</item><item>zcompile</item><item>zformat</item><item>zftp</item><item>zle</item><item>zmodload</item><item>zparseopts</item><item>zprof</item><item>zpty</item><item>zregexparse</item><item>zsocket</item><item>zstyle</item><item>ztcp</item></list><list name="builtins_var"><item>declare</item><item>export</item><item>float</item><item>getln</item><item>getopts</item><item>integer</item><item>let</item><item>local</item><item>read</item><item>readonly</item><item>typeset</item><item>unset</item></list><list name="unixcommands"><include>unixcommands##Bash</include></list><contexts><context name="Start" attribute="Normal Text" fallthroughContext="Command"><DetectSpaces attribute="Normal Text"/><DetectChar char="#" attribute="Comment" context="Comment"/><StringDetect String="((" context="ExprDblParenOrSubShell" lookAhead="1"/><DetectChar char="(" attribute="Keyword" context="SubShell" beginRegion="subshell"/><DetectChar char="[" context="MaybeBracketExpression" lookAhead="1"/><DetectChar char="{" attribute="Keyword" context="Group" beginRegion="group"/><DetectChar char="`" attribute="Backquote" context="CommandBackq"/><StringDetect String="&amp;>" attribute="Redirection" context="Prefix&amp;>"/><StringDetect String="&amp;!" attribute="Control"/><StringDetect String="&amp;&amp;" attribute="Control"/><StringDetect String="||" attribute="Control"/><AnyChar String="&amp;|;" attribute="Control"/><RegExpr String="[A-Za-z_][A-Za-z0-9_]*(?=\+?=|\[(?:$|[^]]))|[0-9]+(?=\+?=)" attribute="Variable" context="VarAssign"/><keyword String="keywords" context="DispatchKeyword" lookAhead="1"/><keyword String="builtins_var" attribute="Builtin" context="VarName" lookAhead="1"/><WordDetect String="noglob" attribute="Builtin"/><WordDetect String="coproc" attribute="Builtin"/><RegExpr String="[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\=]*+[ &#9;]*\(\)" attribute="Function"/><keyword String="builtins" attribute="Builtin" context="CommandArgs"/><keyword String="unixcommands" attribute="Command" context="CommandArgs"/><AnyChar String="&lt;>0123456789" context="CommandMaybeRedirection" lookAhead="1"/><DetectChar char=")" attribute="Error"/><DetectChar char="}" context="MaybeGroupEnd" lookAhead="1"/><LineContinue attribute="Escape"/><StringDetect String="! " attribute="Expression"/></context><context name="FindWord" attribute="Normal Text"><IncludeRules context="FindStrings"/><DetectChar char="$" context="RegularVariable" lookAhead="1"/><DetectChar char="`" attribute="Backquote" context="RegularBackq"/><DetectChar char="\" context="AssumeEscape" lookAhead="1"/></context><context name="AssumeEscape" attribute="Normal Text" lineEndContext="#pop"><LineContinue attribute="Escape" context="#pop"/><RegExpr String="\\." attribute="Escape" context="#pop"/></context><context name="CommandArgs" attribute="Normal Text" fallthroughContext="CommandArg" lineEndContext="#pop"><DetectSpaces attribute="Normal Text"/><StringDetect String="&amp;>" attribute="Redirection" context="Prefix&amp;>"/><AnyChar String="&amp;|;`" context="#pop" lookAhead="1"/><StringDetect String="=(" attribute="Redirection" context="ProcessSubst"/><AnyChar String=">&lt;0123456789" context="CommandArgMaybeRedirection" lookAhead="1"/><DetectChar char=")" context="#pop" lookAhead="1"/></context><context name="FindExprDblParen" attribute="Normal Text"><StringDetect String="&amp;&amp;" attribute="Control"/><StringDetect String="||" attribute="Control"/><AnyChar String="+-!~*/%&lt;>=&amp;^|?:" attribute="Operator"/><DetectChar char="," attribute="Control"/><DetectChar char="(" attribute="Normal Text" context="ExprSubDblParen"/><AnyChar String="0123456789." context="Number" lookAhead="1"/><DetectChar char="[" attribute="Parameter Expansion Operator" context="Subscript"/><IncludeRules context="FindWord"/><DetectChar char="{" context="MaybeArithmeticBrace" lookAhead="1"/><StringDetect String="##" attribute="BaseN" context="NoPrefix"/><DetectChar char="#" attribute="Error"/><DetectIdentifier attribute="Variable"/></context><context name="WordRedirection" attribute="Normal Text" fallthroughContext="#pop!WordRedirection2" lineEndContext="#pop"><DetectSpaces attribute="Normal Text" context="#pop!WordRedirection2"/></context><context name="NormalOption" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String=" &#9;>|&amp;;)`" context="#pop" lookAhead="1"/><IncludeRules context="FindWord"/><DetectChar char="[" attribute="Glob" context="PathThenPop" lookAhead="1"/><DetectChar char="(" context="ExprGlobParenThenPath" lookAhead="1"/><IncludeRules context="FindPathThenPop"/><DetectChar char="{" context="NormalOptionMaybeBraceExpansion" lookAhead="1"/><DetectChar char="}" context="NormalOptionMaybeGroupEnd" lookAhead="1"/><IncludeRules context="FindNormalTextOption"/><DetectChar char="&lt;" context="MaybeGlobRangeOrPop" lookAhead="1"/></context><context name="Command" attribute="OtherCommand" lineEndContext="#pop"><DetectSpaces attribute="Normal Text" context="#pop!CommandArgs"/><DetectIdentifier attribute="OtherCommand"/><DetectChar char="$" context="CommandVariables" lookAhead="1"/><IncludeRules context="FindStrings"/><StringDetect String="&amp;&amp;" attribute="Control" context="#pop"/><StringDetect String="||" attribute="Control" context="#pop"/><DetectChar char="|" attribute="Control" context="#pop"/><AnyChar String=";)`" context="#pop" lookAhead="1"/><AnyChar String="&amp;&lt;>" context="#pop!CommandArgs" lookAhead="1"/><StringDetect String="((" attribute="Error" context="#pop!ExprDblParen" beginRegion="expression"/><DetectChar char="(" attribute="Error" context="#pop!SubShell" beginRegion="subshell"/><DetectChar char="\" context="CommandAssumeEscape" lookAhead="1"/><DetectChar char="{" context="CommandMaybeBraceExpansion" lookAhead="1"/><DetectChar char="}" context="CommandMaybeGroupEnd" lookAhead="1"/></context><context name="Comment" attribute="Comment" lineEndContext="#pop"><DetectSpaces attribute="Comment"/><IncludeRules context="##Comments"/><DetectIdentifier attribute="Comment"/></context><context name="PathThenPop" attribute="Path" lineEndContext="#pop#pop"><AnyChar String=" &#9;>|&amp;;)`" context="#pop#pop" lookAhead="1"/><IncludeRules context="IncPath"/><DetectChar char="}" context="PathMaybeGroupEnd" lookAhead="1"/><DetectIdentifier attribute="Path"/></context><context name="FindStrings" attribute="Normal Text" lineEndContext="#pop"><DetectChar char="'" attribute="String SingleQ" context="StringSQ"/><DetectChar char='"' attribute="String DoubleQ" context="StringDQ"/></context><context name="AfterVarName" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectChar char=":" context="VarNameDispatchModifiers" lookAhead="1"/><DetectChar char="[" attribute="Parameter Expansion Operator" context="Subscript"/></context><context name="Subscript" attribute="Normal Text" fallthroughContext="Subscript2"><DetectChar char="]" attribute="Parameter Expansion Operator" context="#pop"/><AnyChar String="0123456789-" attribute="Number"/></context><context name="CheckVarAlt" attribute="Normal Text" fallthroughContext="#pop!VarError"><DetectChar char="}" attribute="Parameter Expansion" context="#pop"/><StringDetect String="[@]" attribute="Parameter Expansion Operator"/><StringDetect String="[*]" attribute="Parameter Expansion Operator"/><DetectChar char="[" attribute="Parameter Expansion Operator" context="Subscript"/><StringDetect String="%%" attribute="Parameter Expansion Operator" context="#pop!AlternatePatternValue"/><StringDetect String="##" attribute="Parameter Expansion Operator" context="#pop!AlternatePatternValue"/><AnyChar String="#%" attribute="Parameter Expansion Operator" context="#pop!AlternatePatternValue"/><AnyChar String="-+=?" attribute="Parameter Expansion Operator" context="#pop!AlternateValue"/><DetectChar char=":" attribute="Parameter Expansion Operator" context="#pop!AlternateValuePrefix"/><StringDetect String="//" attribute="Parameter Expansion Operator" context="#pop!VarBraceSubst"/><DetectChar char="/" attribute="Parameter Expansion Operator" context="#pop!VarBraceSubst"/></context><context name="DispatchBraceExpansion" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="{(?:[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]++|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\$(?:\{[^\[\] &#9;&lt;>|&amp;;{}\\`'&#34;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\}|{(?:[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]++|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\$(?:\{[^\[\] &#9;&lt;>|&amp;;{}\\`'&#34;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})*?}|(?R)?+)*?,(?:[^ &#9;&lt;>|&amp;;{}\\`'&#34;$]++|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\$(?:\{[^\[\] &#9;&lt;>|&amp;;{}\\`'&#34;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\}|{(?:[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]++|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\$(?:\{[^\[\] &#9;&lt;>|&amp;;{}\\`'&#34;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})*?}|(?R)?+)*?}" context="#pop!BraceExpansion" lookAhead="1"/><IncludeRules context="IncBraceExpansion"/></context><context name="ExprDblBracket" attribute="Normal Text" fallthroughContext="#pop!ExprDblBracketNot"><DetectSpaces attribute="Normal Text"/><IncludeRules context="FindExprDblBracketEnd"/><DetectChar char="#" attribute="Comment" context="Comment"/></context><context name="FindGlobAny" attribute="Glob"><DetectChar char="[" attribute="Glob" context="GlobAnyFlag"/></context><context name="RegularBackq" attribute="Normal Text" fallthroughContext="Command"><DetectChar char="`" attribute="Backquote" context="#pop"/><DetectChar char="#" attribute="Comment" context="CommentBackq"/><IncludeRules context="Start"/></context><context name="AlternateValue" attribute="String DoubleQ"><DetectChar char="{" attribute="String DoubleQ" context="RecursiveAlternateValue"/><DetectChar char="}" attribute="Parameter Expansion" context="#pop"/><IncludeRules context="FindWord"/><IncludeRules context="FindPathThenPopInAlternateValue"/><DetectIdentifier attribute="String DoubleQ"/></context><context name="DispatchVariables" attribute="Variable" lineEndContext="#pop"><IncludeRules context="DispatchSubstVariables"/><IncludeRules context="DispatchStringVariables"/><IncludeRules context="DispatchVarNameVariables"/></context><context name="ExprBracketValue" attribute="Normal Text" lineEndContext="#pop"><AnyChar String=" &#9;" context="#pop" lookAhead="1"/><AnyChar String="&lt;>|&amp;;()" attribute="Error"/><IncludeRules context="FindWord"/><IncludeRules context="FindGlobAny"/><IncludeRules context="FindPathThenPop"/><DetectChar char="{" context="ExprBracketValueMaybeBraceExpansion" lookAhead="1"/><DetectChar char="}" context="NormalOptionMaybeGroupEnd" lookAhead="1"/><DetectIdentifier attribute="Normal Text"/></context><context name="ExprDblBracketValuePattern" attribute="Normal Text" fallthroughContext="#pop!ExprDblBracketValuePattern2" lineEndContext="#pop"><RegExpr String="/|(~|\.\.?)($|[/ &#9;&lt;>|&amp;;)])|([^[ &#9;&lt;>|&amp;;()'&#34;`\\/]++|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\[(?:[^ &#9;&lt;>|&amp;;()&#34;'`\\\[\]]+|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\[:\w+:\]|\[)*\]|&lt;[0-9]*-[0-9]*>|\(([^[()&lt;>'&#34;`\\/]++|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\[(?:[^ &#9;&lt;>|&amp;;()&#34;'`\\\[\]]+|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\[:\w+:\]|\[)*\]|&lt;[0-9]*-[0-9]*>)*+(\)|(?=/)))*+/|" context="ExprDblBracketValuePatternPath" lookAhead="1"/></context><context name="FindGlobRangeThenPop" attribute="Glob"><RegExpr String="&lt;(?=[0-9]*-[0-9]*>)" attribute="Glob" context="#pop!InGlobRange"/></context><context name="FindExprBracketEnd" attribute="Normal Text"><DetectChar char="\" context="AssumeEscape" lookAhead="1"/><RegExpr String="\](?=($|[ &#9;;|&amp;&lt;>)]))" attribute="Builtin" context="#pop" endRegion="expression"/></context><context name="FindExprDblBracketEnd" attribute="Normal Text"><DetectChar char="\" context="AssumeEscape" lookAhead="1"/><DetectChar char=")" context="#pop" lookAhead="1"/><StringDetect String="&amp;&amp;" attribute="Control" context="#pop!ExprDblBracket"/><StringDetect String="||" attribute="Control" context="#pop!ExprDblBracket"/><RegExpr String="\]\](?=($|[ &#9;;|&amp;)]))" attribute="Keyword" context="#pop" endRegion="expression"/></context><context name="NormalOptionMaybeGroupEnd" attribute="Normal Text" lineEndContext="#pop"><IncludeRules context="FindNoGroupEndThenPop"/><DetectChar char="}" context="#pop#pop#pop" lookAhead="1"/></context><context name="ProcessSubst" attribute="Normal Text" fallthroughContext="Command"><DetectChar char=")" attribute="Redirection" context="#pop"/><IncludeRules context="Start"/></context><context name="AlternatePatternValue" attribute="String DoubleQ"><DetectChar char="{" attribute="String DoubleQ" context="RecursiveAlternatePatternValue"/><DetectChar char="}" attribute="Parameter Expansion" context="#pop"/><IncludeRules context="FindWord"/><IncludeRules context="FindStringDQPattern"/><DetectIdentifier attribute="String DoubleQ"/></context><context name="CommandBackq" attribute="Normal Text" fallthroughContext="Command"><DetectChar char="`" attribute="Backquote" context="#pop!CommandArgs"/><DetectChar char="#" attribute="Comment" context="CommentBackq"/><IncludeRules context="Start"/></context><context name="FindGroupPattern" attribute="Glob Flag"><StringDetect String="(#" attribute="Glob Flag" context="GlobPatFlag"/><DetectChar char="(" attribute="Glob" context="ExtGlobPattern"/></context><context name="FindSingleGlob" attribute="Pattern"><AnyChar String="*?#^~" attribute="Glob"/></context><context name="FindSubPattern" attribute="Pattern"><IncludeRules context="FindGlobPattern"/><DetectChar char="&lt;" context="GlobRangeOrPattern" lookAhead="1"/></context><context name="GlobQualifier_Y" attribute="Number" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="0123456789" attribute="Number"/></context><context name="HereDocSubstitutions" attribute="Here Doc" lineEndContext="#pop"><DetectSpaces attribute="Here Doc"/><DetectIdentifier attribute="Here Doc"/><DetectChar char="$" context="HereDocVariables" lookAhead="1"/><DetectChar char="`" attribute="Backquote" context="CommandBackq"/><DetectChar char="\" context="AssumeEscape" lookAhead="1"/></context><context name="HereDocText" attribute="Here Doc" lineEndContext="#pop"/><context name="Hex" attribute="Hex" fallthroughContext="#pop" lineEndContext="#pop"><RegExpr String="[0-9a-fA-F_]+" attribute="Hex" context="#pop"/></context><context name="IncGlobQualifier_e" attribute="Normal Text"><IncludeRules context="FindStrings"/><DetectChar char="$" context="RegularVariable" lookAhead="1"/><DetectChar char="`" attribute="Backquote" context="RegularBackq"/></context><context name="NormalOptionMaybeBraceExpansion" attribute="Normal Text" lineEndContext="#pop"><IncludeRules context="DispatchBraceExpansion"/><DetectChar char="{" attribute="Normal Text" context="#pop!NormalOptionRecBrace"/></context><context name="PathThenPopInAlternateValue" attribute="Path" lineEndContext="#pop"><AnyChar String=" &#9;>|&amp;;)`}" context="#pop" lookAhead="1"/><IncludeRules context="IncPath"/><DetectIdentifier/></context><context name="RecursiveAlternateValue" attribute="String DoubleQ"><DetectChar char="{" attribute="String DoubleQ" context="RecursiveAlternateValue"/><DetectChar char="}" attribute="String DoubleQ" context="#pop"/><IncludeRules context="FindWord"/><IncludeRules context="FindPathThenPopInAlternateValue"/><DetectIdentifier attribute="String DoubleQ"/></context><context name="SubShell" attribute="Normal Text" fallthroughContext="Command"><DetectChar char=")" attribute="Keyword" context="#pop" endRegion="subshell"/><IncludeRules context="Start"/></context><context name="SubstCommand" attribute="Normal Text" fallthroughContext="Command"><DetectChar char=")" attribute="Parameter Expansion" context="#pop" endRegion="subshell"/><IncludeRules context="Start"/></context><context name="VarNameSubstLen" attribute="Variable" fallthroughContext="#pop!AfterVarName" lineEndContext="#pop"><DetectIdentifier attribute="Variable" context="#pop!AfterVarName"/><AnyChar String="-*@?$!" attribute="Variable" context="#pop!AfterVarName"/><Int attribute="Variable" context="#pop!AfterVarName" additionalDeliminator="#~=^+{}[]:-/$"/></context><context name="Assign" attribute="Normal Text" fallthroughContext="#pop!RegularAssign" lineEndContext="#pop"><DetectChar char="(" attribute="Variable" context="#pop!AssignArray"/></context><context name="CasePattern" attribute="Pattern"><WordDetect String="esac" attribute="Control Flow" context="#pop#pop" endRegion="case"/><IncludeRules context="CaseClosedPattern"/></context><context name="CommentBackq" attribute="Comment" lineEndContext="#pop"><DetectChar char="`" context="#pop" lookAhead="1"/><IncludeRules context="Comment"/></context><context name="DispatchSubstVariables" attribute="Variable" lineEndContext="#pop"><StringDetect String="${" attribute="Parameter Expansion" context="#pop!VarBraceStart"/><StringDetect String="$((" context="#pop!ExprDblParenSubstOrSubstCommand" lookAhead="1"/><StringDetect String="$(" attribute="Parameter Expansion" context="#pop!SubstCommand" beginRegion="subshell"/></context><context name="DispatchVarNameVariables" attribute="Variable" lineEndContext="#pop"><RegExpr String="\$(?=[A-Za-z_][A-Za-z0-9_]*|[0-9]+|[-*@?$!#~=^+])" attribute="Dollar Prefix" context="#pop!VarNamePrefixedWithDollar"/></context><context name="ExprBracketFinal" attribute="Normal Text" fallthroughContext="ExprBracketValue"><DetectSpaces attribute="Normal Text"/><IncludeRules context="FindExprBracketEnd"/><RegExpr String="-[ao](?=$|[ &#9;])" attribute="Expression" context="#pop!ExprBracket"/><RegExpr String="(?:[^] &#9;]++|\][^ &#9;])++" attribute="Error" context="#pop" endRegion="expression"/></context><context name="ExprDblBracketFinal" attribute="Normal Text" fallthroughContext="ExprDblBracketValuePattern"><DetectSpaces attribute="Normal Text"/><IncludeRules context="FindExprDblBracketEnd"/><DetectChar char="#" attribute="Comment" context="Comment"/><RegExpr String="(?:[^] &#9;]++|\](?:[^]]|\][^ &#9;]))++" attribute="Error" context="#pop" endRegion="expression"/></context><context name="ExprDblBracketParam3" attribute="Normal Text" fallthroughContext="#pop!ExprDblBracketParam3_2"><IncludeRules context="ExprDblBracketParam2"/></context><context name="ExprDblBracketValueText" attribute="Normal Text" fallthroughContext="#pop!ExprDblBracketValueText2" lineEndContext="#pop"><StringDetect String="]]" context="#pop!ExprDblBracketValueTextMaybeEnd" lookAhead="1"/><IncludeRules context="FindExprDblBracketValueTextPath"/></context><context name="ExprDblBracketValueText2" attribute="Normal Text" lineEndContext="#pop"><DetectIdentifier/><AnyChar String="*?+@~^:%+-/,"/><StringDetect String="&amp;&amp;" attribute="Control" context="#pop#pop!ExprDblBracket"/><StringDetect String="||" attribute="Control" context="#pop#pop!ExprDblBracket"/><AnyChar String=" &#9;)" context="#pop" lookAhead="1"/><IncludeRules context="FindWord"/><IncludeRules context="FindGroupPattern"/><AnyChar String="&amp;;|" attribute="Error"/><DetectChar char="&lt;" context="ExprDblBracketValueTextMaybeRange" lookAhead="1"/><DetectChar char=">" attribute="Expression" context="#pop!ExprDblBracketValuePattern"/></context><context name="FdRedirection" attribute="Normal Text" fallthroughContext="#pop!FdRedirection2" lineEndContext="#pop"><DetectSpaces attribute="Normal Text" context="#pop!FdRedirection2"/></context><context name="FindGlobPattern" attribute="Pattern"><AnyChar String="*?#^~|" attribute="Glob"/><IncludeRules context="FindGlobAny"/><IncludeRules context="FindGroupPattern"/></context><context name="FindPattern" attribute="Pattern"><IncludeRules context="FindGlobPattern"/><DetectChar char="&lt;" context="GlobRangeOrError" lookAhead="1"/></context><context name="FindRedirection" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="[0-9]++(?=[&lt;>])" attribute="File Descriptor" context="#pop!AssumeRedirection"/><IncludeRules context="AssumeRedirection"/></context><context name="GlobModifier_s_Pat" attribute="Pattern"><DetectChar char="/" attribute="Parameter Expansion Operator" context="#pop!GlobModifier_s_Rep"/><IncludeRules context="FindWord"/><IncludeRules context="FindSubPattern"/><DetectChar char=")" attribute="Error" context="#pop#pop"/><DetectIdentifier attribute="Pattern"/></context><context name="GlobQualifier" attribute="Glob Flag" lineEndContext="#pop"><AnyChar String="/F.@=p*%bcrwxAIERWXsStUG^-MTNDn" attribute="Glob Flag"/><AnyChar String="eP" attribute="Glob Flag" context="GlobQualifier_e"/><AnyChar String="ug" attribute="Glob Flag" context="GlobQualifier_u"/><AnyChar String="amc" attribute="Glob Flag" context="GlobQualifier_a"/><AnyChar String="oO" attribute="Glob Flag" context="GlobQualifier_o"/><DetectChar char="f" attribute="Glob Flag" context="GlobQualifier_f"/><DetectChar char="+" attribute="Glob Flag" context="GlobQualifier_+"/><DetectChar char="d" attribute="Glob Flag" context="GlobQualifier_d"/><DetectChar char="L" attribute="Glob Flag" context="GlobQualifier_L"/><DetectChar char="Y" attribute="Glob Flag" context="GlobQualifier_Y"/><DetectChar char="[" attribute="Parameter Expansion Operator" context="Subscript"/><DetectChar char="," attribute="Operator"/><DetectChar char=":" attribute="Parameter Expansion Operator" context="#pop!GlobModifier"/><DetectChar char=")" attribute="Glob Flag" context="#pop"/><IncludeRules context="FindWord"/></context><context name="IncPath" attribute="Path" lineEndContext="#pop#pop"><IncludeRules context="FindWord"/><IncludeRules context="FindSingleGlob"/><IncludeRules context="FindGlobAny"/><DetectChar char="(" context="ExprGlobParen" lookAhead="1"/><RegExpr String="(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]*+(?:\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})?+)*+" attribute="Path"/><DetectChar char="&lt;" context="MaybeGlobRangeOrPop" lookAhead="1"/><DetectChar char="{" context="PathMaybeBraceExpansion" lookAhead="1"/></context><context name="MaybeGlobRangeOrPop" attribute="Glob" fallthroughContext="#pop#pop"><IncludeRules context="FindGlobRangeThenPop"/></context><context name="NotCond" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectSpaces attribute="Normal Text" context="#pop!NotCond2"/></context><context name="RegexInChar" attribute="Pattern" lineEndContext="#pop"><StringDetect String="-]" context="RegexInCharEnd" lookAhead="1"/><DetectChar char="-" attribute="Operator"/><DetectChar char="\" attribute="Escape" context="RegexEscape"/><DetectChar char="[" context="RegexCharClassSelect" lookAhead="1"/><DetectChar char="]" attribute="Operator" context="#pop"/><AnyChar String="() &#9;" context="#pop" lookAhead="1"/><IncludeRules context="FindStrings"/></context><context name="VarBraceSubst" attribute="Normal Text" fallthroughContext="#pop!VarBraceSubstPat"><StringDetect String="#%" attribute="Parameter Expansion Operator" context="#pop!VarBraceSubstPat"/><AnyChar String="#%" attribute="Parameter Expansion Operator" context="#pop!VarBraceSubstPat"/></context><context name="VarBraceSubstPat" attribute="Pattern"><DetectChar char="/" attribute="Parameter Expansion Operator" context="#pop!AlternateValue"/><DetectChar char="{" attribute="String DoubleQ" context="RecursiveAlternateValue"/><DetectChar char="}" attribute="Parameter Expansion" context="#pop"/><IncludeRules context="FindWord"/><IncludeRules context="FindSubPattern"/><DetectIdentifier attribute="Pattern"/></context><context name="VarFlagsVar" attribute="Variable" fallthroughContext="#pop!CheckVarAlt"><DetectChar char="$" context="VarBraceStartRecursive" lookAhead="1"/><DetectChar char="}" attribute="Parameter Expansion" context="#pop"/><DetectChar char='"' attribute="String DoubleQ" context="StringDQ"/><AnyChar String="#+^=~" attribute="Parameter Expansion Operator"/><DetectIdentifier attribute="Variable" context="#pop!CheckVarAlt"/><AnyChar String="*@?$-" attribute="Variable" context="#pop!CheckVarAlt"/><Int attribute="Variable" context="#pop!CheckVarAlt" additionalDeliminator="#~=^+{}[]:-/$"/><StringDetect String="!}" context="#pop!VarSubShell" lookAhead="1"/><DetectChar char="!" attribute="Parameter Expansion Operator" context="#pop!AlternateValue"/></context><context name="WordRedirection2" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String=" &#9;&lt;>|&amp;;()`" context="#pop" lookAhead="1"/><IncludeRules context="FindWord"/><RegExpr String="(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]*+(?:\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})?+)*+" attribute="Path" context="PathThenPop"/></context><context name="AssignArray" attribute="Normal Text" fallthroughContext="NormalOption"><DetectSpaces attribute="Normal Text"/><DetectChar char="#" attribute="Comment" context="Comment"/><DetectChar char=")" attribute="Variable" context="#pop"/><DetectChar char="[" context="AssignArrayKey" lookAhead="1"/><DetectChar char="`" attribute="Backquote" context="AssignArrayBackq"/><AnyChar String="&lt;>|&amp;;()" attribute="Error"/></context><context name="AssumeRedirection" attribute="Normal Text" lineEndContext="#pop"><StringDetect String=">>|" attribute="Redirection" context="#pop!WordRedirection"/><StringDetect String=">>!" attribute="Redirection" context="#pop!WordRedirection"/><StringDetect String=">>&amp;|" attribute="Redirection" context="#pop!WordRedirection"/><StringDetect String=">>&amp;!" attribute="Redirection" context="#pop!WordRedirection"/><StringDetect String=">>(" attribute="Redirection" context="#pop!ProcessSubst"/><StringDetect String=">>" attribute="Redirection" context="#pop!WordRedirection"/><StringDetect String=">|" attribute="Redirection" context="#pop!WordRedirection"/><StringDetect String=">!" attribute="Redirection" context="#pop!WordRedirection"/><StringDetect String=">&amp;|" attribute="Redirection" context="#pop!WordRedirection"/><StringDetect String=">&amp;!" attribute="Redirection" context="#pop!WordRedirection"/><StringDetect String=">&amp;" attribute="Redirection" context="#pop!FdRedirection"/><StringDetect String=">(" attribute="Redirection" context="#pop!ProcessSubst"/><DetectChar char=">" attribute="Redirection" context="#pop!WordRedirection"/><StringDetect String="&lt;(" attribute="Redirection" context="#pop!ProcessSubst"/><StringDetect String="&lt;&lt;(" attribute="Redirection" context="#pop!ProcessSubst"/><StringDetect String="&lt;&lt;&lt;" attribute="Redirection" context="#pop!StringRedirection"/><StringDetect String="&lt;&lt;" context="#pop!HereDoc" lookAhead="1"/><StringDetect String="&lt;&amp;" attribute="Redirection" context="#pop!FdRedirection"/><StringDetect String="&lt;>" attribute="Redirection" context="#pop!WordRedirection"/><IncludeRules context="FindGlobRangeThenPop"/><DetectChar char="&lt;" attribute="Redirection" context="#pop!WordRedirection"/></context><context name="BraceExpansion2" attribute="Escape" lineEndContext="#pop"><DetectChar char="," attribute="Operator"/><DetectChar char="}" attribute="Escape" context="#pop"/><DetectChar char="{" context="EscapeMaybeBraceExpansion" lookAhead="1"/><DetectChar char="\" context="AssumeEscape" lookAhead="1"/><DetectChar char="`" attribute="Backquote" context="CommandBackq"/><DetectChar char="$" context="BraceExpansionVariables" lookAhead="1"/><IncludeRules context="FindStrings"/><IncludeRules context="FindPattern"/><DetectIdentifier attribute="Escape"/></context><context name="BuiltinLetArg" attribute="Normal Text" fallthroughContext="#pop!BuiltinLetExpr" lineEndContext="#pop#pop"><DetectChar char="#" context="#pop#pop" lookAhead="1"/><DetectChar char="=" attribute="Keyword" context="#pop!NormalOption"/></context><context name="CaseClosedPattern" attribute="Pattern"><DetectSpaces attribute="Normal Text"/><DetectChar char=")" attribute="Keyword" context="#pop!CaseExpr" beginRegion="caseexpr"/><DetectChar char="\" context="AssumeEscape" lookAhead="1"/><DetectChar char="|" attribute="Keyword"/><IncludeRules context="FindWord"/><IncludeRules context="FindPattern"/><DetectIdentifier attribute="Pattern"/></context><context name="CommandArg" attribute="Normal Text" fallthroughContext="#pop!NormalOption" lineEndContext="#pop#pop"><DetectChar char="#" context="#pop#pop" lookAhead="1"/><StringDetect String="--" attribute="Option" context="#pop!LongOption"/><DetectChar char="-" attribute="Option" context="#pop!ShortOption"/><DetectChar char="=" attribute="Keyword" context="#pop!NormalOption"/></context><context name="ExprBracket" attribute="Normal Text" fallthroughContext="#pop!ExprBracketNot"><DetectSpaces attribute="Normal Text"/><IncludeRules context="FindExprBracketEnd"/></context><context name="ExprBracketParam1" attribute="Normal Text" fallthroughContext="ExprBracketValue"><DetectSpaces attribute="Normal Text" context="#pop!ExprBracketParam2"/><DetectChar char="-" context="TestMaybeUnary" lookAhead="1"/><IncludeRules context="FindExprBracketEnd"/></context><context name="ExprBracketParam2" attribute="Normal Text" fallthroughContext="#pop!ExprBracketParam2_Value"><LineContinue attribute="Escape" context="SkipSpaces"/></context><context name="ExprBracketTestMaybeNot" attribute="Normal Text" lineEndContext="#pop"><DetectChar char="!" attribute="Expression" context="#pop"/></context><context name="ExprBracketValueMaybeBraceExpansion" attribute="Normal Text" lineEndContext="#pop"><IncludeRules context="DispatchBraceExpansion"/><DetectChar char="{" attribute="Normal Text" context="#pop!ExprBracketValueRecBrace"/></context><context name="ExprDblBracketNot" attribute="Normal Text" fallthroughContext="#pop!ExprDblBracketParam1"><DetectChar char="!" context="ExprDblBracketTestMaybeNot" lookAhead="1"/><DetectSpaces attribute="Normal Text"/><DetectChar char="#" attribute="Comment" context="Comment"/></context><context name="ExprDblBracketParam1" attribute="Normal Text" fallthroughContext="#pop!ExprDblBracketParam1_2"><DetectSpaces attribute="Normal Text"/></context><context name="ExprDblBracketParam2" attribute="Normal Text" fallthroughContext="#pop!ExprDblBracketParam2_2"><DetectSpaces attribute="Normal Text"/><DetectChar char="#" attribute="Comment" context="Comment"/><LineContinue attribute="Escape"/></context><context name="ExprDblParen" attribute="Normal Text"><DetectSpaces attribute="Normal Text"/><StringDetect String="))" attribute="Keyword" context="#pop" endRegion="expression"/><IncludeRules context="FindExprDblParen"/><DetectChar char=")" attribute="Keyword" context="#pop!SubShell" beginRegion="subshell" endRegion="expression"/></context><context name="ExprDblParenSubstOrSubstCommand" attribute="Normal Text"><RegExpr String="\$\((?=\(((?:[^`'&#34;()$]++|\$\{[^`'&#34;(){}$]+\}|\$(?=[^{`'&#34;()])|`[^`]*+`|\((?1)(?:[)]|(?=['&#34;])))++)(?:[)](?=$|[^)])|[&#34;']))|" attribute="Parameter Expansion" context="#pop!SubstCommand" beginRegion="subshell"/><StringDetect String="$((" attribute="Parameter Expansion" context="#pop!ExprDblParenSubst" beginRegion="expression"/></context><context name="ExprGlobParen" attribute="Glob Flag" fallthroughContext="#pop" lineEndContext="#pop"><StringDetect String="(#" attribute="Glob Flag" context="#pop!GlobPatFlag"/><RegExpr String="\((?=(?:[^ &#9;\\'&#34;|()`ugeP]*+(?:[ug][0123456789]+|[ugeP](?::(?:[^:'`&#34;\\|()]*+(?:\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`))?)*(?::|(?=[|()]))|\[(?:[^]'`&#34;\\|()]*+(?:\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`))?)*(?:\](?=[|()]))|{(?:[^}'`&#34;\\|()]*+(?:\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`))?)*(?:}(?=[|()]))|&lt;(?:[^>'`&#34;\\|()]*+(?:\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`))?)*(?:>|(?=[|()]))|([^ &#9;&lt;>|&amp;;(){}'&#34;`\\])(?:(?:(?!\1)[^'`&#34;\\\1|()])*+(?:\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`))?)*(?:\1|(?=[|()]))|(?=\|))|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`))?)*(?:\)(?:[^ &#9;}&lt;>|&amp;;)]|(?:}+(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]|(?=[}$'&#34;`\\]))))|[ &#9;|(]|$))" attribute="Glob" context="#pop!ExtGlobPattern"/><DetectChar char="(" attribute="Glob Flag" context="#pop!GlobQualifier"/></context><context name="ExtGlobPattern" attribute="Pattern"><DetectChar char=")" attribute="Glob" context="#pop"/><IncludeRules context="FindWord"/><IncludeRules context="FindSubPattern"/><DetectIdentifier attribute="Pattern"/></context><context name="FdRedirection2" attribute="Normal Text" fallthroughContext="#pop!WordRedirection2" lineEndContext="#pop"><RegExpr String="[0-9]+(?=-?(?=$|[ &#9;&lt;>|&amp;;)]))" attribute="File Descriptor" context="#pop!CloseFile"/></context><context name="FindExprDblBracketValueTextPath" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="/|(~|\.\.?)($|[/ &#9;&lt;>|&amp;;)])|([^[ &#9;&lt;>|&amp;;()'&#34;`\\/]++|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\[(?:[^ &#9;&lt;>|&amp;;()&#34;'`\\\[\]]+|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\[:\w+:\]|\[)*\]|&lt;[0-9]*-[0-9]*>|\(([^[()&lt;>'&#34;`\\/]++|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\[(?:[^ &#9;&lt;>|&amp;;()&#34;'`\\\[\]]+|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\[:\w+:\]|\[)*\]|&lt;[0-9]*-[0-9]*>)*+(\)|(?=/)))*+/|" context="#pop!ExprDblBracketValueTextPath" lookAhead="1"/></context><context name="FindNoGroupEndThenPop" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="(?:}+(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]|(?=[}$'&#34;`\\])))" context="#pop"/></context><context name="FindPathThenPop" attribute="Normal Text" lineEndContext="#pop"><AnyChar String="?*#^" attribute="Glob" context="PathThenPop"/><RegExpr String="(?:~(?:/(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]*+(?:\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})?+)*+|(?=[ &#9;&lt;>|&amp;;()]|$))|(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\/]*+(?:\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})?+)*+(?:/(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]*+(?:\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})?+)*+|(?=[*?#^~([]|&lt;[0-9]*-[0-9]*>)|(?=\\.(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\/]*+(?:\\.|\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})?+)*+/(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]*+(?:\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})?+)*+|(?=[*?#^~([]|&lt;[0-9]*-[0-9]*>)))|\.\.?(?=[ &#9;&lt;>|&amp;;()]|$))" attribute="Path" context="PathThenPop"/><DetectChar char="~" attribute="Glob" context="PathThenPop"/></context><context name="FindPathThenPopInAlternateValue" attribute="Normal Text" lineEndContext="#pop"><AnyChar String="*?#^~|" attribute="Glob" context="PathThenPopInAlternateValue"/><StringDetect String="(#" context="PathThenPopInAlternateValue" lookAhead="1"/><AnyChar String="[(" context="PathThenPopInAlternateValue" lookAhead="1"/><RegExpr String="(?:~(?:/(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]*+(?:\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})?+)*+|(?=[ &#9;&lt;>|&amp;;()]|$))|(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\/]*+(?:\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})?+)*+(?:/(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]*+(?:\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})?+)*+|(?=[*?#^~([]|&lt;[0-9]*-[0-9]*>)|(?=\\.(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\/]*+(?:\\.|\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})?+)*+/(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]*+(?:\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})?+)*+|(?=[*?#^~([]|&lt;[0-9]*-[0-9]*>)))|\.\.?(?=[ &#9;&lt;>|&amp;;()]|$))" attribute="Path" context="PathThenPopInAlternateValue"/></context><context name="FindRegex" attribute="Pattern"><DetectChar char="(" attribute="Operator" context="ExprDblBracketSubRegex"/><DetectChar char="\" attribute="Escape" context="RegexEscape"/><DetectChar char="{" attribute="Parameter Expansion" context="RegexDup"/><AnyChar String="^?+*.|" attribute="Glob"/><IncludeRules context="FindStrings"/><DetectChar char="$" context="RegexDispatchVariables" lookAhead="1"/><DetectChar char="`" attribute="Backquote" context="RegularBackq"/></context><context name="FindStringDQPattern" attribute="Pattern"><IncludeRules context="FindGlobPattern"/><DetectChar char="&lt;" context="GlobRangeOrStringDQ" lookAhead="1"/></context><context name="ForeachWord" attribute="Normal Text" fallthroughContext="NormalOption"><DetectSpaces attribute="Normal Text"/><DetectChar char=";" attribute="Control"/><DetectChar char=")" attribute="Keyword" context="#pop"/><DetectChar char="`" attribute="Backquote" context="CommandBackq"/><AnyChar String="&lt;>|&amp;;()" attribute="Control"/></context><context name="FunctionNameMaybeBraceExpansion" attribute="Function" lineEndContext="#pop"><IncludeRules context="DispatchBraceExpansion"/><DetectChar char="{" attribute="Function" context="#pop!FunctionNameRecBrace" beginRegion="group"/></context><context name="GlobAny" attribute="String SingleQ" lineEndContext="#pop"><DetectIdentifier attribute="String SingleQ"/><DetectChar char="\" context="AssumeEscape" lookAhead="1"/><DetectChar char="-" attribute="Glob Flag"/><IncludeRules context="FindStrings"/><DetectChar char="]" attribute="Glob" context="#pop"/><StringDetect String="[:" attribute="Glob" context="GlobClass"/></context><context name="GlobModifier_s" attribute="Parameter Expansion" fallthroughContext="#pop"><DetectChar char=")" attribute="Error" context="#pop#pop"/><DetectChar char="/" attribute="Parameter Expansion Operator" context="#pop!GlobModifier_s_PatPrefix"/></context><context name="GlobModifier_s_RecursiveRep" attribute="String DoubleQ"><DetectChar char=")" attribute="String DoubleQ" context="#pop"/><DetectChar char="(" attribute="String DoubleQ" context="GlobModifier_s_RecursiveRep"/><IncludeRules context="FindWord"/><DetectIdentifier attribute="String DoubleQ"/></context><context name="GlobPatFlag" attribute="Glob Flag" fallthroughContext="#pop" lineEndContext="#pop"><IncludeRules context="IncGlobPatFlag"/><DetectChar char=")" attribute="Glob Flag" context="#pop"/></context><context name="GlobQualifier_e" attribute="Glob Flag" fallthroughContext="#pop" lineEndContext="#pop"><DetectChar char="[" attribute="Glob Flag" context="#pop!GlobQualifier_e["/><DetectChar char="&lt;" attribute="Glob Flag" context="#pop!GlobQualifier_e&lt;"/><DetectChar char="{" attribute="Glob Flag" context="#pop!GlobQualifier_e{"/><RegExpr String="(.)" attribute="Glob Flag" context="#pop!GlobQualifier_ex"/></context><context name="GlobQualifier_fo" attribute="Number" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="0123456789" attribute="Number"/><DetectChar char="?" attribute="Glob"/></context><context name="Group" attribute="Normal Text" fallthroughContext="Command"><DetectChar char="}" attribute="Keyword" context="#pop!GroupEnd" endRegion="group"/><IncludeRules context="Start"/></context><context name="HereDocCmd" attribute="Here Doc"><StringDetect String="%1" attribute="Redirection" context="ZshOneLine" dynamic="1" firstNonSpace="1"/><StringDetect String="%1" attribute="Redirection" context="HereDocRemainder" dynamic="1"/></context><context name="HereDocIQ" attribute="Here Doc" fallthroughContext="HereDocText"><RegExpr String="^\t*%1$" attribute="Redirection" context="#pop#pop" column="0" dynamic="1"/></context><context name="HereDocIQCmd" attribute="Here Doc" fallthroughContext="HereDocText"><IncludeRules context="HereDocCmd"/><RegExpr String="^\t*%2$" attribute="Redirection" context="#pop#pop" column="0" dynamic="1"/></context><context name="HereDocQ" attribute="Here Doc" fallthroughContext="HereDocText"><RegExpr String="^%1$" attribute="Redirection" context="#pop#pop" column="0" dynamic="1"/></context><context name="HereDocQCmd" attribute="Here Doc" fallthroughContext="HereDocText"><IncludeRules context="HereDocCmd"/><RegExpr String="^%2$" attribute="Redirection" context="#pop#pop" column="0" dynamic="1"/></context><context name="IncBraceExpansion" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="{(?=-?([0-9]+|[a-zA-Z!#$%*+,-./:=?@^_~]|\$([#+^=~]*([_a-zA-Z0-9]+|[*@#])(\[((\$[#+^=~]*)?([-+_a-zA-Z0-9]+|[*@])|$#)\])?|#|'(\\.|[^'\\])')|\\.|'[^'\\]'|&#34;(\\.|[^&#34;\\`])&#34;|`[^`]*`)\.\.-?([0-9]+|[a-zA-Z!#$%*+,-./:=?@^_~]|\$([#+^=~]*([_a-zA-Z0-9]+|[*@#])(\[((\$[#+^=~]*)?([-+_a-zA-Z0-9]+|[*@])|$#)\])?|#|'(\\.|[^'\\])')|\\.|'[^'\\]'|&#34;(\\.|[^&#34;\\`])&#34;|`[^`]*`)(\.\.-?([0-9]+|\$([#+^=~]*([_a-zA-Z0-9]+|[*@#])(\[((\$[#+^=~]*)?([-+_a-zA-Z0-9]+|[*@])|$#)\])?|#|'(\\.|[^'\\])')))?})" attribute="Escape" context="#pop!SequenceExpression"/><RegExpr String="(?:{([^ &#9;&lt;>|&amp;;{}\\`'&#34;$/{},]++|(?R))+?})+" context="#pop"/></context><context name="IncGlobPatFlag" attribute="Glob Flag" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="ilIbBcmMaseuU," attribute="Glob Flag"/><AnyChar String="0123456789" attribute="Number"/><DetectChar char="q" attribute="Glob Flag" context="#pop!GlobQualifier"/></context><context name="LongOption" attribute="Option" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String=" &#9;>|&amp;;)`" context="#pop" lookAhead="1"/><DetectChar char="=" attribute="Operator" context="#pop!NormalOption"/><IncludeRules context="FindWord"/><IncludeRules context="FindSingleGlob"/><IncludeRules context="FindGlobAny"/><AnyChar String="({}&lt;" context="#pop!NormalOption" lookAhead="1"/><RegExpr String="(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\=/]*+(?:\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})?+)*+" attribute="Option"/></context><context name="NoPrefix" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectChar char="\" context="AssumeEscape"/><RegExpr String="[^][()]" attribute="Number" context="#pop"/></context><context name="Number" attribute="Number" lineEndContext="#pop"><StringDetect String="0x" attribute="Hex" context="#pop!Hex"/><StringDetect String="0X" attribute="Hex" context="#pop!Hex"/><RegExpr String="[1-9][0-9_]*+#" attribute="Base" context="#pop!BaseN"/><RegExpr String="(?:[0-9]++[_0-9]*+)(\.((?:[0-9]++[_0-9]*+)(?:[eE][-+]?(?:[0-9]++[_0-9]*+))?+|(?:[eE][-+]?(?:[0-9]++[_0-9]*+)))?|(?:[eE][-+]?(?:[0-9]++[_0-9]*+)))?|\.(?:[0-9]++[_0-9]*+)(?:[eE][-+]?(?:[0-9]++[_0-9]*+))?" attribute="Number" context="#pop"/><DetectChar char="." attribute="Operator" context="#pop"/></context><context name="PathMaybeBraceExpansion" attribute="Path" lineEndContext="#pop"><IncludeRules context="DispatchPathBraceExpansion"/><DetectChar char="{" attribute="Path" context="#pop!PathRecBrace"/></context><context name="Prefix&amp;>" attribute="Normal Text" fallthroughContext="#pop!FdRedirection" lineEndContext="#pop"><StringDetect String=">|" attribute="Redirection" context="#pop!WordRedirection"/><StringDetect String=">!" attribute="Redirection" context="#pop!WordRedirection"/><AnyChar String=">|!" attribute="Redirection" context="#pop!WordRedirection"/></context><context name="RecursiveVarBraceModifier_s" attribute="String SingleQ"><DetectChar char="\" context="AssumeEscape" lookAhead="1"/><DetectChar char="}" attribute="String SingleQ" context="#pop"/></context><context name="RegexChar" attribute="Pattern" fallthroughContext="#pop!RegexInChar" lineEndContext="#pop"><AnyChar String="-]" attribute="Pattern" context="#pop!RegexInChar"/></context><context name="RegexEscape" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="x[0-9a-fA-F]{1,2}|[0-7]{1,3}|." attribute="Escape" context="#pop"/></context><context name="RegexSubChar" attribute="Pattern" fallthroughContext="#pop!RegexSubInChar" lineEndContext="#pop"><AnyChar String="-]" attribute="Pattern" context="#pop!RegexSubInChar"/></context><context name="RegexSubInChar" attribute="Pattern" lineEndContext="#pop"><DetectSpaces attribute="Pattern"/><IncludeRules context="RegexInChar"/></context><context name="RegularVariable" attribute="Normal Text" lineEndContext="#pop"><IncludeRules context="DispatchVariables"/><DetectChar char="$" attribute="Normal Text" context="#pop"/></context><context name="ShortOption" attribute="Option" fallthroughContext="#pop" lineEndContext="#pop"><DetectChar char="/" attribute="Path" context="PathThenPop"/><IncludeRules context="LongOption"/></context><context name="SkipSpaces" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectSpaces context="#pop"/></context><context name="StringDQ" attribute="String DoubleQ"><DetectSpaces attribute="String DoubleQ"/><DetectIdentifier attribute="String DoubleQ"/><DetectChar char='"' attribute="String DoubleQ" context="#pop"/><DetectChar char="\" context="StringDQEscape" lookAhead="1"/><DetectChar char="$" context="StringDQDispatchVariables" lookAhead="1"/><DetectChar char="`" attribute="Backquote" context="RegularBackq"/></context><context name="StringRedirection2" attribute="Normal Text" lineEndContext="#pop"><AnyChar String=" &#9;&lt;>|&amp;;()`" context="#pop" lookAhead="1"/><IncludeRules context="FindWord"/><DetectIdentifier attribute="Normal Text"/></context><context name="TestMaybeBinary" attribute="Normal Text" fallthroughContext="#pop!ExprBracketValue" lineEndContext="#pop"><RegExpr String="(?:-(?:e[fq]|[nolg]t|[nlg]e)|==?|!=)(?=\\?$|[ &#9;])" attribute="Expression" context="#pop"/></context><context name="VarBraceModifier_h" attribute="Parameter Expansion" fallthroughContext="#pop"><AnyChar String="0123456789" attribute="Number"/></context><context name="VarBraceModifier_s" attribute="Parameter Expansion"><DetectChar char="}" attribute="Error" context="#pop#pop"/><DetectChar char="/" attribute="Parameter Expansion Operator" context="#pop!VarBraceModifier_s_Str"/><DetectChar char="\" context="AssumeEscape" lookAhead="1"/></context><context name="VarBraceStart" attribute="Variable" fallthroughContext="#pop!CheckVarAlt" lineEndContext="#pop"><DetectChar char="(" attribute="Parameter Expansion" context="#pop!VarFlags"/><IncludeRules context="VarFlagsVar"/></context><context name="VarFlag_ps(" attribute="String SingleQ"><DetectChar char=")" attribute="Parameter Expansion Operator" context="#pop"/><RegExpr String="\$([A-Za-z_][A-Za-z0-9_]*|[0-9]+)(?=\))" attribute="Variable"/></context><context name="VarFlag_ps&lt;" attribute="String SingleQ"><DetectChar char=">" attribute="Parameter Expansion Operator" context="#pop"/><RegExpr String="\$([A-Za-z_][A-Za-z0-9_]*|[0-9]+)(?=>)" attribute="Variable"/></context><context name="VarFlag_ps[" attribute="String SingleQ"><DetectChar char="]" attribute="Parameter Expansion Operator" context="#pop"/><RegExpr String="\$([A-Za-z_][A-Za-z0-9_]*|[0-9]+)(?=\])" attribute="Variable"/></context><context name="VarFlag_psx" attribute="String SingleQ"><DetectChar char="1" attribute="Parameter Expansion Operator" context="#pop" dynamic="1"/><RegExpr String="\$(?!%1)(?:[A-Za-z_](?:(?!%1)[A-Za-z0-9_])*+|(?:(?!%1)[0-9])++)(?=%1)" attribute="Variable" dynamic="1"/><RegExpr String="[^%1]+" attribute="String SingleQ" dynamic="1"/></context><context name="VarFlag_ps{" attribute="String SingleQ"><DetectChar char="}" attribute="Parameter Expansion Operator" context="#pop"/><RegExpr String="\$([A-Za-z_][A-Za-z0-9_]*|[0-9]+)(?=})" attribute="Variable"/></context><context name="VarFlag_s" attribute="Parameter Expansion"><DetectChar char="[" attribute="Parameter Expansion Operator" context="#pop!VarFlag_s["/><DetectChar char="&lt;" attribute="Parameter Expansion Operator" context="#pop!VarFlag_s&lt;"/><DetectChar char="{" attribute="Parameter Expansion Operator" context="#pop!VarFlag_s{"/><DetectChar char="(" attribute="Parameter Expansion Operator" context="#pop!VarFlag_s("/><RegExpr String="(.)" attribute="Parameter Expansion Operator" context="#pop!VarFlag_sx"/></context><context name="VarNameArg2" attribute="Normal Text" fallthroughContext="#pop!NormalOption" lineEndContext="#pop"><DetectChar char="[" attribute="Variable" context="Subscript"/><DetectChar char="=" attribute="Operator" context="Assign"/><DetectChar char="(" attribute="Variable" context="AssignArray"/><DetectIdentifier attribute="Variable"/></context><context name="VarNameArgs" attribute="Normal Text" fallthroughContext="#pop!CommandArgs" lineEndContext="#pop"><DetectSpaces attribute="Normal Text" context="VarNameArg"/><LineContinue attribute="Escape"/></context><context name="VarNameModifier_h" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop#pop"><AnyChar String="0123456789" attribute="Number"/></context><context name="VarNameModifier_s" attribute="Parameter Expansion Operator" fallthroughContext="#pop#pop" lineEndContext="#pop#pop"><DetectChar char="/" attribute="Parameter Expansion Operator" context="#pop!VarNameModifier_s_Str"/></context><context name="VarNameParam+" attribute="Variable" fallthroughContext="#pop" lineEndContext="#pop"><IncludeRules context="VarNameSubstLen"/></context><context name="ZshOneLine" attribute="Normal Text" fallthroughContext="Command" lineEndContext="#pop"><IncludeRules context="Start"/></context><context name="AlternateValuePrefix" attribute="Parameter Expansion" fallthroughContext="#pop!VarSub"><StringDetect String="^^" attribute="Parameter Expansion Operator" context="#pop!AlternateValue"/><DetectChar char="#" attribute="Parameter Expansion Operator" context="#pop!AlternatePatternValue"/><AnyChar String="-+=?|*^" attribute="Parameter Expansion Operator" context="#pop!AlternateValue"/><StringDetect String=":=" attribute="Parameter Expansion Operator" context="#pop!AlternateValue"/><DetectChar char="/" attribute="Parameter Expansion Operator" context="#pop!VarBraceSubst"/><AnyChar String="aAcehlpPqQrsg&amp;tux" attribute="Parameter Expansion" context="#pop!VarBraceModifiers" lookAhead="1"/></context><context name="AssignArrayBackq" attribute="Normal Text" fallthroughContext="Command"><DetectChar char="`" attribute="Backquote" context="#pop!NormalOption"/><DetectChar char="#" attribute="Comment" context="CommentBackq"/><IncludeRules context="Start"/></context><context name="AssignArrayKey" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectChar char="[" attribute="Parameter Expansion Operator" context="Subscript"/><DetectChar char="=" attribute="Variable" context="#pop"/></context><context name="BaseN" attribute="BaseN" fallthroughContext="#pop" lineEndContext="#pop"><RegExpr String="[0-9a-zA-Z@_]+" attribute="BaseN" context="#pop"/></context><context name="BraceExpansion" attribute="Escape" lineEndContext="#pop"><DetectChar char="{" attribute="Escape" context="#pop!BraceExpansion2"/></context><context name="BraceExpansionVariables" attribute="Escape" lineEndContext="#pop"><IncludeRules context="DispatchVariables"/><DetectChar char="$" attribute="Escape" context="#pop"/></context><context name="BuiltinGetopts" attribute="Normal Text" fallthroughContext="#pop!CommandArgs" lineEndContext="#pop"><DetectSpaces attribute="Normal Text" context="#pop!BuiltinGetoptsOpt"/><LineContinue attribute="Escape"/></context><context name="BuiltinGetoptsOpt" attribute="Normal Text" fallthroughContext="#pop!BuiltinGetoptsOpt2" lineEndContext="#pop#pop"><DetectChar char="#" context="#pop#pop" lookAhead="1"/><DetectChar char="=" attribute="Keyword" context="#pop!NormalOption"/></context><context name="BuiltinGetoptsOpt2" attribute="Normal Text" fallthroughContext="#pop!NormalOption" lineEndContext="#pop"><DetectChar char=":" attribute="Operator"/><DetectIdentifier attribute="Normal Text"/><DetectSpaces attribute="Normal Text" context="#pop!BuiltinGetoptsVar"/><AnyChar String=" &#9;>|&amp;;)`" context="#pop" lookAhead="1"/><IncludeRules context="FindWord"/><DetectChar char="{" context="NormalOptionMaybeBraceExpansion" lookAhead="1"/><DetectChar char="}" context="NormalOptionMaybeGroupEnd" lookAhead="1"/><AnyChar String="/%.0123456789" attribute="Normal Text"/></context><context name="BuiltinGetoptsVar" attribute="Normal Text" fallthroughContext="#pop!CommandArgs" lineEndContext="#pop"><DetectIdentifier attribute="Variable" context="#pop!CommandArgs"/></context><context name="BuiltinLet" attribute="Normal Text" fallthroughContext="#pop!CommandArgs" lineEndContext="#pop"><DetectSpaces attribute="Normal Text" context="#pop!BuiltinLetArgs"/><LineContinue attribute="Escape"/></context><context name="BuiltinLetArgs" attribute="Normal Text" fallthroughContext="BuiltinLetArg" lineEndContext="#pop"><AnyChar String="0123456789" context="BuiltinLetArgsNumber" lookAhead="1"/><IncludeRules context="CommandArgs"/></context><context name="BuiltinLetArgsNumber" attribute="Normal Text" fallthroughContext="#pop!BuiltinLetArg" lineEndContext="#pop"><IncludeRules context="FindRedirection"/></context><context name="BuiltinLetExpr" attribute="Normal Text" fallthroughContext="#pop!NormalOption" lineEndContext="#pop"><DetectIdentifier attribute="Variable"/><AnyChar String=" &#9;>|&amp;;)`" context="#pop" lookAhead="1"/><AnyChar String="+-!%=^:" attribute="Operator"/><AnyChar String="0123456789." context="Number" lookAhead="1"/><DetectChar char="[" attribute="Parameter Expansion Operator" context="Subscript"/><IncludeRules context="FindWord"/><StringDetect String="##" attribute="BaseN" context="NoPrefix"/><DetectChar char="#" attribute="Error"/><DetectChar char="{" context="NormalOptionMaybeBraceExpansion" lookAhead="1"/><DetectChar char="}" context="NormalOptionMaybeGroupEnd" lookAhead="1"/></context><context name="Case" attribute="Normal Text"><DetectSpaces attribute="Normal Text"/><DetectChar char="{" attribute="Keyword" context="#pop!CaseAlt"/><WordDetect String="in" attribute="Keyword" context="#pop!CaseIn"/><IncludeRules context="FindWord"/><DetectIdentifier attribute="Normal Text"/></context><context name="CaseAlt" attribute="Normal Text" fallthroughContext="CasePattern"><DetectSpaces attribute="Normal Text"/><DetectChar char="(" attribute="Keyword" context="CasePattern"/><DetectChar char="}" attribute="Keyword" context="#pop!CaseAltEnd" endRegion="caseexpr" lookAhead="1"/></context><context name="CaseAltEnd" attribute="Normal Text"><DetectChar char="}" attribute="Keyword" context="#pop" endRegion="case"/></context><context name="CaseExpr" attribute="Normal Text" fallthroughContext="Command"><StringDetect String=";|" attribute="Control Flow" context="#pop" endRegion="caseexpr"/><StringDetect String=";;" attribute="Control Flow" context="#pop" endRegion="caseexpr"/><StringDetect String=";&amp;" attribute="Control Flow" context="#pop" endRegion="caseexpr"/><WordDetect String="esac" context="#pop" endRegion="caseexpr" lookAhead="1"/><DetectChar char="}" context="#pop" lookAhead="1"/><IncludeRules context="Start"/></context><context name="CaseIn" attribute="Normal Text" fallthroughContext="CasePattern"><DetectSpaces attribute="Normal Text"/><DetectChar char="(" attribute="Keyword" context="CaseClosedPattern"/><DetectChar char="#" attribute="Comment" context="Comment"/></context><context name="CloseFile" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectChar char="-" attribute="Keyword" context="#pop"/></context><context name="CommandArgMaybeRedirection" attribute="Normal Text" fallthroughContext="#pop!NormalOption" lineEndContext="#pop"><IncludeRules context="FindRedirection"/></context><context name="CommandAssumeEscape" attribute="OtherCommand" lineEndContext="#pop"><LineContinue attribute="Escape" context="#pop"/><RegExpr String="\\." attribute="OtherCommand" context="#pop"/></context><context name="CommandMaybeBraceExpansion" attribute="OtherCommand" lineEndContext="#pop"><IncludeRules context="DispatchBraceExpansion"/><DetectChar char="{" attribute="OtherCommand" context="#pop"/></context><context name="CommandMaybeGroupEnd" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="(?:}+(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]|(?=[}$'&#34;`\\])))+" attribute="OtherCommand" context="#pop"/><DetectChar char="}" context="#pop#pop" lookAhead="1"/></context><context name="CommandMaybeRedirection" attribute="Normal Text" fallthroughContext="#pop!Command" lineEndContext="#pop"><IncludeRules context="FindRedirection"/></context><context name="CommandVariables" attribute="Command" lineEndContext="#pop"><IncludeRules context="DispatchVariables"/><DetectChar char="$" attribute="OtherCommand" context="#pop"/></context><context name="DispatchKeyword" attribute="Normal Text" lineEndContext="#pop"><StringDetect String="if" attribute="Control Flow" context="#pop!NotCond" beginRegion="if"/><StringDetect String="fi" attribute="Control Flow" context="#pop" endRegion="if"/><StringDetect String="done" attribute="Control Flow" context="#pop" endRegion="do"/><StringDetect String="do" attribute="Control Flow" context="#pop" beginRegion="do"/><StringDetect String="while" attribute="Control Flow" context="#pop!NotCond"/><StringDetect String="until" attribute="Control Flow" context="#pop!NotCond"/><StringDetect String="foreach" attribute="Control Flow" context="#pop!Foreach"/><StringDetect String="for" attribute="Control Flow" context="#pop!For"/><StringDetect String="select" attribute="Control Flow" context="#pop!Select"/><StringDetect String="repeat" attribute="Control Flow" context="#pop!Repeat"/><StringDetect String="case" attribute="Control Flow" context="#pop!Case" beginRegion="case"/><StringDetect String="function" attribute="Keyword" context="#pop!FunctionDef"/><StringDetect String="return" attribute="Control Flow" context="#pop!Return"/><StringDetect String="in" attribute="Error" context="#pop"/><StringDetect String="esac" attribute="Error" context="#pop"/><DetectIdentifier attribute="Control Flow" context="#pop"/></context><context name="DispatchPathBraceExpansion" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="{(?:[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]++|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\$(?:\{[^\[\] &#9;&lt;>|&amp;;{}\\`'&#34;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\}|{(?:[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]++|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\$(?:\{[^\[\] &#9;&lt;>|&amp;;{}\\`'&#34;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})*?}|(?R)?+)*?,(?:[^ &#9;&lt;>|&amp;;{}\\`'&#34;$]++|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\$(?:\{[^\[\] &#9;&lt;>|&amp;;{}\\`'&#34;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\}|{(?:[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]++|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`)|\$(?:\{[^\[\] &#9;&lt;>|&amp;;{}\\`'&#34;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^ &#9;&lt;>|&amp;;{}\\`'&#34;$,]*+\})*?}|(?R)?+)*?}" context="#pop!PathBraceExpansion" lookAhead="1"/><IncludeRules context="IncBraceExpansion"/></context><context name="DispatchStringVariables" attribute="Variable" lineEndContext="#pop"><StringDetect String="$'" attribute="String SingleQ" context="#pop!StringEsc"/></context><context name="EscapeMaybeBraceExpansion" attribute="Escape" lineEndContext="#pop"><IncludeRules context="DispatchBraceExpansion"/><DetectChar char="{" attribute="Escape" context="#pop!BraceExpansion2"/></context><context name="ExprBracketNot" attribute="Normal Text" fallthroughContext="#pop!ExprBracketParam1"><DetectSpaces attribute="Normal Text" context="#pop!ExprBracketParam1"/><StringDetect String="! " attribute="Expression" context="ExprBracketTestMaybeNot" lookAhead="1"/><StringDetect String="!&#9;" attribute="Expression" context="ExprBracketTestMaybeNot" lookAhead="1"/></context><context name="ExprBracketParam2_Value" attribute="Normal Text" fallthroughContext="ExprBracketValue"><DetectSpaces attribute="Normal Text" context="#pop!ExprBracketParam3"/><AnyChar String="-=!" context="TestMaybeBinary" lookAhead="1"/><IncludeRules context="FindExprBracketEnd"/></context><context name="ExprBracketParam3" attribute="Normal Text" fallthroughContext="#pop!ExprBracketParam3_Value" lineEndContext="ExprBracketFinal"><LineContinue attribute="Escape" context="SkipSpaces"/></context><context name="ExprBracketParam3_Value" attribute="Normal Text" fallthroughContext="ExprBracketValue" lineEndContext="ExprBracketFinal"><DetectSpaces attribute="Normal Text" context="#pop!ExprBracketFinal"/><IncludeRules context="FindExprBracketEnd"/></context><context name="ExprBracketValueRecBrace" attribute="Normal Text" lineEndContext="#pop"><AnyChar String=" &#9;" context="#pop#pop" lookAhead="1"/><AnyChar String="&lt;>|&amp;;()" attribute="Error"/><IncludeRules context="FindWord"/><IncludeRules context="FindGlobAny"/><DetectChar char="{" context="ExprBracketValueMaybeBraceExpansion" lookAhead="1"/><DetectChar char="}" attribute="Normal Text" context="#pop"/><DetectIdentifier attribute="Normal Text"/></context><context name="ExprDblBracketParam1_2" attribute="Normal Text" fallthroughContext="ExprDblBracketValueText"><DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketParam2"/><DetectChar char="-" context="TestMaybeUnary2" lookAhead="1"/><DetectChar char="(" context="ExprDblBracketSubValue" lookAhead="1"/><IncludeRules context="FindExprDblBracketEnd"/></context><context name="ExprDblBracketParam2_2" attribute="Normal Text" fallthroughContext="ExprDblBracketValuePattern"><DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketParam3"/><AnyChar String="-=!" context="TestMaybeBinary2" lookAhead="1"/><AnyChar String="&lt;>" attribute="Expression" context="#pop!ExprDblBracketParam3Spe"/><IncludeRules context="FindExprDblBracketEnd"/></context><context name="ExprDblBracketParam3Spe" attribute="Normal Text" fallthroughContext="#pop!ExprDblBracketParam3"><DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketParam3"/></context><context name="ExprDblBracketParam3_2" attribute="Normal Text" fallthroughContext="ExprDblBracketValuePattern" lineEndContext="#pop!ExprDblBracketFinal"><DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketFinal"/><IncludeRules context="FindExprDblBracketEnd"/></context><context name="ExprDblBracketRegex" attribute="Normal Text" fallthroughContext="#pop!Regex"><DetectSpaces attribute="Normal Text"/><DetectChar char="#" attribute="Comment" context="Comment"/></context><context name="ExprDblBracketSubRegex" attribute="Pattern"><DetectIdentifier attribute="Pattern"/><DetectSpaces attribute="Pattern"/><DetectChar char=")" attribute="Operator" context="#pop"/><StringDetect String="[^" attribute="Operator" context="RegexSubChar"/><DetectChar char="[" attribute="Operator" context="RegexSubChar"/><IncludeRules context="FindRegex"/></context><context name="ExprDblBracketSubValue" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectChar char="(" attribute="Operator" context="ExprDblBracketNot"/><DetectChar char=")" attribute="Operator" context="#pop"/></context><context name="ExprDblBracketTestMaybeNot" attribute="Normal Text" fallthroughContext="#pop#pop!ExprDblBracketParam1" lineEndContext="#pop"><RegExpr String="!(?=$|[ &#9;(])" attribute="Expression" context="#pop"/></context><context name="ExprDblBracketUnary" attribute="Normal Text" fallthroughContext="#pop!ExprDblBracketValueText"><DetectSpaces attribute="Normal Text"/><DetectChar char="#" attribute="Comment" context="Comment"/></context><context name="ExprDblBracketValueMaybeGlobRange" attribute="Normal Text"><IncludeRules context="FindGlobRangeThenPop"/><DetectChar char="&lt;" attribute="Error" context="#pop"/></context><context name="ExprDblBracketValuePattern2" attribute="Normal Text" lineEndContext="#pop"><DetectIdentifier attribute="Normal Text"/><StringDetect String="&amp;&amp;" attribute="Control" context="#pop#pop!ExprDblBracket"/><StringDetect String="||" attribute="Control" context="#pop#pop!ExprDblBracket"/><AnyChar String=" &#9;)" context="#pop" lookAhead="1"/><IncludeRules context="FindWord"/><IncludeRules context="FindSingleGlob"/><IncludeRules context="FindGlobAny"/><IncludeRules context="FindGroupPattern"/><DetectChar char="&lt;" context="ExprDblBracketValueMaybeGlobRange" lookAhead="1"/><AnyChar String=">&amp;|;" attribute="Error"/></context><context name="ExprDblBracketValuePatternPath" attribute="Normal Text" fallthroughContext="#pop!PathThenPop" lineEndContext="#pop"><DetectChar char="~" attribute="Path" context="#pop!PathThenPop"/></context><context name="ExprDblBracketValueTextMaybeEnd" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="\]\](?=($|[ &#9;;|&amp;)]))" attribute="Keyword" context="#pop#pop" endRegion="expression"/><IncludeRules context="FindExprDblBracketValueTextPath"/><StringDetect String="]]" context="#pop!ExprDblBracketValueText2" lookAhead="1"/></context><context name="ExprDblBracketValueTextMaybeRange" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="&lt;[0-9]*-[0-9]*>" context="#pop"/><DetectChar char="&lt;" attribute="Expression" context="#pop#pop!ExprDblBracketValuePattern"/></context><context name="ExprDblBracketValueTextPath" attribute="Path" lineEndContext="#pop"><IncludeRules context="ExprDblBracketValueText2"/></context><context name="ExprDblParenOrSubShell" attribute="Normal Text"><RegExpr String="\((?=\(((?:[^`'&#34;()$]++|\$\{[^`'&#34;(){}$]+\}|\$(?=[^{`'&#34;()])|`[^`]*+`|\((?1)(?:[)]|(?=['&#34;])))++)(?:[)](?=$|[^)])|[&#34;']))|" attribute="Keyword" context="#pop!SubShell" beginRegion="subshell"/><StringDetect String="((" attribute="Keyword" context="#pop!ExprDblParen" beginRegion="expression"/></context><context name="ExprDblParenSubst" attribute="Normal Text"><DetectSpaces attribute="Normal Text"/><StringDetect String="))" attribute="Parameter Expansion" context="#pop" endRegion="expression"/><IncludeRules context="FindExprDblParen"/><DetectChar char=")" attribute="Parameter Expansion" context="#pop!SubstCommand" beginRegion="subshell" endRegion="expression"/></context><context name="ExprGlobParenThenPath" attribute="Glob Flag" fallthroughContext="#pop" lineEndContext="#pop"><StringDetect String="(#" attribute="Glob Flag" context="#pop!GlobPatFlagThenPath"/><RegExpr String="\((?=(?:[^ &#9;\\'&#34;|()`ugeP]*+(?:[ug][0123456789]+|[ugeP](?::(?:[^:'`&#34;\\|()]*+(?:\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`))?)*(?::|(?=[|()]))|\[(?:[^]'`&#34;\\|()]*+(?:\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`))?)*(?:\](?=[|()]))|{(?:[^}'`&#34;\\|()]*+(?:\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`))?)*(?:}(?=[|()]))|&lt;(?:[^>'`&#34;\\|()]*+(?:\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`))?)*(?:>|(?=[|()]))|([^ &#9;&lt;>|&amp;;(){}'&#34;`\\])(?:(?:(?!\1)[^'`&#34;\\\1|()])*+(?:\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`))?)*(?:\1|(?=[|()]))|(?=\|))|\\.|(?:'[^']*+'|&#34;(?:[^&#34;\\`]*+|`[^`]*+`|\\.)*+&#34;|`[^`]*+`))?)*(?:\)(?:[^ &#9;}&lt;>|&amp;;)]|(?:}+(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]|(?=[}$'&#34;`\\]))))|[ &#9;|(]|$))" attribute="Glob" context="#pop!ExtGlobPatternThenPath"/><DetectChar char="(" attribute="Glob Flag" context="#pop!GlobQualifier"/></context><context name="ExprSubDblParen" attribute="Normal Text"><DetectSpaces attribute="Normal Text"/><DetectChar char=")" attribute="Normal Text" context="#pop"/><IncludeRules context="FindExprDblParen"/></context><context name="ExtGlobPatternThenPath" attribute="Pattern"><DetectChar char=")" attribute="Glob" context="#pop!PathThenPop"/><IncludeRules context="FindWord"/><IncludeRules context="FindSubPattern"/><DetectIdentifier attribute="Pattern"/></context><context name="FindNormalTextOption" attribute="Normal Text"><RegExpr String="([^[ &#9;&lt;>|&amp;;()${}'&#34;`\\]+|(?:}+(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]|(?=[}$'&#34;`\\]))))+" attribute="Normal Text"/></context><context name="For" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><LineContinue attribute="Escape"/><DetectSpaces attribute="Normal Text"/><WordDetect String="in" attribute="Keyword" context="#pop!CommandArgs"/><DetectIdentifier attribute="Normal Text"/><StringDetect String="((" attribute="Keyword" context="#pop!ForArithmeticExpr"/><DetectChar char="(" attribute="Keyword" context="#pop!ForeachWord"/></context><context name="ForArithmeticExpr" attribute="Normal Text" lineEndContext="#pop"><DetectSpaces attribute="Normal Text"/><DetectChar char=";" attribute="Control"/><StringDetect String="))" attribute="Keyword" context="#pop"/><IncludeRules context="FindExprDblParen"/></context><context name="Foreach" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><LineContinue attribute="Escape"/><DetectSpaces attribute="Normal Text"/><DetectIdentifier attribute="Normal Text"/><DetectChar char="(" attribute="Keyword" context="#pop!ForeachWord"/></context><context name="FunctionDef" attribute="Function" fallthroughContext="#pop" lineEndContext="#pop"><StringDetect String="()" attribute="Operator" context="#pop"/><DetectSpaces attribute="Normal Text" context="FunctionNameStart"/></context><context name="FunctionName" attribute="Function" lineEndContext="#pop"><AnyChar String=" &#9;(" context="#pop" lookAhead="1"/><IncludeRules context="FindWord"/><DetectChar char="{" context="FunctionNameMaybeBraceExpansion" lookAhead="1"/><DetectChar char="}" context="NormalOptionMaybeGroupEnd" lookAhead="1"/><DetectIdentifier attribute="Function"/></context><context name="FunctionNameRecBrace" attribute="Function" fallthroughContext="#pop" lineEndContext="#pop"><IncludeRules context="FindWord"/><DetectChar char="{" context="FunctionNameMaybeBraceExpansion" lookAhead="1"/><DetectChar char="}" attribute="Function" context="#pop"/><DetectIdentifier attribute="Function"/></context><context name="FunctionNameStart" attribute="Function" fallthroughContext="#pop!FunctionName" lineEndContext="#pop"><AnyChar String="&lt;>|&amp;;()#" context="#pop#pop" lookAhead="1"/><DetectChar char="{" context="FunctionNameStartMaybeBraceExpansion" lookAhead="1"/></context><context name="FunctionNameStartMaybeBraceExpansion" attribute="Function" lineEndContext="#pop"><IncludeRules context="DispatchBraceExpansion"/><DetectChar char="{" attribute="Keyword" context="#pop#pop#pop!Group" beginRegion="group"/></context><context name="GlobAnyFlag" attribute="String SingleQ" fallthroughContext="#pop!GlobAny" lineEndContext="#pop"><DetectChar char="^" attribute="Glob Flag" context="#pop!GlobAny"/></context><context name="GlobClass" attribute="Glob" lineEndContext="#pop#pop"><DetectIdentifier attribute="Pattern"/><StringDetect String=":]" attribute="Glob" context="#pop"/><DetectChar char="]" attribute="Error" context="#pop"/></context><context name="GlobModifier" attribute="Parameter Expansion" lineEndContext="#pop"><DetectChar char=":" attribute="Parameter Expansion Operator"/><AnyChar String="ht" attribute="Parameter Expansion" context="VarBraceModifier_h"/><DetectChar char="s" attribute="Parameter Expansion" context="GlobModifier_s"/><StringDetect String="gs" attribute="Parameter Expansion" context="GlobModifier_s"/><DetectChar char=")" attribute="Glob Flag" context="#pop"/></context><context name="GlobModifier_s_PatPrefix" attribute="Pattern" fallthroughContext="#pop!GlobModifier_s_Pat"><StringDetect String="#%" attribute="Parameter Expansion Operator" context="#pop!GlobModifier_s_Pat"/><AnyChar String="#%" attribute="Parameter Expansion Operator" context="#pop!GlobModifier_s_Pat"/></context><context name="GlobModifier_s_Rep" attribute="String DoubleQ"><DetectChar char=")" attribute="Glob Flag" context="#pop#pop"/><DetectChar char="/" attribute="Parameter Expansion Operator" context="#pop"/><DetectChar char="(" attribute="String DoubleQ" context="GlobModifier_s_RecursiveRep"/><IncludeRules context="FindWord"/><DetectIdentifier attribute="String DoubleQ"/></context><context name="GlobPatFlagThenPath" attribute="Glob Flag" fallthroughContext="#pop" lineEndContext="#pop"><IncludeRules context="IncGlobPatFlag"/><DetectChar char=")" attribute="Glob Flag" context="#pop!PathThenPop"/></context><context name="GlobQualifier_+" attribute="Glob Flag" fallthroughContext="#pop" lineEndContext="#pop"><RegExpr String="[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\=,\[]+" attribute="Function" context="#pop"/></context><context name="GlobQualifier_L" attribute="Glob Flag" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="kKmMpPgGtT" attribute="Normal Text"/><AnyChar String="-+0123456789" attribute="Number" context="#pop!GlobQualifier_Y"/></context><context name="GlobQualifier_a" attribute="Glob Flag" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="Mwhmsd" attribute="Normal Text"/><AnyChar String="-+0123456789" attribute="Number" context="#pop!GlobQualifier_Y"/></context><context name="GlobQualifier_d" attribute="Path" lineEndContext="#pop"><AnyChar String=")," context="#pop" lookAhead="1"/></context><context name="GlobQualifier_e&lt;" attribute="Normal Text"><DetectChar char=">" attribute="Glob Flag" context="#pop"/><IncludeRules context="IncGlobQualifier_e"/></context><context name="GlobQualifier_e[" attribute="Normal Text"><DetectChar char="]" attribute="Glob Flag" context="#pop"/><IncludeRules context="IncGlobQualifier_e"/></context><context name="GlobQualifier_ex" attribute="Normal Text"><DetectChar char="1" attribute="Glob Flag" context="#pop" dynamic="1"/><IncludeRules context="IncGlobQualifier_e"/></context><context name="GlobQualifier_e{" attribute="Normal Text"><DetectChar char="}" attribute="Glob Flag" context="#pop"/><IncludeRules context="IncGlobQualifier_e"/></context><context name="GlobQualifier_f" attribute="Glob Flag" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="0123456789=+-" attribute="Number" context="#pop!GlobQualifier_fo"/><DetectChar char="?" attribute="Glob" context="#pop!GlobQualifier_fo"/><DetectChar char="[" attribute="Glob Flag" context="#pop!GlobQualifier_f["/><DetectChar char="&lt;" attribute="Glob Flag" context="#pop!GlobQualifier_f&lt;"/><DetectChar char="{" attribute="Glob Flag" context="#pop!GlobQualifier_f{"/><RegExpr String="(.)" attribute="Glob Flag" context="#pop!GlobQualifier_fx"/></context><context name="GlobQualifier_f&lt;" attribute="Normal Text"><DetectChar char="," attribute="Operator"/><DetectChar char=">" attribute="Glob Flag" context="#pop"/></context><context name="GlobQualifier_f[" attribute="Normal Text"><DetectChar char="," attribute="Operator"/><DetectChar char="]" attribute="Glob Flag" context="#pop"/></context><context name="GlobQualifier_fx" attribute="Normal Text"><DetectChar char="," attribute="Operator"/><DetectChar char="1" attribute="Glob Flag" context="#pop" dynamic="1"/></context><context name="GlobQualifier_f{" attribute="Normal Text"><DetectChar char="," attribute="Operator"/><DetectChar char="}" attribute="Glob Flag" context="#pop"/></context><context name="GlobQualifier_o" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><AnyChar String="nLlamcdN" attribute="Normal Text"/></context><context name="GlobQualifier_u" attribute="Glob Flag" lineEndContext="#pop"><AnyChar String="0123456789" attribute="Number" context="#pop!GlobQualifier_Y"/><IncludeRules context="GlobQualifier_e"/></context><context name="GlobRangeOrError" attribute="Glob"><IncludeRules context="FindGlobRangeThenPop"/><DetectChar char="&lt;" attribute="Error" context="#pop"/></context><context name="GlobRangeOrPattern" attribute="Pattern"><IncludeRules context="FindGlobRangeThenPop"/><DetectChar char="&lt;" attribute="Pattern" context="#pop"/></context><context name="GlobRangeOrStringDQ" attribute="String DoubleQ"><IncludeRules context="FindGlobRangeThenPop"/><DetectChar char="&lt;" attribute="String DoubleQ" context="#pop"/></context><context name="GroupEnd" attribute="Normal Text" fallthroughContext="#pop!CommandArgs" lineEndContext="#pop"><DetectSpaces attribute="Normal Text"/><WordDetect String="always" attribute="Control Flow" context="#pop"/></context><context name="HereDoc" attribute="Normal Text"><RegExpr String="&lt;&lt;-[ &#9;]*(?|&#34;([^&#34;]+)&#34;|'([^']+)'|\\(.[^ &#9;&lt;>|&amp;;()${}'&#34;`\\]*))(?=[ &#9;]*$)" attribute="Redirection" context="HereDocIQ"/><RegExpr String="&lt;&lt;-[ &#9;]*([^ &#9;&lt;>|&amp;;()]+)(?=[ &#9;]*$)" attribute="Redirection" context="HereDocINQ"/><RegExpr String="&lt;&lt;[ &#9;]*(?|&#34;([^&#34;]+)&#34;|'([^']+)'|\\(.[^ &#9;&lt;>|&amp;;()${}'&#34;`\\]*))(?=[ &#9;]*$)" attribute="Redirection" context="HereDocQ"/><RegExpr String="&lt;&lt;[ &#9;]*([^ &#9;&lt;>|&amp;;()]+)(?=[ &#9;]*$)" attribute="Redirection" context="HereDocNQ"/><RegExpr String="(&lt;&lt;-[ &#9;]*(?|&#34;([^&#34;]+)&#34;|'([^']+)'|\\(.[^ &#9;&lt;>|&amp;;()${}'&#34;`\\]*)))" context="HereDocIQCmd" lookAhead="1"/><RegExpr String="(&lt;&lt;-[ &#9;]*([^ &#9;&lt;>|&amp;;()]+))" context="HereDocINQCmd" lookAhead="1"/><RegExpr String="(&lt;&lt;[ &#9;]*(?|&#34;([^&#34;]+)&#34;|'([^']+)'|\\(.[^ &#9;&lt;>|&amp;;()${}'&#34;`\\]*)))" context="HereDocQCmd" lookAhead="1"/><RegExpr String="(&lt;&lt;[ &#9;]*([^ &#9;&lt;>|&amp;;()]+))" context="HereDocNQCmd" lookAhead="1"/><StringDetect String="&lt;&lt;" attribute="Redirection" context="#pop"/></context><context name="HereDocINQ" attribute="Here Doc" fallthroughContext="HereDocSubstitutions"><IncludeRules context="HereDocIQ"/></context><context name="HereDocINQCmd" attribute="Here Doc" fallthroughContext="HereDocSubstitutions"><IncludeRules context="HereDocIQCmd"/></context><context name="HereDocNQ" attribute="Here Doc" fallthroughContext="HereDocSubstitutions"><IncludeRules context="HereDocQ"/></context><context name="HereDocNQCmd" attribute="Here Doc" fallthroughContext="HereDocSubstitutions"><IncludeRules context="HereDocQCmd"/></context><context name="HereDocRemainder" attribute="Normal Text" fallthroughContext="CommandArg" lineEndContext="#pop"><AnyChar String="&amp;|;`" context="ZshOneLine" lookAhead="1"/><IncludeRules context="CommandArgs"/></context><context name="HereDocVariables" attribute="Here Doc" lineEndContext="#pop"><IncludeRules context="DispatchSubstVariables"/><IncludeRules context="DispatchVarNameVariables"/><DetectChar char="$" attribute="Here Doc" context="#pop"/></context><context name="InGlobRange" attribute="Number"><AnyChar String="0123456789" attribute="Number"/><DetectChar char="-" attribute="Glob"/><DetectChar char=">" attribute="Glob" context="#pop"/></context><context name="MaybeArithmeticBrace" attribute="Error" lineEndContext="#pop"><IncludeRules context="DispatchBraceExpansion"/><DetectChar char="{" attribute="Error" context="#pop"/></context><context name="MaybeBracketExpression" attribute="Normal Text" fallthroughContext="#pop!Command" lineEndContext="#pop"><RegExpr String="\[\[(?=$|[ &#9;(])" attribute="Keyword" context="#pop!ExprDblBracket" beginRegion="expression"/><RegExpr String="\[(?=$|[ &#9;])" attribute="Builtin" context="#pop!ExprBracket" beginRegion="expression"/></context><context name="MaybeGroupEnd" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="(?:}+(?:[^*?#^~[ &#9;&lt;>|&amp;;()${}'&#34;`\\]|(?=[}$'&#34;`\\])))" context="#pop!Command" lookAhead="1"/><DetectChar char="}" attribute="Error" context="#pop"/></context><context name="NormalOptionRecBrace" attribute="Normal Text" lineEndContext="#pop#pop"><AnyChar String=" &#9;>|&amp;;)`" context="#pop#pop" lookAhead="1"/><IncludeRules context="FindWord"/><IncludeRules context="FindSingleGlob"/><IncludeRules context="FindGlobAny"/><DetectChar char="(" context="ExprGlobParen" lookAhead="1"/><DetectChar char="{" context="NormalOptionMaybeBraceExpansion" lookAhead="1"/><DetectChar char="}" attribute="Normal Text" context="#pop"/><DetectChar char="&lt;" context="MaybeGlobRangeOrPop" lookAhead="1"/><DetectIdentifier/></context><context name="NotCond2" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><StringDetect String="!&#9;" attribute="Expression" context="#pop"/><StringDetect String="! " attribute="Expression" context="#pop"/><LineContinue char="!" attribute="Expression" context="#pop"/></context><context name="PathBraceExpansion" attribute="Escape" lineEndContext="#pop"><DetectChar char="{" attribute="Escape" context="#pop!PathBraceExpansion2"/></context><context name="PathBraceExpansion2" attribute="Path" lineEndContext="#pop"><DetectChar char="," attribute="Operator"/><DetectChar char="}" attribute="Escape" context="#pop"/><DetectChar char="{" context="PathMaybeBraceExpansion" lookAhead="1"/><IncludeRules context="FindWord"/><IncludeRules context="FindPattern"/><DetectIdentifier attribute="Path"/></context><context name="PathMaybeGroupEnd" attribute="Path" lineEndContext="#pop"><IncludeRules context="FindNoGroupEndThenPop"/><DetectChar char="}" context="#pop#pop#pop" lookAhead="1"/></context><context name="PathRecBrace" attribute="Path" lineEndContext="#pop"><AnyChar String=" &#9;>|&amp;;)`" context="#pop" lookAhead="1"/><IncludeRules context="IncPath"/><DetectChar char="}" attribute="Path" context="#pop"/><DetectIdentifier attribute="Path"/></context><context name="RecursiveAlternatePatternValue" attribute="String DoubleQ"><DetectChar char="{" attribute="String DoubleQ" context="RecursiveAlternateValue"/><DetectChar char="}" attribute="String DoubleQ" context="#pop"/><IncludeRules context="FindWord"/><IncludeRules context="FindStringDQPattern"/><DetectIdentifier attribute="String DoubleQ"/></context><context name="Regex" attribute="Pattern"><DetectIdentifier attribute="Pattern"/><DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketFinal"/><DetectChar char=")" attribute="Operator" context="#pop"/><StringDetect String="[^" attribute="Operator" context="RegexChar"/><DetectChar char="[" attribute="Operator" context="RegexChar"/><IncludeRules context="FindRegex"/></context><context name="RegexCharClass" attribute="Parameter Expansion" lineEndContext="#pop#pop#pop"><DetectIdentifier attribute="Parameter Expansion"/><StringDetect String=":]" attribute="Parameter Expansion Operator" context="#pop"/><DetectChar char="]" attribute="Error" context="#pop"/></context><context name="RegexCharClassSelect" attribute="Parameter Expansion" lineEndContext="#pop#pop#pop"><StringDetect String="[:" attribute="Parameter Expansion Operator" context="#pop!RegexCharClass"/><StringDetect String="[." attribute="Parameter Expansion Operator" context="#pop!RegexCollatingSymbols"/><StringDetect String="[=" attribute="Parameter Expansion Operator" context="#pop!RegexEquivalenceClass"/><DetectChar char="[" attribute="Pattern" context="#pop"/></context><context name="RegexCollatingSymbols" attribute="Parameter Expansion" lineEndContext="#pop#pop#pop"><DetectIdentifier attribute="Parameter Expansion"/><StringDetect String=".]" attribute="Parameter Expansion Operator" context="#pop"/><DetectChar char="]" attribute="Error" context="#pop"/></context><context name="RegexDispatchVariables" attribute="Normal Text"><IncludeRules context="DispatchVariables"/><DetectChar char="$" attribute="Operator" context="#pop"/></context><context name="RegexDup" attribute="Normal Text" lineEndContext="#pop"><Int attribute="Number"/><DetectChar char="," attribute="Parameter Expansion Operator"/><DetectChar char="}" attribute="Parameter Expansion" context="#pop"/></context><context name="RegexEquivalenceClass" attribute="Parameter Expansion" lineEndContext="#pop#pop#pop"><DetectIdentifier attribute="Parameter Expansion"/><StringDetect String="=]" attribute="Parameter Expansion Operator" context="#pop"/><DetectChar char="]" attribute="Error" context="#pop"/></context><context name="RegexInCharEnd" attribute="Operator"><DetectChar char="-" attribute="Pattern"/><DetectChar char="]" attribute="Operator" context="#pop#pop"/></context><context name="RegularAssign" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectChar char="`" attribute="Backquote" context="RegularBackq"/><IncludeRules context="NormalOption"/></context><context name="Repeat" attribute="Normal Text" fallthroughContext="#pop!RepeatArithmeticExpr" lineEndContext="#pop"><LineContinue attribute="Escape"/><DetectSpaces attribute="Normal Text"/></context><context name="RepeatArithmeticExpr" attribute="Normal Text" lineEndContext="#pop"><DetectSpaces attribute="Normal Text" context="#pop"/><DetectChar char=";" attribute="Control" context="#pop"/><IncludeRules context="FindExprDblParen"/></context><context name="Return" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectSpaces attribute="Normal Text"/><Int attribute="Number"/></context><context name="Select" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><LineContinue attribute="Escape"/><DetectSpaces attribute="Normal Text"/><DetectIdentifier attribute="Normal Text" context="#pop!SelectIn"/></context><context name="SelectIn" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><LineContinue attribute="Escape"/><DetectSpaces attribute="Normal Text"/><WordDetect String="in" attribute="Keyword" context="#pop!CommandArgs"/></context><context name="SequenceExpression" attribute="Normal Text" lineEndContext="#pop"><AnyChar String="0123456789-" attribute="Number"/><IncludeRules context="FindWord"/><StringDetect String=".." attribute="Escape"/><DetectChar char="}" attribute="Escape" context="#pop"/></context><context name="StringDQDispatchVariables" attribute="String DoubleQ"><IncludeRules context="DispatchSubstVariables"/><IncludeRules context="DispatchVarNameVariables"/><DetectChar char="$" attribute="String DoubleQ" context="#pop"/></context><context name="StringDQEscape" attribute="String DoubleQ" lineEndContext="#pop"><StringDetect String='\"' attribute="String Escape" context="#pop"/><StringDetect String="\\" attribute="String Escape" context="#pop"/><StringDetect String="\`" attribute="String Escape" context="#pop"/><StringDetect String="\$" attribute="String Escape" context="#pop"/><LineContinue attribute="String Escape" context="#pop"/><DetectChar char="\" attribute="String DoubleQ" context="#pop"/></context><context name="StringEsc" attribute="String SingleQ"><DetectSpaces attribute="String SingleQ"/><DetectIdentifier attribute="String SingleQ"/><DetectChar char="'" attribute="String SingleQ" context="#pop"/><RegExpr String="\\(?:[abeEfnrtv\\']|[0-7]{1,3}|x[A-Fa-f0-9]{1,2}|u[A-Fa-f0-9]{1,4}|U[A-Fa-f0-9]{1,8}|c.)?" attribute="String Escape"/></context><context name="StringRedirection" attribute="Normal Text" fallthroughContext="#pop!StringRedirection2" lineEndContext="#pop"><DetectSpaces attribute="Normal Text" context="#pop!StringRedirection2"/></context><context name="StringSQ" attribute="String SingleQ"><DetectSpaces attribute="String SingleQ"/><DetectIdentifier attribute="String SingleQ"/><DetectChar char="'" attribute="String SingleQ" context="#pop"/></context><context name="Subscript2" attribute="Normal Text"><DetectIdentifier attribute="Normal Text"/><DetectChar char="]" attribute="Parameter Expansion Operator" context="#pop#pop"/><DetectChar char="," attribute="Parameter Expansion Operator" context="#pop"/><IncludeRules context="FindGroupPattern"/><IncludeRules context="FindStrings"/><DetectChar char="$" context="VariableOrSubscriptPos" lookAhead="1"/><DetectChar char="`" attribute="Backquote" context="RegularBackq"/><DetectChar char="\" context="AssumeEscape" lookAhead="1"/><AnyChar String="@+-!~*/%&lt;>=&amp;^|?:" attribute="Operator" context="#pop"/></context><context name="TestMaybeBinary2" attribute="Normal Text" fallthroughContext="#pop!ExprDblBracketValuePattern" lineEndContext="#pop"><IncludeRules context="TestMaybeBinary"/><RegExpr String="=~(?=$|[ &#9;])" attribute="Expression" context="#pop#pop!ExprDblBracketRegex"/></context><context name="TestMaybeUnary" attribute="Normal Text" fallthroughContext="#pop!ExprBracketValue" lineEndContext="#pop"><RegExpr String="-[abcdefghknoprstuvwxzLOGNS](?=\\?$|[ &#9;])" attribute="Expression" context="#pop#pop!ExprBracketParam2"/></context><context name="TestMaybeUnary2" attribute="Normal Text" fallthroughContext="#pop!ExprDblBracketValueText" lineEndContext="#pop"><RegExpr String="-[abcdefghknoprstuvwxzLOGNS](?=\\?$|[ &#9;])(?!\s+(?:=~|(?:-(?:e[fq]|[nolg]t|[nlg]e)|==?|!=)(?=\\?$|[ &#9;])))" attribute="Expression" context="#pop!ExprDblBracketUnary"/></context><context name="VarAssign" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectChar char="[" attribute="Parameter Expansion Operator" context="Subscript"/><DetectChar char="=" attribute="Operator" context="#pop!Assign"/><StringDetect String="+=" attribute="Operator" context="#pop!Assign"/></context><context name="VarBraceModifier_s_Rep" attribute="String SingleQ"><DetectChar char="}" attribute="Parameter Expansion" context="#pop#pop"/><DetectChar char="/" attribute="Parameter Expansion Operator" context="#pop"/><DetectChar char="{" attribute="String SingleQ" context="RecursiveVarBraceModifier_s"/></context><context name="VarBraceModifier_s_Str" attribute="String SingleQ"><DetectChar char="}" attribute="Parameter Expansion" context="#pop#pop"/><DetectChar char="/" attribute="Parameter Expansion Operator" context="#pop!VarBraceModifier_s_Rep"/><DetectChar char="\" context="AssumeEscape" lookAhead="1"/><DetectChar char="{" attribute="String SingleQ" context="RecursiveVarBraceModifier_s"/></context><context name="VarBraceModifiers" attribute="Parameter Expansion"><DetectChar char="}" attribute="Parameter Expansion" context="#pop"/><DetectChar char=":" attribute="Parameter Expansion Operator"/><AnyChar String="ht" attribute="Parameter Expansion" context="VarBraceModifier_h"/><DetectChar char="s" attribute="Parameter Expansion" context="VarBraceModifier_s"/><StringDetect String="gs" attribute="Parameter Expansion" context="VarBraceModifier_s"/></context><context name="VarBraceStartRecursive" attribute="Variable" fallthroughContext="#pop#pop!CheckVarAlt"><StringDetect String="${" attribute="Parameter Expansion" context="VarBraceStart"/><StringDetect String="$((" context="#pop!ExprDblParenSubstOrSubstCommand" lookAhead="1"/><StringDetect String="$(" attribute="Parameter Expansion" context="#pop!SubstCommand" beginRegion="subshell"/><DetectChar char="$" attribute="Error" context="#pop"/></context><context name="VarError" attribute="Error"><DetectChar char="}" attribute="Parameter Expansion" context="#pop"/></context><context name="VarFlag_l" attribute="Normal Text"><DetectChar char="[" attribute="Parameter Expansion Operator" context="#pop!VarFlag_l["/><DetectChar char="&lt;" attribute="Parameter Expansion Operator" context="#pop!VarFlag_l&lt;"/><DetectChar char="{" attribute="Parameter Expansion Operator" context="#pop!VarFlag_l{"/><DetectChar char="(" attribute="Parameter Expansion Operator" context="#pop!VarFlag_l("/><RegExpr String="(.)" attribute="Parameter Expansion Operator" context="#pop!VarFlag_lx"/></context><context name="VarFlag_l(" attribute="Normal Text"><StringDetect String=")(" attribute="Parameter Expansion Operator" context="#pop!VarFlag_l(s"/><DetectChar char=")" attribute="Parameter Expansion Operator" context="#pop"/><IncludeRules context="FindExprDblParen"/></context><context name="VarFlag_l(s" attribute="String SingleQ"><StringDetect String=")(" attribute="Parameter Expansion Operator"/><DetectChar char=")" attribute="Parameter Expansion Operator" context="#pop"/></context><context name="VarFlag_l&lt;" attribute="Normal Text"><StringDetect String=">&lt;" attribute="Parameter Expansion Operator" context="#pop!VarFlag_l&lt;s"/><DetectChar char=">" attribute="Parameter Expansion Operator" context="#pop"/><IncludeRules context="FindExprDblParen"/></context><context name="VarFlag_l&lt;s" attribute="String SingleQ"><StringDetect String=">&lt;" attribute="Parameter Expansion Operator"/><DetectChar char=">" attribute="Parameter Expansion Operator" context="#pop"/></context><context name="VarFlag_l[" attribute="Normal Text"><StringDetect String="][" attribute="Parameter Expansion Operator" context="#pop!VarFlag_l[s"/><DetectChar char="]" attribute="Parameter Expansion Operator" context="#pop"/><IncludeRules context="FindExprDblParen"/></context><context name="VarFlag_l[s" attribute="String SingleQ"><StringDetect String="][" attribute="Parameter Expansion Operator"/><DetectChar char="]" attribute="Parameter Expansion Operator" context="#pop"/></context><context name="VarFlag_lx" attribute="Normal Text"><RegExpr String="(%1)%1" attribute="Parameter Expansion Operator" context="#pop!VarFlag_lxs" dynamic="1"/><DetectChar char="1" attribute="Parameter Expansion Operator" context="#pop" dynamic="1"/><IncludeRules context="FindExprDblParen"/></context><context name="VarFlag_lxs" attribute="String SingleQ"><StringDetect String="%1%1" attribute="Parameter Expansion Operator" dynamic="1"/><DetectChar char="1" attribute="Parameter Expansion Operator" context="#pop" dynamic="1"/></context><context name="VarFlag_l{" attribute="Normal Text"><StringDetect String="}{" attribute="Parameter Expansion Operator" context="#pop!VarFlag_l{s"/><DetectChar char="}" attribute="Parameter Expansion Operator" context="#pop"/><IncludeRules context="FindExprDblParen"/></context><context name="VarFlag_l{s" attribute="String SingleQ"><StringDetect String="}{" attribute="Parameter Expansion Operator"/><DetectChar char="}" attribute="Parameter Expansion Operator" context="#pop"/></context><context name="VarFlag_pl" attribute="Normal Text"><DetectChar char="[" attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl["/><DetectChar char="&lt;" attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl&lt;"/><DetectChar char="{" attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl{"/><DetectChar char="(" attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl("/><RegExpr String="(.)" attribute="Parameter Expansion Operator" context="#pop!VarFlag_plx"/></context><context name="VarFlag_pl(" attribute="Normal Text"><StringDetect String=")(" attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl(s"/><DetectChar char=")" attribute="Parameter Expansion Operator" context="#pop"/><IncludeRules context="FindExprDblParen"/></context><context name="VarFlag_pl(s" attribute="String SingleQ"><StringDetect String=")(" attribute="Parameter Expansion Operator"/><IncludeRules context="VarFlag_ps("/></context><context name="VarFlag_pl&lt;" attribute="Normal Text"><StringDetect String=">&lt;" attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl&lt;s"/><DetectChar char=">" attribute="Parameter Expansion Operator" context="#pop"/><IncludeRules context="FindExprDblParen"/></context><context name="VarFlag_pl&lt;s" attribute="String SingleQ"><StringDetect String=">&lt;" attribute="Parameter Expansion Operator"/><IncludeRules context="VarFlag_ps&lt;"/></context><context name="VarFlag_pl[" attribute="Normal Text"><StringDetect String="][" attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl[s"/><DetectChar char="]" attribute="Parameter Expansion Operator" context="#pop"/><IncludeRules context="FindExprDblParen"/></context><context name="VarFlag_pl[s" attribute="String SingleQ"><StringDetect String="][" attribute="Parameter Expansion Operator"/><IncludeRules context="VarFlag_ps["/></context><context name="VarFlag_plx" attribute="Normal Text"><RegExpr String="(%1)%1" attribute="Parameter Expansion Operator" context="#pop!VarFlag_plxs" dynamic="1"/><DetectChar char="1" attribute="Parameter Expansion Operator" context="#pop" dynamic="1"/><IncludeRules context="FindExprDblParen"/></context><context name="VarFlag_plxs" attribute="String SingleQ"><StringDetect String="%1%1" attribute="Parameter Expansion Operator" dynamic="1"/><IncludeRules context="VarFlag_psx"/></context><context name="VarFlag_pl{" attribute="Normal Text"><StringDetect String="}{" attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl{s"/><DetectChar char="}" attribute="Parameter Expansion Operator" context="#pop"/><IncludeRules context="FindExprDblParen"/></context><context name="VarFlag_pl{s" attribute="String SingleQ"><StringDetect String="}{" attribute="Parameter Expansion Operator"/><IncludeRules context="VarFlag_ps{"/></context><context name="VarFlag_ps" attribute="Parameter Expansion"><DetectChar char="[" attribute="Parameter Expansion Operator" context="#pop!VarFlag_ps["/><DetectChar char="&lt;" attribute="Parameter Expansion Operator" context="#pop!VarFlag_ps&lt;"/><DetectChar char="{" attribute="Parameter Expansion Operator" context="#pop!VarFlag_ps{"/><DetectChar char="(" attribute="Parameter Expansion Operator" context="#pop!VarFlag_ps("/><RegExpr String="(.)" attribute="Parameter Expansion Operator" context="#pop!VarFlag_psx"/></context><context name="VarFlag_s(" attribute="String SingleQ"><DetectChar char=")" attribute="Parameter Expansion Operator" context="#pop"/></context><context name="VarFlag_s&lt;" attribute="String SingleQ"><DetectChar char=">" attribute="Parameter Expansion Operator" context="#pop"/></context><context name="VarFlag_s[" attribute="String SingleQ"><DetectChar char="]" attribute="Parameter Expansion Operator" context="#pop"/></context><context name="VarFlag_sx" attribute="String SingleQ"><DetectChar char="1" attribute="Parameter Expansion Operator" context="#pop" dynamic="1"/></context><context name="VarFlag_s{" attribute="String SingleQ"><DetectChar char="}" attribute="Parameter Expansion Operator" context="#pop"/></context><context name="VarFlags" attribute="Parameter Expansion"><AnyChar String="#%*q@AabcCDefFikLnoOPqQ+-tuUvVwWXz0~mSBEMNR" attribute="Parameter Expansion Operator"/><AnyChar String="sjgZ_" attribute="Parameter Expansion Operator" context="VarFlag_s"/><AnyChar String="lrI" attribute="Parameter Expansion Operator" context="VarFlag_l"/><DetectChar char="p" attribute="Parameter Expansion Operator" context="#pop!VarFlagsSubs"/><DetectChar char=")" attribute="Parameter Expansion" context="#pop!VarFlagsVar"/><DetectChar char="}" attribute="Error" context="#pop"/></context><context name="VarFlagsSubs" attribute="Parameter Expansion"><AnyChar String="#q@AabcCDefFikLnoOPqQ+-tuUvVwWXz0~mSBEMNRp" attribute="Parameter Expansion Operator"/><AnyChar String="gZ" attribute="Parameter Expansion Operator" context="VarFlag_s"/><AnyChar String="sj_" attribute="Parameter Expansion Operator" context="VarFlag_ps"/><AnyChar String="lrI" attribute="Parameter Expansion Operator" context="VarFlag_pl"/><DetectChar char=")" attribute="Parameter Expansion" context="#pop!VarFlagsVar"/><DetectChar char="}" attribute="Error" context="#pop"/></context><context name="VarName" attribute="Normal Text" lineEndContext="#pop"><StringDetect String="getopts" attribute="Builtin" context="#pop!BuiltinGetopts"/><StringDetect String="let" attribute="Builtin" context="#pop!BuiltinLet"/><DetectIdentifier attribute="Builtin" context="#pop!VarNameArgs"/><AnyChar String=".:-" attribute="Builtin" context="#pop!VarNameArgs"/></context><context name="VarNameArg" attribute="Normal Text" fallthroughContext="#pop!VarNameArg2" lineEndContext="#pop#pop"><DetectChar char="#" context="#pop#pop" lookAhead="1"/><AnyChar String="-+" attribute="Option" context="#pop!ShortOption"/><DetectChar char="=" attribute="Keyword" context="#pop!VarNameArg2"/></context><context name="VarNameDispatchModifiers" attribute="Normal Text" fallthroughContext="#pop#pop" lineEndContext="#pop#pop"><StringDetect String=":a" attribute="Parameter Expansion" context="#pop"/><StringDetect String=":A" attribute="Parameter Expansion" context="#pop"/><StringDetect String=":c" attribute="Parameter Expansion" context="#pop"/><StringDetect String=":e" attribute="Parameter Expansion" context="#pop"/><StringDetect String=":h" attribute="Parameter Expansion" context="#pop!VarNameModifier_h"/><StringDetect String=":l" attribute="Parameter Expansion" context="#pop"/><StringDetect String=":p" attribute="Parameter Expansion" context="#pop"/><StringDetect String=":P" attribute="Parameter Expansion" context="#pop"/><StringDetect String=":q" attribute="Parameter Expansion" context="#pop"/><StringDetect String=":Q" attribute="Parameter Expansion" context="#pop"/><StringDetect String=":r" attribute="Parameter Expansion" context="#pop"/><StringDetect String=":s" attribute="Parameter Expansion" context="#pop!VarNameModifier_s"/><StringDetect String=":t" attribute="Parameter Expansion" context="#pop!VarNameModifier_h"/><StringDetect String=":u" attribute="Parameter Expansion" context="#pop"/><StringDetect String=":x" attribute="Parameter Expansion" context="#pop"/><StringDetect String=":&amp;" attribute="Parameter Expansion" context="#pop"/><StringDetect String=":gs" attribute="Parameter Expansion" context="#pop!VarNameModifier_s"/></context><context name="VarNameModifier_s_Rep" attribute="String SingleQ" lineEndContext="#pop#pop"><DetectChar char="\" context="AssumeEscape" lookAhead="1"/><IncludeRules context="FindWord"/><DetectChar char="/" attribute="Parameter Expansion Operator" context="#pop"/><AnyChar String=" &#9;&lt;>|&amp;;()" context="#pop#pop" lookAhead="1"/><DetectIdentifier attribute="String SingleQ"/></context><context name="VarNameModifier_s_Str" attribute="String SingleQ" lineEndContext="#pop#pop"><DetectChar char="/" attribute="Parameter Expansion Operator" context="#pop!VarNameModifier_s_Rep"/><DetectChar char="\" context="AssumeEscape" lookAhead="1"/><DetectChar char='"' attribute="String DoubleQ" context="#pop"/><DetectChar char="'" attribute="String SingleQ" context="#pop"/></context><context name="VarNameParam" attribute="Variable" fallthroughContext="#pop!AfterVarName" lineEndContext="#pop"><DetectChar char="#" attribute="Parameter Expansion Operator" context="#pop!VarNameSubstLen"/><DetectChar char="+" attribute="Parameter Expansion Operator" context="#pop!VarNameParam+"/><AnyChar String="^=~" attribute="Parameter Expansion Operator"/><IncludeRules context="VarNameSubstLen"/></context><context name="VarNamePrefixedWithDollar" attribute="Variable" lineEndContext="#pop"><DetectIdentifier attribute="Variable" context="#pop!AfterVarName"/><Int attribute="Variable" context="#pop!AfterVarName" additionalDeliminator="$"/><AnyChar String="-*@?$!" attribute="Variable" context="#pop!AfterVarName"/><DetectChar char="#" attribute="Parameter Expansion Operator" context="#pop!VarNameSubstLen"/><DetectChar char="+" attribute="Parameter Expansion Operator" context="#pop!VarNameParam+"/><AnyChar String="~=^" attribute="Parameter Expansion Operator" context="#pop!VarNameParam"/></context><context name="VarOffset" attribute="Number" fallthroughContext="#pop" lineEndContext="#pop"><StringDetect String="0x" attribute="Hex" context="#pop!Hex"/><StringDetect String="0X" attribute="Hex" context="#pop!Hex"/><AnyChar String="0123456789_" attribute="Number"/><DetectChar char="#" attribute="Base"/></context><context name="VarSub" attribute="Normal Text"><DetectChar char="}" attribute="Parameter Expansion" context="#pop"/><AnyChar String="0123456789" context="VarOffset" lookAhead="1"/><AnyChar String="+-!~*/%&lt;>=&amp;^|" attribute="Operator"/><DetectChar char=":" attribute="Parameter Expansion Operator"/><DetectChar char="$" context="VarVariables" lookAhead="1"/><IncludeRules context="FindStrings"/><DetectChar char="`" attribute="Backquote" context="RegularBackq"/><DetectChar char="\" context="AssumeEscape" lookAhead="1"/></context><context name="VarSubShell" attribute="Parameter Expansion"><DetectChar char="!" attribute="Variable" context="#pop!CheckVarAlt"/></context><context name="VarVariables" attribute="Command" lineEndContext="#pop"><IncludeRules context="DispatchVariables"/><DetectChar char="$" attribute="Error" context="#pop"/></context><context name="VariableOrSubscriptPos" attribute="Normal Text" lineEndContext="#pop"><IncludeRules context="DispatchVariables"/><DetectChar char="$" attribute="Number" context="#pop"/></context></contexts><itemDatas><itemData name="Normal Text" defStyleNum="dsNormal"/><itemData name="Comment" defStyleNum="dsComment"/><itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="0"/><itemData name="Control" defStyleNum="dsKeyword" spellChecking="0"/><itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="0"/><itemData name="Builtin" defStyleNum="dsBuiltIn" spellChecking="0"/><itemData name="Command" defStyleNum="dsFunction" spellChecking="0"/><itemData name="OtherCommand" defStyleNum="dsExtension" spellChecking="0"/><itemData name="Redirection" defStyleNum="dsOperator" spellChecking="0"/><itemData name="Escape" defStyleNum="dsDataType" spellChecking="0"/><itemData name="String SingleQ" defStyleNum="dsString"/><itemData name="String DoubleQ" defStyleNum="dsString"/><itemData name="Here Doc" defStyleNum="dsString"/><itemData name="Backquote" defStyleNum="dsKeyword" spellChecking="0"/><itemData name="String Escape" defStyleNum="dsDataType"/><itemData name="Variable" defStyleNum="dsVariable" spellChecking="0"/><itemData name="Dollar Prefix" defStyleNum="dsVariable" spellChecking="0"/><itemData name="Expression" defStyleNum="dsOthers" spellChecking="0"/><itemData name="Function" defStyleNum="dsFunction" spellChecking="0"/><itemData name="Pattern" defStyleNum="dsSpecialString" spellChecking="0"/><itemData name="Path" defStyleNum="dsNormal" spellChecking="0"/><itemData name="Glob" defStyleNum="dsPreprocessor" spellChecking="0"/><itemData name="Glob Flag" defStyleNum="dsOperator" spellChecking="0"/><itemData name="Option" defStyleNum="dsAttribute" spellChecking="0"/><itemData name="Hex" defStyleNum="dsBaseN" spellChecking="0"/><itemData name="Number" defStyleNum="dsDecVal" spellChecking="0"/><itemData name="Base" defStyleNum="dsDataType" spellChecking="0"/><itemData name="BaseN" defStyleNum="dsBaseN" spellChecking="0"/><itemData name="File Descriptor" defStyleNum="dsDecVal" spellChecking="0"/><itemData name="Parameter Expansion" defStyleNum="dsVariable" spellChecking="0"/><itemData name="Parameter Expansion Operator" defStyleNum="dsOperator" spellChecking="0"/><itemData name="Operator" defStyleNum="dsOperator" spellChecking="0"/><itemData name="Error" defStyleNum="dsError" spellChecking="0"/></itemDatas></highlighting><general><comments><comment name="singleLine" start="#" position="afterwhitespace"/></comments><keywords casesensitive="1" weakDeliminator="^%#[]$._:-/" additionalDeliminator="`"/></general></language>