<language name="Jinja/Zsh" version="1771861648" kateversion="5.79" section="Other" extensions="*.sh.jinja;*.sh.jinja2;*.sh.j2;*.zsh.jinja;*.zsh.jinja2;*.zsh.j2;.zshrc.jinja;.zshrc.jinja2;.zshrc.j2;.zprofile.jinja;.zprofile.jinja2;.zprofile.j2;.zlogin.jinja;.zlogin.jinja2;.zlogin.j2;.zlogout.jinja;.zlogout.jinja2;.zlogout.j2;.profile.jinja;.profile.jinja2;.profile.j2" mimetype="application/x-shellscript.jinja" casesensitive="1" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT" priority="0" generated="true">

  <!--Generated by generate_jinja.py, the Jinja infusion script for KDE Syntax Highlighting-->

  <highlighting>
    <list name="keywords">
      <item>continue</item>
      <item>break</item>
      <item>case</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##Jinja/Bash</include>
    </list>

    <contexts>
      <context attribute="Normal Text" lineEndContext="#stay" name="Start" fallthroughContext="Command">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectChar attribute="Comment" context="Comment" char="#" />
        
        <Detect2Chars context="ExprDblParenOrSubShell" char="(" char1="(" lookAhead="1" />
        
        <DetectChar attribute="Keyword" context="SubShell" char="(" beginRegion="subshell" />
        
        <DetectChar context="MaybeBracketExpression" char="[" lookAhead="1" />
        
        <DetectChar attribute="Keyword" context="Group" char="{" beginRegion="group" />

        
        <DetectChar attribute="Backquote" context="CommandBackq" char="`" />

        
        <Detect2Chars attribute="Redirection" context="Prefix&amp;&gt;" char="&amp;" char1="&gt;" />
        <Detect2Chars attribute="Control" context="#stay" char="&amp;" char1="!" />

        
        <Detect2Chars attribute="Control" context="#stay" char="&amp;" char1="&amp;" />
        <Detect2Chars attribute="Control" context="#stay" char="|" char1="|" />

        
        <AnyChar attribute="Control" context="#stay" String="&amp;|;" />

        
        <RegExpr attribute="Variable" context="VarAssign" String="[A-Za-z_][A-Za-z0-9_]*(?=\+?=|\[(?:$|[^]]))|[0-9]+(?=\+?=)" />
        
        <keyword context="DispatchKeyword" String="keywords" lookAhead="1" />
        
        <keyword attribute="Builtin" context="VarName" String="builtins_var" lookAhead="1" />
        <WordDetect attribute="Builtin" context="#stay" String="noglob" />
        <WordDetect attribute="Builtin" context="#stay" String="coproc" />
        
        <RegExpr attribute="Function" context="#stay" String="[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\=]*+[  ]*\(\)" />
        <keyword attribute="Builtin" context="CommandArgs" String="builtins" />
        <keyword attribute="Command" context="CommandArgs" String="unixcommands" />

        
        <AnyChar context="CommandMaybeRedirection" String="&lt;&gt;0123456789" lookAhead="1" />

        <DetectChar attribute="Error" context="#stay" char=")" />
        <DetectChar context="MaybeGroupEnd" char="}" lookAhead="1" />

        <LineContinue attribute="Escape" context="#stay" />

        <Detect2Chars attribute="Expression" context="#stay" char="!" char1=" " />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="MaybeGroupEnd">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr context="#pop!Command" String="(?:}+(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]|(?=[}$'&quot;`\\])))" lookAhead="1" />
        <DetectChar attribute="Error" context="#pop" char="}" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="MaybeBracketExpression" fallthroughContext="#pop!Command">
        
        <IncludeRules context="jinja_boot##Jinja" />
        
        <RegExpr attribute="Keyword" context="#pop!ExprDblBracket" String="\[\[(?=$|[  (])" beginRegion="expression" />
        
        <RegExpr attribute="Builtin" context="#pop!ExprBracket" String="\[(?=$|[  ])" beginRegion="expression" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="CommandMaybeRedirection" fallthroughContext="#pop!Command">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindRedirection" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="Return" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <Int attribute="Number" context="#stay" />
      </context>
      
      <context attribute="Comment" lineEndContext="#pop" name="Comment">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Comment" />
        <IncludeRules context="##Jinja/Comments" />
        <DetectIdentifier attribute="Comment" context="#stay" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="Group" fallthroughContext="Command">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Keyword" context="#pop!GroupEnd" char="}" endRegion="group" />
        <IncludeRules context="Start" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="GroupEnd" fallthroughContext="#pop!CommandArgs">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <WordDetect attribute="Control Flow" context="#pop" String="always" />
      </context>

      <context attribute="OtherCommand" lineEndContext="#pop" name="Command">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!CommandArgs" />
        <DetectIdentifier attribute="OtherCommand" context="#stay" />
        <DetectChar context="CommandVariables" char="$" lookAhead="1" />
        <IncludeRules context="FindStrings" />
        <Detect2Chars attribute="Control" context="#pop" char="&amp;" char1="&amp;" />
        <Detect2Chars attribute="Control" context="#pop" char="|" char1="|" />
        <DetectChar attribute="Control" context="#pop" char="|" />
        <AnyChar context="#pop" String=";)`" lookAhead="1" />
        <AnyChar context="#pop!CommandArgs" String="&amp;&lt;&gt;" lookAhead="1" />
        
        <Detect2Chars attribute="Error" context="#pop!ExprDblParen" char="(" char1="(" beginRegion="expression" />
        
        <DetectChar attribute="Error" context="#pop!SubShell" char="(" beginRegion="subshell" />
        <DetectChar context="CommandAssumeEscape" char="\" lookAhead="1" />
        <DetectChar context="CommandMaybeBraceExpansion" char="{" lookAhead="1" />
        <DetectChar context="CommandMaybeGroupEnd" char="}" lookAhead="1" />
      </context>
      <context attribute="Command" lineEndContext="#pop" name="CommandVariables">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchVariables" />
        <DetectChar attribute="OtherCommand" context="#pop" char="$" />
      </context>
      <context attribute="OtherCommand" lineEndContext="#pop" name="CommandAssumeEscape">
        <IncludeRules context="jinja_boot##Jinja" />
        <LineContinue attribute="Escape" context="#pop" />
        <RegExpr attribute="OtherCommand" context="#pop" String="\\." />
      </context>
      <context attribute="OtherCommand" lineEndContext="#pop" name="CommandMaybeBraceExpansion">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchBraceExpansion" />
        <DetectChar attribute="OtherCommand" context="#pop" char="{" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="CommandMaybeGroupEnd">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="OtherCommand" context="#pop" String="(?:}+(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]|(?=[}$'&quot;`\\])))+" />
        <DetectChar context="#pop#pop" char="}" lookAhead="1" />
      </context>

      <context attribute="Variable" lineEndContext="#pop" name="DispatchVariables">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchSubstVariables" />
        <IncludeRules context="DispatchStringVariables" />
        <IncludeRules context="DispatchVarNameVariables" />
      </context>
      <context attribute="Variable" lineEndContext="#pop" name="DispatchSubstVariables">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop!VarBraceStart" char="$" char1="{" />
        <StringDetect context="#pop!ExprDblParenSubstOrSubstCommand" String="$((" lookAhead="1" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop!SubstCommand" char="$" char1="(" beginRegion="subshell" />
      </context>
      <context attribute="Variable" lineEndContext="#pop" name="DispatchStringVariables">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="String SingleQ" context="#pop!StringEsc" char="$" char1="'" />
        <Detect2Chars attribute="String Transl." context="#pop!StringDQ" char="$" char1="&quot;" />
      </context>
      <context attribute="Variable" lineEndContext="#pop" name="DispatchVarNameVariables">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Dollar Prefix" context="#pop!VarNamePrefixedWithDollar" String="\$(?=[A-Za-z_][A-Za-z0-9_]*|[0-9]+|[-*@?$!#~=^+])" />
      </context>
      <context attribute="Variable" lineEndContext="#pop" name="VarNamePrefixedWithDollar">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier attribute="Variable" context="#pop!AfterVarName" />
        <Int attribute="Variable" context="#pop!AfterVarName" additionalDeliminator="$" />
        <AnyChar attribute="Variable" context="#pop!AfterVarName" String="-*@?$!" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarNameSubstLen" char="#" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarNameParam+" char="+" />
        <AnyChar attribute="Parameter Expansion Operator" context="#pop!VarNameParam" String="~=^" />
      </context>
      <context attribute="Variable" lineEndContext="#pop" name="VarNameSubstLen" fallthroughContext="#pop!AfterVarName">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier attribute="Variable" context="#pop!AfterVarName" />
        <AnyChar attribute="Variable" context="#pop!AfterVarName" String="-*@?$!" />
        <Int attribute="Variable" context="#pop!AfterVarName" additionalDeliminator="#~=^+{}[]:-/$" />
      </context>
      <context attribute="Variable" lineEndContext="#pop" name="VarNameParam" fallthroughContext="#pop!AfterVarName">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarNameSubstLen" char="#" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarNameParam+" char="+" />
        <AnyChar attribute="Parameter Expansion Operator" context="#stay" String="^=~" />
        <IncludeRules context="VarNameSubstLen" />
      </context>
      <context attribute="Variable" lineEndContext="#pop" name="VarNameParam+" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="VarNameSubstLen" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#pop" name="AfterVarName" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar context="VarNameDispatchModifiers" char=":" lookAhead="1" />
        <DetectChar attribute="Parameter Expansion Operator" context="Subscript" char="[" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop#pop" name="VarNameDispatchModifiers" fallthroughContext="#pop#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=":" char1="a" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=":" char1="A" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=":" char1="c" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=":" char1="e" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop!VarNameModifier_h" char=":" char1="h" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=":" char1="l" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=":" char1="p" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=":" char1="P" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=":" char1="q" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=":" char1="Q" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=":" char1="r" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop!VarNameModifier_s" char=":" char1="s" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop!VarNameModifier_h" char=":" char1="t" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=":" char1="u" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=":" char1="x" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=":" char1="&amp;" />
        <StringDetect attribute="Parameter Expansion" context="#pop!VarNameModifier_s" String=":gs" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop#pop" name="VarNameModifier_h" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Number" context="#stay" String="0123456789" />
      </context>
      <context attribute="Parameter Expansion Operator" lineEndContext="#pop#pop" name="VarNameModifier_s" fallthroughContext="#pop#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarNameModifier_s_Str" char="/" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#pop#pop" name="VarNameModifier_s_Str">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarNameModifier_s_Rep" char="/" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
        <DetectChar attribute="String DoubleQ" context="#pop" char="&quot;" />
        <DetectChar attribute="String SingleQ" context="#pop" char="'" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#pop#pop" name="VarNameModifier_s_Rep">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
        <IncludeRules context="FindWord" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="/" />
        <AnyChar context="#pop#pop" String="  &lt;&gt;|&amp;;()" lookAhead="1" />
        <DetectIdentifier attribute="String SingleQ" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="CommandBackq" fallthroughContext="Command">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Backquote" context="#pop!CommandArgs" char="`" />
        <DetectChar attribute="Comment" context="CommentBackq" char="#" />
        <IncludeRules context="Start" />
      </context>
      
      <context attribute="Comment" lineEndContext="#pop" name="CommentBackq">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar context="#pop" char="`" lookAhead="1" />
        <IncludeRules context="Comment" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#pop" name="CommandArgs" fallthroughContext="CommandArg">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />

        
        <Detect2Chars attribute="Redirection" context="Prefix&amp;&gt;" char="&amp;" char1="&gt;" />

        
        <AnyChar context="#pop" String="&amp;|;`" lookAhead="1" />

        
        <Detect2Chars attribute="Redirection" context="ProcessSubst" char="=" char1="(" />
        
        <AnyChar context="CommandArgMaybeRedirection" String="&gt;&lt;0123456789" lookAhead="1" />

        <DetectChar context="#pop" char=")" lookAhead="1" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop#pop" name="CommandArg" fallthroughContext="#pop!NormalOption">
        
        <IncludeRules context="jinja_boot##Jinja" />
        
        <DetectChar context="#pop#pop" char="#" lookAhead="1" />
        <Detect2Chars attribute="Option" context="#pop!LongOption" char="-" char1="-" />
        <DetectChar attribute="Option" context="#pop!ShortOption" char="-" />
        <DetectChar attribute="Keyword" context="#pop!NormalOption" char="=" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="CommandArgMaybeRedirection" fallthroughContext="#pop!NormalOption">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindRedirection" />
      </context>

      <context attribute="Option" lineEndContext="#pop" name="ShortOption" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Path" context="PathThenPop" char="/" />
        <IncludeRules context="LongOption" />
      </context>
      <context attribute="Option" lineEndContext="#pop" name="LongOption" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="#pop" String="  &gt;|&amp;;)`" lookAhead="1" />
        <DetectChar attribute="Operator" context="#pop!NormalOption" char="=" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindSingleGlob" />
        <IncludeRules context="FindGlobAny" />
        <AnyChar context="#pop!NormalOption" String="({}&lt;" lookAhead="1" />
        <RegExpr attribute="Option" context="#stay" String="(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\=/]*+(?:\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})?+)*+" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="NormalOption" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="#pop" String="  &gt;|&amp;;)`" lookAhead="1" />
        <IncludeRules context="FindWord" />
        <DetectChar attribute="Glob" context="PathThenPop" char="[" lookAhead="1" />
        <DetectChar context="ExprGlobParenThenPath" char="(" lookAhead="1" />
        <IncludeRules context="FindPathThenPop" />
        <DetectChar context="NormalOptionMaybeBraceExpansion" char="{" lookAhead="1" />
        <DetectChar context="NormalOptionMaybeGroupEnd" char="}" lookAhead="1" />
        <IncludeRules context="FindNormalTextOption" />
        <DetectChar context="MaybeGlobRangeOrPop" char="&lt;" lookAhead="1" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop#pop" name="NormalOptionRecBrace">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="#pop#pop" String="  &gt;|&amp;;)`" lookAhead="1" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindSingleGlob" />
        <IncludeRules context="FindGlobAny" />
        <DetectChar context="ExprGlobParen" char="(" lookAhead="1" />
        <DetectChar context="NormalOptionMaybeBraceExpansion" char="{" lookAhead="1" />
        <DetectChar attribute="Normal Text" context="#pop" char="}" />
        <DetectChar context="MaybeGlobRangeOrPop" char="&lt;" lookAhead="1" />
        <DetectIdentifier />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="NormalOptionMaybeGroupEnd">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindNoGroupEndThenPop" />
        <DetectChar context="#pop#pop#pop" char="}" lookAhead="1" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="FindNoGroupEndThenPop">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr context="#pop" String="(?:}+(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]|(?=[}$'&quot;`\\])))" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="FindNormalTextOption">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Normal Text" context="#stay" String="([^[  &lt;&gt;|&amp;;()${}'&quot;`\\]+|(?:}+(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]|(?=[}$'&quot;`\\]))))+" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="NormalOptionMaybeBraceExpansion">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchBraceExpansion" />
        <DetectChar attribute="Normal Text" context="#pop!NormalOptionRecBrace" char="{" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="AssumeEscape">
        <IncludeRules context="jinja_boot##Jinja" />
        <LineContinue attribute="Escape" context="#pop" />
        <RegExpr attribute="Escape" context="#pop" String="\\." />
      </context>



      
      <context attribute="Normal Text" lineEndContext="#pop" name="FindRedirection">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="File Descriptor" context="#pop!AssumeRedirection" String="[0-9]++(?=[&lt;&gt;])" />
        <IncludeRules context="AssumeRedirection" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#pop" name="DispatchBraceExpansion">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr context="#pop!BraceExpansion" String="{(?:[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]++|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\$(?:\{[^\[\]  &lt;&gt;|&amp;;{}\\`'&quot;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\}|{(?:[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]++|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\$(?:\{[^\[\]  &lt;&gt;|&amp;;{}\\`'&quot;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})*?}|(?R)?+)*?,(?:[^  &lt;&gt;|&amp;;{}\\`'&quot;$]++|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\$(?:\{[^\[\]  &lt;&gt;|&amp;;{}\\`'&quot;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\}|{(?:[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]++|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\$(?:\{[^\[\]  &lt;&gt;|&amp;;{}\\`'&quot;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})*?}|(?R)?+)*?}" lookAhead="1" />
        <IncludeRules context="IncBraceExpansion" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="DispatchPathBraceExpansion">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr context="#pop!PathBraceExpansion" String="{(?:[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]++|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\$(?:\{[^\[\]  &lt;&gt;|&amp;;{}\\`'&quot;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\}|{(?:[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]++|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\$(?:\{[^\[\]  &lt;&gt;|&amp;;{}\\`'&quot;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})*?}|(?R)?+)*?,(?:[^  &lt;&gt;|&amp;;{}\\`'&quot;$]++|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\$(?:\{[^\[\]  &lt;&gt;|&amp;;{}\\`'&quot;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\}|{(?:[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]++|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\$(?:\{[^\[\]  &lt;&gt;|&amp;;{}\\`'&quot;$]*+(?:\[[*@a-zA-Z0-9]\])\})?|\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})*?}|(?R)?+)*?}" lookAhead="1" />
        <IncludeRules context="IncBraceExpansion" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="IncBraceExpansion">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Escape" context="#pop!SequenceExpression" String="{(?=-?([0-9]+|[a-zA-Z!#$%*+,-./:=?@^_~]|\$([#+^=~]*([_a-zA-Z0-9]+|[*@#])(\[((\$[#+^=~]*)?([-+_a-zA-Z0-9]+|[*@])|$#)\])?|#|'(\\.|[^'\\])')|\\.|'[^'\\]'|&quot;(\\.|[^&quot;\\`])&quot;|`[^`]*`)\.\.-?([0-9]+|[a-zA-Z!#$%*+,-./:=?@^_~]|\$([#+^=~]*([_a-zA-Z0-9]+|[*@#])(\[((\$[#+^=~]*)?([-+_a-zA-Z0-9]+|[*@])|$#)\])?|#|'(\\.|[^'\\])')|\\.|'[^'\\]'|&quot;(\\.|[^&quot;\\`])&quot;|`[^`]*`)(\.\.-?([0-9]+|\$([#+^=~]*([_a-zA-Z0-9]+|[*@#])(\[((\$[#+^=~]*)?([-+_a-zA-Z0-9]+|[*@])|$#)\])?|#|'(\\.|[^'\\])')))?})" />
        <RegExpr context="#pop" String="(?:{([^  &lt;&gt;|&amp;;{}\\`'&quot;$/{},]++|(?R))+?})+" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#pop" name="FindPathThenPop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Glob" context="PathThenPop" String="?*#^" />
        <RegExpr attribute="Path" context="PathThenPop" String="(?:~(?:/(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]*+(?:\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})?+)*+|(?=[  &lt;&gt;|&amp;;()]|$))|(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\/]*+(?:\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})?+)*+(?:/(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]*+(?:\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})?+)*+|(?=[*?#^~([]|&lt;[0-9]*-[0-9]*&gt;)|(?=\\.(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\/]*+(?:\\.|\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})?+)*+/(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]*+(?:\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})?+)*+|(?=[*?#^~([]|&lt;[0-9]*-[0-9]*&gt;)))|\.\.?(?=[  &lt;&gt;|&amp;;()]|$))" />
        <DetectChar attribute="Glob" context="PathThenPop" char="~" />
      </context>
      <context attribute="Path" lineEndContext="#pop#pop" name="IncPath">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindSingleGlob" />
        <IncludeRules context="FindGlobAny" />
        <DetectChar context="ExprGlobParen" char="(" lookAhead="1" />
        <RegExpr attribute="Path" context="#stay" String="(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]*+(?:\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})?+)*+" />
        <DetectChar context="MaybeGlobRangeOrPop" char="&lt;" lookAhead="1" />
        <DetectChar context="PathMaybeBraceExpansion" char="{" lookAhead="1" />
      </context>
      <context attribute="Path" lineEndContext="#pop#pop" name="PathThenPop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="#pop#pop" String="  &gt;|&amp;;)`" lookAhead="1" />
        <IncludeRules context="IncPath" />
        <DetectChar context="PathMaybeGroupEnd" char="}" lookAhead="1" />
        <DetectIdentifier attribute="Path" />
      </context>
      <context attribute="Path" lineEndContext="#pop" name="PathRecBrace">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="#pop" String="  &gt;|&amp;;)`" lookAhead="1" />
        <IncludeRules context="IncPath" />
        <DetectChar attribute="Path" context="#pop" char="}" />
        <DetectIdentifier attribute="Path" />
      </context>
      <context attribute="Glob" lineEndContext="#stay" name="MaybeGlobRangeOrPop" fallthroughContext="#pop#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindGlobRangeThenPop" />
      </context>
      <context attribute="Path" lineEndContext="#pop" name="PathMaybeBraceExpansion">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchPathBraceExpansion" />
        <DetectChar attribute="Path" context="#pop!PathRecBrace" char="{" />
      </context>
      <context attribute="Path" lineEndContext="#pop" name="PathMaybeGroupEnd">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindNoGroupEndThenPop" />
        <DetectChar context="#pop#pop#pop" char="}" lookAhead="1" />
      </context>
      <context attribute="Glob" lineEndContext="#stay" name="FindGlobRangeThenPop">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Glob" context="#pop!InGlobRange" String="&lt;(?=[0-9]*-[0-9]*&gt;)" />
      </context>
      <context attribute="Number" lineEndContext="#stay" name="InGlobRange">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Number" context="#stay" String="0123456789" />
        <DetectChar attribute="Glob" context="#stay" char="-" />
        <DetectChar attribute="Glob" context="#pop" char="&gt;" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#pop" name="FindPathThenPopInAlternateValue">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Glob" context="PathThenPopInAlternateValue" String="*?#^~|" />
        <Detect2Chars context="PathThenPopInAlternateValue" char="(" char1="#" lookAhead="1" />
        <AnyChar context="PathThenPopInAlternateValue" String="[(" lookAhead="1" />
        <RegExpr attribute="Path" context="PathThenPopInAlternateValue" String="(?:~(?:/(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]*+(?:\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})?+)*+|(?=[  &lt;&gt;|&amp;;()]|$))|(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\/]*+(?:\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})?+)*+(?:/(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]*+(?:\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})?+)*+|(?=[*?#^~([]|&lt;[0-9]*-[0-9]*&gt;)|(?=\\.(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\/]*+(?:\\.|\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})?+)*+/(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]*+(?:\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})?+)*+|(?=[*?#^~([]|&lt;[0-9]*-[0-9]*&gt;)))|\.\.?(?=[  &lt;&gt;|&amp;;()]|$))" />
      </context>
      <context attribute="Path" lineEndContext="#pop" name="PathThenPopInAlternateValue">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="#pop" String="  &gt;|&amp;;)`}" lookAhead="1" />
        <IncludeRules context="IncPath" />
        <DetectIdentifier />
      </context>

      <context attribute="Glob" lineEndContext="#stay" name="FindGlobAny">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Glob" context="GlobAnyFlag" char="[" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#pop" name="GlobAnyFlag" fallthroughContext="#pop!GlobAny">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Glob Flag" context="#pop!GlobAny" char="^" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#pop" name="GlobAny">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier attribute="String SingleQ" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
        <DetectChar attribute="Glob Flag" context="#stay" char="-" />
        <IncludeRules context="FindStrings" />
        <DetectChar attribute="Glob" context="#pop" char="]" />
        <Detect2Chars attribute="Glob" context="GlobClass" char="[" char1=":" />
      </context>
      <context attribute="Glob" lineEndContext="#pop#pop" name="GlobClass">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier attribute="Pattern" />
        <Detect2Chars attribute="Glob" context="#pop" char=":" char1="]" />
        <DetectChar attribute="Error" context="#pop" char="]" />
      </context>

      <context attribute="Pattern" lineEndContext="#stay" name="FindSingleGlob">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Glob" context="#stay" String="*?#^~" />
      </context>

      <context attribute="Pattern" lineEndContext="#stay" name="FindGlobPattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Glob" context="#stay" String="*?#^~|" />
        <IncludeRules context="FindGlobAny" />
        <IncludeRules context="FindGroupPattern" />
      </context>

      <context attribute="Pattern" lineEndContext="#stay" name="FindPattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindGlobPattern" />
        <DetectChar context="GlobRangeOrError" char="&lt;" lookAhead="1" />
      </context>
      <context attribute="Glob" lineEndContext="#stay" name="GlobRangeOrError">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindGlobRangeThenPop" />
        <DetectChar attribute="Error" context="#pop" char="&lt;" />
      </context>

      <context attribute="Pattern" lineEndContext="#stay" name="FindSubPattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindGlobPattern" />
        <DetectChar context="GlobRangeOrPattern" char="&lt;" lookAhead="1" />
      </context>
      <context attribute="Pattern" lineEndContext="#stay" name="GlobRangeOrPattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindGlobRangeThenPop" />
        <DetectChar attribute="Pattern" context="#pop" char="&lt;" />
      </context>

      <context attribute="Pattern" lineEndContext="#stay" name="FindStringDQPattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindGlobPattern" />
        <DetectChar context="GlobRangeOrStringDQ" char="&lt;" lookAhead="1" />
      </context>
      <context attribute="String DoubleQ" lineEndContext="#stay" name="GlobRangeOrStringDQ">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindGlobRangeThenPop" />
        <DetectChar attribute="String DoubleQ" context="#pop" char="&lt;" />
      </context>

      <context attribute="Glob Flag" lineEndContext="#stay" name="FindGroupPattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Glob Flag" context="GlobPatFlag" char="(" char1="#" />
        <DetectChar attribute="Glob" context="ExtGlobPattern" char="(" />
      </context>
      <context attribute="Pattern" lineEndContext="#stay" name="ExtGlobPattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Glob" context="#pop" char=")" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindSubPattern" />
        <DetectIdentifier attribute="Pattern" />
      </context>
      <context attribute="Pattern" lineEndContext="#stay" name="ExtGlobPatternThenPath">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Glob" context="#pop!PathThenPop" char=")" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindSubPattern" />
        <DetectIdentifier attribute="Pattern" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="VarAssign" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="Subscript" char="[" />
        <DetectChar attribute="Operator" context="#pop!Assign" char="=" />
        <Detect2Chars attribute="Operator" context="#pop!Assign" char="+" char1="=" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="DispatchKeyword">
        
        <IncludeRules context="jinja_boot##Jinja" />
        
        <Detect2Chars attribute="Control Flow" context="#pop!NotCond" char="i" char1="f" beginRegion="if" />
        <Detect2Chars attribute="Control Flow" context="#pop" char="f" char1="i" endRegion="if" />
        <StringDetect attribute="Control Flow" context="#pop" String="done" endRegion="do" />
        <Detect2Chars attribute="Control Flow" context="#pop" char="d" char1="o" beginRegion="do" />
        
        <StringDetect attribute="Control Flow" context="#pop!NotCond" String="while" />
        <StringDetect attribute="Control Flow" context="#pop!NotCond" String="until" />
        
        <StringDetect attribute="Control Flow" context="#pop!Foreach" String="foreach" />
        <StringDetect attribute="Control Flow" context="#pop!For" String="for" />
        
        <StringDetect attribute="Control Flow" context="#pop!Select" String="select" />
        <StringDetect attribute="Control Flow" context="#pop!Repeat" String="repeat" />
        
        <StringDetect attribute="Control Flow" context="#pop!Case" String="case" beginRegion="case" />
        
        <StringDetect attribute="Keyword" context="#pop!FunctionDef" String="function" />
        <StringDetect attribute="Control Flow" context="#pop!Return" String="return" />
        
        <Detect2Chars attribute="Error" context="#pop" char="i" char1="n" />
        <StringDetect attribute="Error" context="#pop" String="esac" />
        
        <DetectIdentifier attribute="Control Flow" context="#pop" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#pop" name="NotCond" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!NotCond2" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="NotCond2" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Expression" context="#pop" char="!" char1=" " />
        <Detect2Chars attribute="Expression" context="#pop" char="!" char1=" " />
        <LineContinue attribute="Expression" context="#pop" char="!" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="Foreach" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <LineContinue attribute="Escape" context="#stay" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectIdentifier attribute="Normal Text" context="#stay" />
        <DetectChar attribute="Keyword" context="#pop!ForeachWord" char="(" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="ForeachWord" fallthroughContext="NormalOption">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectChar attribute="Control" context="#stay" char=";" />
        <DetectChar attribute="Keyword" context="#pop" char=")" />
        <DetectChar attribute="Backquote" context="CommandBackq" char="`" />
        <AnyChar attribute="Control" context="#stay" String="&lt;&gt;|&amp;;()" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="For" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <LineContinue attribute="Escape" context="#stay" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <WordDetect attribute="Keyword" context="#pop!CommandArgs" String="in" />
        <DetectIdentifier attribute="Normal Text" context="#stay" />
        <Detect2Chars attribute="Keyword" context="#pop!ForArithmeticExpr" char="(" char1="(" />
        <DetectChar attribute="Keyword" context="#pop!ForeachWord" char="(" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="ForArithmeticExpr">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectChar attribute="Control" context="#stay" char=";" />
        <Detect2Chars attribute="Keyword" context="#pop" char=")" char1=")" />
        <IncludeRules context="FindExprDblParen" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="Select" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <LineContinue attribute="Escape" context="#stay" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectIdentifier attribute="Normal Text" context="#pop!SelectIn" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="SelectIn" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <LineContinue attribute="Escape" context="#stay" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <WordDetect attribute="Keyword" context="#pop!CommandArgs" String="in" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="Repeat" fallthroughContext="#pop!RepeatArithmeticExpr">
        <IncludeRules context="jinja_boot##Jinja" />
        <LineContinue attribute="Escape" context="#stay" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="RepeatArithmeticExpr">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop" />
        <DetectChar attribute="Control" context="#pop" char=";" />
        <IncludeRules context="FindExprDblParen" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#pop" name="Prefix&amp;&gt;" fallthroughContext="#pop!FdRedirection">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Redirection" context="#pop!WordRedirection" char="&gt;" char1="|" />
        <Detect2Chars attribute="Redirection" context="#pop!WordRedirection" char="&gt;" char1="!" />
        <AnyChar attribute="Redirection" context="#pop!WordRedirection" String="&gt;|!" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="AssumeRedirection">
        
        <IncludeRules context="jinja_boot##Jinja" />
        
        <StringDetect attribute="Redirection" context="#pop!WordRedirection" String="&gt;&gt;|" />
        <StringDetect attribute="Redirection" context="#pop!WordRedirection" String="&gt;&gt;!" />
        <StringDetect attribute="Redirection" context="#pop!WordRedirection" String="&gt;&gt;&amp;|" />
        <StringDetect attribute="Redirection" context="#pop!WordRedirection" String="&gt;&gt;&amp;!" />
        <StringDetect attribute="Redirection" context="#pop!ProcessSubst" String="&gt;&gt;(" />
        <Detect2Chars attribute="Redirection" context="#pop!WordRedirection" char="&gt;" char1="&gt;" />
        <Detect2Chars attribute="Redirection" context="#pop!WordRedirection" char="&gt;" char1="|" />
        <Detect2Chars attribute="Redirection" context="#pop!WordRedirection" char="&gt;" char1="!" />
        <StringDetect attribute="Redirection" context="#pop!WordRedirection" String="&gt;&amp;|" />
        <StringDetect attribute="Redirection" context="#pop!WordRedirection" String="&gt;&amp;!" />
        <Detect2Chars attribute="Redirection" context="#pop!FdRedirection" char="&gt;" char1="&amp;" />
        <Detect2Chars attribute="Redirection" context="#pop!ProcessSubst" char="&gt;" char1="(" />
        <DetectChar attribute="Redirection" context="#pop!WordRedirection" char="&gt;" />
        
        <Detect2Chars attribute="Redirection" context="#pop!ProcessSubst" char="&lt;" char1="(" />
        <StringDetect attribute="Redirection" context="#pop!ProcessSubst" String="&lt;&lt;(" />
        <StringDetect attribute="Redirection" context="#pop!StringRedirection" String="&lt;&lt;&lt;" />
        
        <Detect2Chars context="#pop!HereDoc" char="&lt;" char1="&lt;" lookAhead="1" />
        <Detect2Chars attribute="Redirection" context="#pop!FdRedirection" char="&lt;" char1="&amp;" />
        <Detect2Chars attribute="Redirection" context="#pop!WordRedirection" char="&lt;" char1="&gt;" />
        <IncludeRules context="FindGlobRangeThenPop" />
        <DetectChar attribute="Redirection" context="#pop!WordRedirection" char="&lt;" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="FdRedirection" fallthroughContext="#pop!FdRedirection2">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!FdRedirection2" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="FdRedirection2" fallthroughContext="#pop!WordRedirection2">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="File Descriptor" context="#pop!CloseFile" String="[0-9]+(?=-?(?=$|[  &lt;&gt;|&amp;;)]))" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="WordRedirection" fallthroughContext="#pop!WordRedirection2">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!WordRedirection2" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="WordRedirection2" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="#pop" String="  &lt;&gt;|&amp;;()`" lookAhead="1" />
        <IncludeRules context="FindWord" />
        <RegExpr attribute="Path" context="PathThenPop" String="(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]*+(?:\{[^  &lt;&gt;|&amp;;{}\\`'&quot;$,]*+\})?+)*+" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="StringRedirection" fallthroughContext="#pop!StringRedirection2">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!StringRedirection2" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="StringRedirection2">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="#pop" String="  &lt;&gt;|&amp;;()`" lookAhead="1" />
        <IncludeRules context="FindWord" />
        <DetectIdentifier attribute="Normal Text" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="CloseFile" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Keyword" context="#pop" char="-" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="HereDoc">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Redirection" context="HereDocIQ" String="&lt;&lt;-[  ]*(?|&quot;([^&quot;]+)&quot;|'([^']+)'|\\(.[^  &lt;&gt;|&amp;;()${}'&quot;`\\]*))(?=[  ]*$)" />
        <RegExpr attribute="Redirection" context="HereDocINQ" String="&lt;&lt;-[  ]*([^  &lt;&gt;|&amp;;()]+)(?=[  ]*$)" />
        <RegExpr attribute="Redirection" context="HereDocQ" String="&lt;&lt;[  ]*(?|&quot;([^&quot;]+)&quot;|'([^']+)'|\\(.[^  &lt;&gt;|&amp;;()${}'&quot;`\\]*))(?=[  ]*$)" />
        <RegExpr attribute="Redirection" context="HereDocNQ" String="&lt;&lt;[  ]*([^  &lt;&gt;|&amp;;()]+)(?=[  ]*$)" />

        <RegExpr context="HereDocIQCmd" String="(&lt;&lt;-[  ]*(?|&quot;([^&quot;]+)&quot;|'([^']+)'|\\(.[^  &lt;&gt;|&amp;;()${}'&quot;`\\]*)))" lookAhead="1" />
        <RegExpr context="HereDocINQCmd" String="(&lt;&lt;-[  ]*([^  &lt;&gt;|&amp;;()]+))" lookAhead="1" />
        <RegExpr context="HereDocQCmd" String="(&lt;&lt;[  ]*(?|&quot;([^&quot;]+)&quot;|'([^']+)'|\\(.[^  &lt;&gt;|&amp;;()${}'&quot;`\\]*)))" lookAhead="1" />
        <RegExpr context="HereDocNQCmd" String="(&lt;&lt;[  ]*([^  &lt;&gt;|&amp;;()]+))" lookAhead="1" />

        <Detect2Chars attribute="Redirection" context="#pop" char="&lt;" char1="&lt;" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="HereDocRemainder" fallthroughContext="CommandArg">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="ZshOneLine" String="&amp;|;`" lookAhead="1" />
        <IncludeRules context="CommandArgs" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="ZshOneLine" fallthroughContext="Command">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="Start" />
      </context>

      <context attribute="Here Doc" lineEndContext="#stay" name="HereDocQ" dynamic="1" fallthroughContext="HereDocText">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Redirection" context="#pop#pop" String="^%1$" dynamic="1" column="0" />
      </context>

      <context attribute="Here Doc" lineEndContext="#stay" name="HereDocNQ" dynamic="1" fallthroughContext="HereDocSubstitutions">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="HereDocQ" />
      </context>

      <context attribute="Here Doc" lineEndContext="#stay" name="HereDocIQ" dynamic="1" fallthroughContext="HereDocText">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%1$" dynamic="1" column="0" />
      </context>

      <context attribute="Here Doc" lineEndContext="#stay" name="HereDocINQ" dynamic="1" fallthroughContext="HereDocSubstitutions">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="HereDocIQ" />
      </context>

      <context attribute="Here Doc" lineEndContext="#stay" name="HereDocCmd">
        
        <IncludeRules context="jinja_boot##Jinja" />
        
        <StringDetect attribute="Redirection" context="ZshOneLine" String="%1" dynamic="true" firstNonSpace="1" />
        <StringDetect attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
      </context>

      <context attribute="Here Doc" lineEndContext="#stay" name="HereDocQCmd" dynamic="1" fallthroughContext="HereDocText">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="HereDocCmd" />
        <RegExpr attribute="Redirection" context="#pop#pop" String="^%2$" dynamic="1" column="0" />
      </context>

      <context attribute="Here Doc" lineEndContext="#stay" name="HereDocNQCmd" dynamic="1" fallthroughContext="HereDocSubstitutions">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="HereDocQCmd" />
      </context>

      <context attribute="Here Doc" lineEndContext="#stay" name="HereDocIQCmd" dynamic="1" fallthroughContext="HereDocText">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="HereDocCmd" />
        <RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%2$" dynamic="1" column="0" />
      </context>

      <context attribute="Here Doc" lineEndContext="#stay" name="HereDocINQCmd" dynamic="1" fallthroughContext="HereDocSubstitutions">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="HereDocIQCmd" />
      </context>

      <context attribute="Here Doc" lineEndContext="#pop" name="HereDocText">
      <IncludeRules context="jinja_boot##Jinja" />
      </context>

      <context attribute="Here Doc" lineEndContext="#pop" name="HereDocSubstitutions">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Here Doc" />
        <DetectIdentifier attribute="Here Doc" />
        <DetectChar context="HereDocVariables" char="$" lookAhead="1" />
        <DetectChar attribute="Backquote" context="CommandBackq" char="`" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
      </context>
      <context attribute="Here Doc" lineEndContext="#pop" name="HereDocVariables">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchSubstVariables" />
        <IncludeRules context="DispatchVarNameVariables" />
        <DetectChar attribute="Here Doc" context="#pop" char="$" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#pop" name="VarName">
        <IncludeRules context="jinja_boot##Jinja" />
        <StringDetect attribute="Builtin" context="#pop!BuiltinGetopts" String="getopts" />
        <StringDetect attribute="Builtin" context="#pop!BuiltinLet" String="let" />
        <DetectIdentifier attribute="Builtin" context="#pop!VarNameArgs" />
        <AnyChar attribute="Builtin" context="#pop!VarNameArgs" String=".:-" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="VarNameArgs" fallthroughContext="#pop!CommandArgs">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="VarNameArg" />
        <LineContinue attribute="Escape" context="#stay" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop#pop" name="VarNameArg" fallthroughContext="#pop!VarNameArg2">
        
        <IncludeRules context="jinja_boot##Jinja" />
        
        <DetectChar context="#pop#pop" char="#" lookAhead="1" />
        <AnyChar attribute="Option" context="#pop!ShortOption" String="-+" />
        <DetectChar attribute="Keyword" context="#pop!VarNameArg2" char="=" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="VarNameArg2" fallthroughContext="#pop!NormalOption">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Variable" context="Subscript" char="[" />
        <DetectChar attribute="Operator" context="Assign" char="=" />
        <DetectChar attribute="Variable" context="AssignArray" char="(" />
        <DetectIdentifier attribute="Variable" context="#stay" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="BuiltinGetopts" fallthroughContext="#pop!CommandArgs">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!BuiltinGetoptsOpt" />
        <LineContinue attribute="Escape" context="#stay" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop#pop" name="BuiltinGetoptsOpt" fallthroughContext="#pop!BuiltinGetoptsOpt2">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar context="#pop#pop" char="#" lookAhead="1" />
        <DetectChar attribute="Keyword" context="#pop!NormalOption" char="=" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="BuiltinGetoptsOpt2" fallthroughContext="#pop!NormalOption">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Operator" context="#stay" char=":" />
        <DetectIdentifier attribute="Normal Text" context="#stay" />
        <DetectSpaces attribute="Normal Text" context="#pop!BuiltinGetoptsVar" />
        <AnyChar context="#pop" String="  &gt;|&amp;;)`" lookAhead="1" />
        <IncludeRules context="FindWord" />
        <DetectChar context="NormalOptionMaybeBraceExpansion" char="{" lookAhead="1" />
        <DetectChar context="NormalOptionMaybeGroupEnd" char="}" lookAhead="1" />
        <AnyChar attribute="Normal Text" context="#stay" String="/%.0123456789" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="BuiltinGetoptsVar" fallthroughContext="#pop!CommandArgs">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier attribute="Variable" context="#pop!CommandArgs" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="BuiltinLet" fallthroughContext="#pop!CommandArgs">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!BuiltinLetArgs" />
        <LineContinue attribute="Escape" context="#stay" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="BuiltinLetArgs" fallthroughContext="BuiltinLetArg">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="BuiltinLetArgsNumber" String="0123456789" lookAhead="1" />
        <IncludeRules context="CommandArgs" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="BuiltinLetArgsNumber" fallthroughContext="#pop!BuiltinLetArg">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindRedirection" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop#pop" name="BuiltinLetArg" fallthroughContext="#pop!BuiltinLetExpr">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar context="#pop#pop" char="#" lookAhead="1" />
        <DetectChar attribute="Keyword" context="#pop!NormalOption" char="=" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="BuiltinLetExpr" fallthroughContext="#pop!NormalOption">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier attribute="Variable" context="#stay" />
        <AnyChar context="#pop" String="  &gt;|&amp;;)`" lookAhead="1" />
        <AnyChar attribute="Operator" context="#stay" String="+-!%=^:" />
        <AnyChar context="Number" String="0123456789." lookAhead="1" />
        <DetectChar attribute="Parameter Expansion Operator" context="Subscript" char="[" />
        <IncludeRules context="FindWord" />
        <Detect2Chars attribute="BaseN" context="NoPrefix" char="#" char1="#" />
        <DetectChar attribute="Error" context="#stay" char="#" />
        <DetectChar context="NormalOptionMaybeBraceExpansion" char="{" lookAhead="1" />
        <DetectChar context="NormalOptionMaybeGroupEnd" char="}" lookAhead="1" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="ProcessSubst" fallthroughContext="Command">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Redirection" context="#pop" char=")" />
        <IncludeRules context="Start" />
      </context>

      
      <context attribute="String SingleQ" lineEndContext="#stay" name="StringSQ">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="String SingleQ" />
        <DetectIdentifier attribute="String SingleQ" />
        <DetectChar attribute="String SingleQ" context="#pop" char="'" />
      </context>

      
      <context attribute="String DoubleQ" lineEndContext="#stay" name="StringDQ">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="String DoubleQ" />
        <DetectIdentifier attribute="String DoubleQ" />
        <DetectChar attribute="String DoubleQ" context="#pop" char="&quot;" />
        <DetectChar context="StringDQEscape" char="\" lookAhead="1" />
        <DetectChar context="StringDQDispatchVariables" char="$" lookAhead="1" />
        <DetectChar attribute="Backquote" context="RegularBackq" char="`" />
      </context>
      <context attribute="String DoubleQ" lineEndContext="#stay" name="StringDQDispatchVariables">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchSubstVariables" />
        <IncludeRules context="DispatchVarNameVariables" />
        <DetectChar attribute="String DoubleQ" context="#pop" char="$" />
      </context>
      <context attribute="String DoubleQ" lineEndContext="#pop" name="StringDQEscape">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="String Escape" context="#pop" char="\" char1="&quot;" />
        <Detect2Chars attribute="String Escape" context="#pop" char="\" char1="\" />
        <Detect2Chars attribute="String Escape" context="#pop" char="\" char1="`" />
        <Detect2Chars attribute="String Escape" context="#pop" char="\" char1="$" />
        <LineContinue attribute="String Escape" context="#pop" />
        <DetectChar attribute="String DoubleQ" context="#pop" char="\" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="RegularBackq" fallthroughContext="Command">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Backquote" context="#pop" char="`" />
        <DetectChar attribute="Comment" context="CommentBackq" char="#" />
        <IncludeRules context="Start" />
      </context>

      
      <context attribute="String SingleQ" lineEndContext="#stay" name="StringEsc">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="String SingleQ" />
        <DetectIdentifier attribute="String SingleQ" />
        <DetectChar attribute="String SingleQ" context="#pop" char="'" />
        <RegExpr attribute="String Escape" context="#stay" 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.)?" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="FindWord">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindStrings" />
        <DetectChar context="RegularVariable" char="$" lookAhead="1" />
        <DetectChar attribute="Backquote" context="RegularBackq" char="`" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="RegularVariable">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchVariables" />
        <DetectChar attribute="Normal Text" context="#pop" char="$" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="FindStrings">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="String SingleQ" context="StringSQ" char="'" />
        <DetectChar attribute="String DoubleQ" context="StringDQ" char="&quot;" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="SubstCommand" fallthroughContext="Command">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion" context="#pop" char=")" endRegion="subshell" />
        <IncludeRules context="Start" />
      </context>

      
      <context attribute="Variable" lineEndContext="#pop" name="VarBraceStart" fallthroughContext="#pop!CheckVarAlt">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion" context="#pop!VarFlags" char="(" />
        <IncludeRules context="VarFlagsVar" />
      </context>
      <context attribute="Variable" lineEndContext="#stay" name="VarBraceStartRecursive" fallthroughContext="#pop#pop!CheckVarAlt">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion" context="VarBraceStart" char="$" char1="{" />
        <StringDetect context="#pop!ExprDblParenSubstOrSubstCommand" String="$((" lookAhead="1" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop!SubstCommand" char="$" char1="(" beginRegion="subshell" />
        <DetectChar attribute="Error" context="#pop" char="$" />
      </context>
      <context attribute="Error" lineEndContext="#stay" name="VarError">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion" context="#pop" char="}" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="CheckVarAlt" fallthroughContext="#pop!VarError">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion" context="#pop" char="}" />
        <StringDetect attribute="Parameter Expansion Operator" context="#stay" String="[@]" />
        <StringDetect attribute="Parameter Expansion Operator" context="#stay" String="[*]" />
        <DetectChar attribute="Parameter Expansion Operator" context="Subscript" char="[" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!AlternatePatternValue" char="%" char1="%" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!AlternatePatternValue" char="#" char1="#" />
        <AnyChar attribute="Parameter Expansion Operator" context="#pop!AlternatePatternValue" String="#%" />
        <AnyChar attribute="Parameter Expansion Operator" context="#pop!AlternateValue" String="-+=?" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!AlternateValuePrefix" char=":" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!VarBraceSubst" char="/" char1="/" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarBraceSubst" char="/" />
      </context>
      <context attribute="Parameter Expansion" lineEndContext="#stay" name="AlternateValuePrefix" fallthroughContext="#pop!VarSub">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!AlternateValue" char="^" char1="^" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!AlternatePatternValue" char="#" />
        <AnyChar attribute="Parameter Expansion Operator" context="#pop!AlternateValue" String="-+=?|*^" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!AlternateValue" char=":" char1="=" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarBraceSubst" char="/" />

        
        <AnyChar attribute="Parameter Expansion" context="#pop!VarBraceModifiers" String="aAcehlpPqQrsg&amp;tux" lookAhead="1" />
      </context>

      
      <context attribute="Parameter Expansion" lineEndContext="#stay" name="VarBraceModifiers">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion" context="#pop" char="}" />
        <DetectChar attribute="Parameter Expansion Operator" context="#stay" char=":" />
        <AnyChar attribute="Parameter Expansion" context="VarBraceModifier_h" String="ht" />
        <DetectChar attribute="Parameter Expansion" context="VarBraceModifier_s" char="s" />
        <Detect2Chars attribute="Parameter Expansion" context="VarBraceModifier_s" char="g" char1="s" />
      </context>
      <context attribute="Parameter Expansion" lineEndContext="#stay" name="VarBraceModifier_h" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Number" context="#stay" String="0123456789" />
      </context>

      
      <context attribute="Parameter Expansion" lineEndContext="#stay" name="VarBraceModifier_s">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Error" context="#pop#pop" char="}" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarBraceModifier_s_Str" char="/" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarBraceModifier_s_Str">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion" context="#pop#pop" char="}" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarBraceModifier_s_Rep" char="/" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
        <DetectChar attribute="String SingleQ" context="RecursiveVarBraceModifier_s" char="{" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="RecursiveVarBraceModifier_s">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
        <DetectChar attribute="String SingleQ" context="#pop" char="}" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarBraceModifier_s_Rep">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion" context="#pop#pop" char="}" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="/" />
        <DetectChar attribute="String SingleQ" context="RecursiveVarBraceModifier_s" char="{" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="VarSub">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion" context="#pop" char="}" />
        <AnyChar context="VarOffset" String="0123456789" lookAhead="1" />
        <AnyChar attribute="Operator" context="#stay" String="+-!~*/%&lt;&gt;=&amp;^|" />
        <DetectChar attribute="Parameter Expansion Operator" context="#stay" char=":" />
        <DetectChar context="VarVariables" char="$" lookAhead="1" />
        <IncludeRules context="FindStrings" />
        <DetectChar attribute="Backquote" context="RegularBackq" char="`" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
      </context>
      <context attribute="Command" lineEndContext="#pop" name="VarVariables">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchVariables" />
        <DetectChar attribute="Error" context="#pop" char="$" />
      </context>
      <context attribute="Number" lineEndContext="#pop" name="VarOffset" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Hex" context="#pop!Hex" char="0" char1="x" />
        <Detect2Chars attribute="Hex" context="#pop!Hex" char="0" char1="X" />
        <AnyChar attribute="Number" context="#stay" String="0123456789_" />
        <DetectChar attribute="Base" context="#stay" char="#" />
      </context>

      
      <context attribute="String DoubleQ" lineEndContext="#stay" name="AlternateValue">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="String DoubleQ" context="RecursiveAlternateValue" char="{" />
        <DetectChar attribute="Parameter Expansion" context="#pop" char="}" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindPathThenPopInAlternateValue" />
        <DetectIdentifier attribute="String DoubleQ" />
      </context>
      <context attribute="String DoubleQ" lineEndContext="#stay" name="RecursiveAlternateValue">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="String DoubleQ" context="RecursiveAlternateValue" char="{" />
        <DetectChar attribute="String DoubleQ" context="#pop" char="}" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindPathThenPopInAlternateValue" />
        <DetectIdentifier attribute="String DoubleQ" />
      </context>

      
      <context attribute="String DoubleQ" lineEndContext="#stay" name="AlternatePatternValue">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="String DoubleQ" context="RecursiveAlternatePatternValue" char="{" />
        <DetectChar attribute="Parameter Expansion" context="#pop" char="}" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindStringDQPattern" />
        <DetectIdentifier attribute="String DoubleQ" />
      </context>
      <context attribute="String DoubleQ" lineEndContext="#stay" name="RecursiveAlternatePatternValue">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="String DoubleQ" context="RecursiveAlternateValue" char="{" />
        <DetectChar attribute="String DoubleQ" context="#pop" char="}" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindStringDQPattern" />
        <DetectIdentifier attribute="String DoubleQ" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="VarBraceSubst" fallthroughContext="#pop!VarBraceSubstPat">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!VarBraceSubstPat" char="#" char1="%" />
        <AnyChar attribute="Parameter Expansion Operator" context="#pop!VarBraceSubstPat" String="#%" />
      </context>
      <context attribute="Pattern" lineEndContext="#stay" name="VarBraceSubstPat">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!AlternateValue" char="/" />
        <DetectChar attribute="String DoubleQ" context="RecursiveAlternateValue" char="{" />
        <DetectChar attribute="Parameter Expansion" context="#pop" char="}" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindSubPattern" />
        <DetectIdentifier attribute="Pattern" />
      </context>

      
      <context attribute="Parameter Expansion" lineEndContext="#stay" name="VarFlags">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Parameter Expansion Operator" context="#stay" String="#%*q@AabcCDefFikLnoOPqQ+-tuUvVwWXz0~mSBEMNR" />
        <AnyChar attribute="Parameter Expansion Operator" context="VarFlag_s" String="sjgZ_" />
        <AnyChar attribute="Parameter Expansion Operator" context="VarFlag_l" String="lrI" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlagsSubs" char="p" />

        <DetectChar attribute="Parameter Expansion" context="#pop!VarFlagsVar" char=")" />
        <DetectChar attribute="Error" context="#pop" char="}" />
      </context>
      <context attribute="Parameter Expansion" lineEndContext="#stay" name="VarFlagsSubs">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Parameter Expansion Operator" context="#stay" String="#q@AabcCDefFikLnoOPqQ+-tuUvVwWXz0~mSBEMNRp" />
        <AnyChar attribute="Parameter Expansion Operator" context="VarFlag_s" String="gZ" />
        <AnyChar attribute="Parameter Expansion Operator" context="VarFlag_ps" String="sj_" />
        <AnyChar attribute="Parameter Expansion Operator" context="VarFlag_pl" String="lrI" />

        <DetectChar attribute="Parameter Expansion" context="#pop!VarFlagsVar" char=")" />
        <DetectChar attribute="Error" context="#pop" char="}" />
      </context>
      <context attribute="Variable" lineEndContext="#stay" name="VarFlagsVar" fallthroughContext="#pop!CheckVarAlt">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar context="VarBraceStartRecursive" char="$" lookAhead="1" />
        <DetectChar attribute="Parameter Expansion" context="#pop" char="}" />
        <DetectChar attribute="String DoubleQ" context="StringDQ" char="&quot;" />
        <AnyChar attribute="Parameter Expansion Operator" context="#stay" String="#+^=~" />
        <DetectIdentifier attribute="Variable" context="#pop!CheckVarAlt" />
        <AnyChar attribute="Variable" context="#pop!CheckVarAlt" String="*@?$-" />
        <Int attribute="Variable" context="#pop!CheckVarAlt" additionalDeliminator="#~=^+{}[]:-/$" />
        <Detect2Chars context="#pop!VarSubShell" char="!" char1="}" lookAhead="1" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!AlternateValue" char="!" />
      </context>

      <context attribute="Parameter Expansion" lineEndContext="#stay" name="VarSubShell">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Variable" context="#pop!CheckVarAlt" char="!" />
      </context>

      <context attribute="Parameter Expansion" lineEndContext="#stay" name="VarFlag_s">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_s[" char="[" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_s&lt;" char="&lt;" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_s{" char="{" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_s(" char="(" />
        <RegExpr attribute="Parameter Expansion Operator" context="#pop!VarFlag_sx" String="(.)" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_s[">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="]" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_s&lt;">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="&gt;" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_s{">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="}" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_s(">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char=")" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_sx">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="1" dynamic="1" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="VarFlag_l">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_l[" char="[" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_l&lt;" char="&lt;" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_l{" char="{" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_l(" char="(" />
        <RegExpr attribute="Parameter Expansion Operator" context="#pop!VarFlag_lx" String="(.)" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="VarFlag_l[">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!VarFlag_l[s" char="]" char1="[" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="]" />
        <IncludeRules context="FindExprDblParen" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="VarFlag_l&lt;">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!VarFlag_l&lt;s" char="&gt;" char1="&lt;" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="&gt;" />
        <IncludeRules context="FindExprDblParen" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="VarFlag_l{">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!VarFlag_l{s" char="}" char1="{" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="}" />
        <IncludeRules context="FindExprDblParen" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="VarFlag_l(">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!VarFlag_l(s" char=")" char1="(" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char=")" />
        <IncludeRules context="FindExprDblParen" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="VarFlag_lx">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Parameter Expansion Operator" context="#pop!VarFlag_lxs" String="(%1)%1" dynamic="1" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="1" dynamic="1" />
        <IncludeRules context="FindExprDblParen" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_l[s">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#stay" char="]" char1="[" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="]" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_l&lt;s">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#stay" char="&gt;" char1="&lt;" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="&gt;" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_l{s">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#stay" char="}" char1="{" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="}" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_l(s">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#stay" char=")" char1="(" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char=")" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_lxs">
        <IncludeRules context="jinja_boot##Jinja" />
        <StringDetect attribute="Parameter Expansion Operator" context="#stay" String="%1%1" dynamic="1" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="1" dynamic="1" />
      </context>

      <context attribute="Parameter Expansion" lineEndContext="#stay" name="VarFlag_ps">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_ps[" char="[" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_ps&lt;" char="&lt;" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_ps{" char="{" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_ps(" char="(" />
        <RegExpr attribute="Parameter Expansion Operator" context="#pop!VarFlag_psx" String="(.)" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_ps[">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="]" />
        <RegExpr attribute="Variable" context="#stay" String="\$([A-Za-z_][A-Za-z0-9_]*|[0-9]+)(?=\])" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_ps&lt;">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="&gt;" />
        <RegExpr attribute="Variable" context="#stay" String="\$([A-Za-z_][A-Za-z0-9_]*|[0-9]+)(?=&gt;)" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_ps{">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="}" />
        <RegExpr attribute="Variable" context="#stay" String="\$([A-Za-z_][A-Za-z0-9_]*|[0-9]+)(?=})" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_ps(">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char=")" />
        <RegExpr attribute="Variable" context="#stay" String="\$([A-Za-z_][A-Za-z0-9_]*|[0-9]+)(?=\))" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_psx">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="1" dynamic="1" />
        <RegExpr attribute="Variable" context="#stay" String="\$(?!%1)(?:[A-Za-z_](?:(?!%1)[A-Za-z0-9_])*+|(?:(?!%1)[0-9])++)(?=%1)" dynamic="1" />
        <RegExpr attribute="String SingleQ" context="#stay" String="[^%1]+" dynamic="1" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="VarFlag_pl">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl[" char="[" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl&lt;" char="&lt;" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl{" char="{" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl(" char="(" />
        <RegExpr attribute="Parameter Expansion Operator" context="#pop!VarFlag_plx" String="(.)" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="VarFlag_pl[">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl[s" char="]" char1="[" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="]" />
        <IncludeRules context="FindExprDblParen" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="VarFlag_pl&lt;">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl&lt;s" char="&gt;" char1="&lt;" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="&gt;" />
        <IncludeRules context="FindExprDblParen" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="VarFlag_pl{">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl{s" char="}" char1="{" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="}" />
        <IncludeRules context="FindExprDblParen" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="VarFlag_pl(">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!VarFlag_pl(s" char=")" char1="(" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char=")" />
        <IncludeRules context="FindExprDblParen" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="VarFlag_plx">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Parameter Expansion Operator" context="#pop!VarFlag_plxs" String="(%1)%1" dynamic="1" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="1" dynamic="1" />
        <IncludeRules context="FindExprDblParen" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_pl[s">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#stay" char="]" char1="[" />
        <IncludeRules context="VarFlag_ps[" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_pl&lt;s">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#stay" char="&gt;" char1="&lt;" />
        <IncludeRules context="VarFlag_ps&lt;" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_pl{s">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#stay" char="}" char1="{" />
        <IncludeRules context="VarFlag_ps{" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_pl(s">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#stay" char=")" char1="(" />
        <IncludeRules context="VarFlag_ps(" />
      </context>
      <context attribute="String SingleQ" lineEndContext="#stay" name="VarFlag_plxs">
        <IncludeRules context="jinja_boot##Jinja" />
        <StringDetect attribute="Parameter Expansion Operator" context="#stay" String="%1%1" dynamic="1" />
        <IncludeRules context="VarFlag_psx" />
      </context>

      <context attribute="Escape" lineEndContext="#pop" name="BraceExpansion">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Escape" context="#pop!BraceExpansion2" char="{" />
      </context>
      <context attribute="Escape" lineEndContext="#pop" name="BraceExpansion2">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Operator" context="#stay" char="," />
        <DetectChar attribute="Escape" context="#pop" char="}" />
        <DetectChar context="EscapeMaybeBraceExpansion" char="{" lookAhead="1" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
        <DetectChar attribute="Backquote" context="CommandBackq" char="`" />
        <DetectChar context="BraceExpansionVariables" char="$" lookAhead="1" />
        <IncludeRules context="FindStrings" />
        <IncludeRules context="FindPattern" />
        <DetectIdentifier attribute="Escape" />
      </context>
      <context attribute="Escape" lineEndContext="#pop" name="EscapeMaybeBraceExpansion">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchBraceExpansion" />
        <DetectChar attribute="Escape" context="#pop!BraceExpansion2" char="{" />
      </context>
      <context attribute="Escape" lineEndContext="#pop" name="BraceExpansionVariables">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchVariables" />
        <DetectChar attribute="Escape" context="#pop" char="$" />
      </context>

      <context attribute="Escape" lineEndContext="#pop" name="PathBraceExpansion">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Escape" context="#pop!PathBraceExpansion2" char="{" />
      </context>
      <context attribute="Path" lineEndContext="#pop" name="PathBraceExpansion2">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Operator" context="#stay" char="," />
        <DetectChar attribute="Escape" context="#pop" char="}" />
        <DetectChar context="PathMaybeBraceExpansion" char="{" lookAhead="1" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindPattern" />
        <DetectIdentifier attribute="Path" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="SequenceExpression">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Number" context="#stay" String="0123456789-" />
        <IncludeRules context="FindWord" />
        <Detect2Chars attribute="Escape" context="#stay" char="." char1="." />
        <DetectChar attribute="Escape" context="#pop" char="}" />
      </context>



      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParenOrSubShell">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Keyword" context="#pop!SubShell" String="\((?=\(((?:[^`'&quot;()$]++|\$\{[^`'&quot;(){}$]+\}|\$(?=[^{`'&quot;()])|`[^`]*+`|\((?1)(?:[)]|(?=['&quot;])))++)(?:[)](?=$|[^)])|[&quot;']))|" beginRegion="subshell" />
        <Detect2Chars attribute="Keyword" context="#pop!ExprDblParen" char="(" char1="(" beginRegion="expression" />
      </context>
      
      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParen">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <Detect2Chars attribute="Keyword" context="#pop" char=")" char1=")" endRegion="expression" />
        <IncludeRules context="FindExprDblParen" />
        
        <DetectChar attribute="Keyword" context="#pop!SubShell" char=")" endRegion="expression" beginRegion="subshell" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="FindExprDblParen">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Control" context="#stay" char="&amp;" char1="&amp;" />
        <Detect2Chars attribute="Control" context="#stay" char="|" char1="|" />
        <AnyChar attribute="Operator" context="#stay" String="+-!~*/%&lt;&gt;=&amp;^|?:" />
        <DetectChar attribute="Control" context="#stay" char="," />
        <DetectChar attribute="Normal Text" context="ExprSubDblParen" char="(" />
        <AnyChar context="Number" String="0123456789." lookAhead="1" />
        <DetectChar attribute="Parameter Expansion Operator" context="Subscript" char="[" />
        <IncludeRules context="FindWord" />
        <DetectChar context="MaybeArithmeticBrace" char="{" lookAhead="1" />
        <Detect2Chars attribute="BaseN" context="NoPrefix" char="#" char1="#" />
        <DetectChar attribute="Error" context="#stay" char="#" />
        <DetectIdentifier attribute="Variable" context="#stay" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="ExprSubDblParen">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectChar attribute="Normal Text" context="#pop" char=")" />
        <IncludeRules context="FindExprDblParen" />
      </context>
      <context attribute="Error" lineEndContext="#pop" name="MaybeArithmeticBrace">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchBraceExpansion" />
        <DetectChar attribute="Error" context="#pop" char="{" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="NoPrefix" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar context="AssumeEscape" char="\" />
        <RegExpr attribute="Number" context="#pop" String="[^][()]" />
      </context>

      <context attribute="Number" lineEndContext="#pop" name="Number">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Hex" context="#pop!Hex" char="0" char1="x" />
        <Detect2Chars attribute="Hex" context="#pop!Hex" char="0" char1="X" />
        <RegExpr attribute="Base" context="#pop!BaseN" String="[1-9][0-9_]*+#" />
        <RegExpr attribute="Number" context="#pop" 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]*+))?" />
        <DetectChar attribute="Operator" context="#pop" char="." />
      </context>
      <context attribute="Hex" lineEndContext="#pop" name="Hex" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Hex" context="#pop" String="[0-9a-fA-F_]+" />
      </context>
      <context attribute="BaseN" lineEndContext="#pop" name="BaseN" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="BaseN" context="#pop" String="[0-9a-zA-Z@_]+" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParenSubstOrSubstCommand">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Parameter Expansion" context="#pop!SubstCommand" String="\$\((?=\(((?:[^`'&quot;()$]++|\$\{[^`'&quot;(){}$]+\}|\$(?=[^{`'&quot;()])|`[^`]*+`|\((?1)(?:[)]|(?=['&quot;])))++)(?:[)](?=$|[^)])|[&quot;']))|" beginRegion="subshell" />
        <StringDetect attribute="Parameter Expansion" context="#pop!ExprDblParenSubst" String="$((" beginRegion="expression" />
      </context>
      
      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParenSubst">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <Detect2Chars attribute="Parameter Expansion" context="#pop" char=")" char1=")" endRegion="expression" />
        <IncludeRules context="FindExprDblParen" />
        
        <DetectChar attribute="Parameter Expansion" context="#pop!SubstCommand" char=")" endRegion="expression" beginRegion="subshell" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="ExprBracket" fallthroughContext="#pop!ExprBracketNot">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <IncludeRules context="FindExprBracketEnd" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="ExprBracketNot" fallthroughContext="#pop!ExprBracketParam1">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!ExprBracketParam1" />
        <Detect2Chars attribute="Expression" context="ExprBracketTestMaybeNot" char="!" char1=" " lookAhead="1" />
        <Detect2Chars attribute="Expression" context="ExprBracketTestMaybeNot" char="!" char1=" " lookAhead="1" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="ExprBracketTestMaybeNot">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Expression" context="#pop" char="!" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="ExprBracketParam1" fallthroughContext="ExprBracketValue">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!ExprBracketParam2" />
        <DetectChar context="TestMaybeUnary" char="-" lookAhead="1" />
        <IncludeRules context="FindExprBracketEnd" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="ExprBracketValue">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="#pop" String="  " lookAhead="1" />
        <AnyChar attribute="Error" context="#stay" String="&lt;&gt;|&amp;;()" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindGlobAny" />
        <IncludeRules context="FindPathThenPop" />
        <DetectChar context="ExprBracketValueMaybeBraceExpansion" char="{" lookAhead="1" />
        <DetectChar context="NormalOptionMaybeGroupEnd" char="}" lookAhead="1" />
        <DetectIdentifier attribute="Normal Text" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="ExprBracketValueRecBrace">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="#pop#pop" String="  " lookAhead="1" />
        <AnyChar attribute="Error" context="#stay" String="&lt;&gt;|&amp;;()" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindGlobAny" />
        <DetectChar context="ExprBracketValueMaybeBraceExpansion" char="{" lookAhead="1" />
        <DetectChar attribute="Normal Text" context="#pop" char="}" />
        <DetectIdentifier attribute="Normal Text" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="ExprBracketValueMaybeBraceExpansion">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchBraceExpansion" />
        <DetectChar attribute="Normal Text" context="#pop!ExprBracketValueRecBrace" char="{" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="ExprBracketParam2" fallthroughContext="#pop!ExprBracketParam2_Value">
        <IncludeRules context="jinja_boot##Jinja" />
        <LineContinue attribute="Escape" context="SkipSpaces" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="ExprBracketParam2_Value" fallthroughContext="ExprBracketValue">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!ExprBracketParam3" />
        <AnyChar context="TestMaybeBinary" String="-=!" lookAhead="1" />
        <IncludeRules context="FindExprBracketEnd" />
      </context>

      <context attribute="Normal Text" lineEndContext="ExprBracketFinal" name="ExprBracketParam3" fallthroughContext="#pop!ExprBracketParam3_Value">
        <IncludeRules context="jinja_boot##Jinja" />
        <LineContinue attribute="Escape" context="SkipSpaces" />
      </context>
      <context attribute="Normal Text" lineEndContext="ExprBracketFinal" name="ExprBracketParam3_Value" fallthroughContext="ExprBracketValue">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!ExprBracketFinal" />
        <IncludeRules context="FindExprBracketEnd" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="ExprBracketFinal" fallthroughContext="ExprBracketValue">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <IncludeRules context="FindExprBracketEnd" />
        <RegExpr attribute="Expression" context="#pop!ExprBracket" String="-[ao](?=$|[  ])" />
        <RegExpr attribute="Error" context="#pop" String="(?:[^]  ]++|\][^  ])++" endRegion="expression" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="FindExprBracketEnd">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
        <RegExpr attribute="Builtin" context="#pop" String="\](?=($|[  ;|&amp;&lt;&gt;)]))" endRegion="expression" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="TestMaybeUnary" fallthroughContext="#pop!ExprBracketValue">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Expression" context="#pop#pop!ExprBracketParam2" String="-[abcdefghknoprstuvwxzLOGNS](?=\\?$|[  ])" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="TestMaybeBinary" fallthroughContext="#pop!ExprBracketValue">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Expression" context="#pop" String="(?:-(?:e[fq]|[nolg]t|[nlg]e)|==?|!=)(?=\\?$|[  ])" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="SkipSpaces" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces context="#pop" />
      </context>


      
      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracket" fallthroughContext="#pop!ExprDblBracketNot">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <IncludeRules context="FindExprDblBracketEnd" />
        <DetectChar attribute="Comment" context="Comment" char="#" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketNot" fallthroughContext="#pop!ExprDblBracketParam1">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar context="ExprDblBracketTestMaybeNot" char="!" lookAhead="1" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectChar attribute="Comment" context="Comment" char="#" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="ExprDblBracketTestMaybeNot" fallthroughContext="#pop#pop!ExprDblBracketParam1">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Expression" context="#pop" String="!(?=$|[  (])" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam1" fallthroughContext="#pop!ExprDblBracketParam1_2">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam1_2" fallthroughContext="ExprDblBracketValueText">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketParam2" />
        <DetectChar context="TestMaybeUnary2" char="-" lookAhead="1" />
        <DetectChar context="ExprDblBracketSubValue" char="(" lookAhead="1" />
        <IncludeRules context="FindExprDblBracketEnd" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="TestMaybeUnary2" fallthroughContext="#pop!ExprDblBracketValueText">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Expression" context="#pop!ExprDblBracketUnary" String="-[abcdefghknoprstuvwxzLOGNS](?=\\?$|[  ])(?!\s+(?:=~|(?:-(?:e[fq]|[nolg]t|[nlg]e)|==?|!=)(?=\\?$|[  ])))" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketUnary" fallthroughContext="#pop!ExprDblBracketValueText">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" />
        <DetectChar attribute="Comment" context="Comment" char="#" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="ExprDblBracketSubValue" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Operator" context="ExprDblBracketNot" char="(" />
        <DetectChar attribute="Operator" context="#pop" char=")" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="ExprDblBracketValueText" fallthroughContext="#pop!ExprDblBracketValueText2">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars context="#pop!ExprDblBracketValueTextMaybeEnd" char="]" char1="]" lookAhead="1" />
        <IncludeRules context="FindExprDblBracketValueTextPath" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="FindExprDblBracketValueTextPath">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr context="#pop!ExprDblBracketValueTextPath" String="/|(~|\.\.?)($|[/  &lt;&gt;|&amp;;)])|([^[  &lt;&gt;|&amp;;()'&quot;`\\/]++|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\[(?:[^  &lt;&gt;|&amp;;()&quot;'`\\\[\]]+|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\[:\w+:\]|\[)*\]|&lt;[0-9]*-[0-9]*&gt;|\(([^[()&lt;&gt;'&quot;`\\/]++|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\[(?:[^  &lt;&gt;|&amp;;()&quot;'`\\\[\]]+|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\[:\w+:\]|\[)*\]|&lt;[0-9]*-[0-9]*&gt;)*+(\)|(?=/)))*+/|" lookAhead="1" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="ExprDblBracketValueTextMaybeEnd">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Keyword" context="#pop#pop" String="\]\](?=($|[  ;|&amp;)]))" endRegion="expression" />
        <IncludeRules context="FindExprDblBracketValueTextPath" />
        <Detect2Chars context="#pop!ExprDblBracketValueText2" char="]" char1="]" lookAhead="1" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="ExprDblBracketValueText2">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier />
        <AnyChar String="*?+@~^:%+-/," />
        <Detect2Chars attribute="Control" context="#pop#pop!ExprDblBracket" char="&amp;" char1="&amp;" />
        <Detect2Chars attribute="Control" context="#pop#pop!ExprDblBracket" char="|" char1="|" />
        <AnyChar context="#pop" String="  )" lookAhead="1" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindGroupPattern" />
        <AnyChar attribute="Error" context="#stay" String="&amp;;|" />
        <DetectChar context="ExprDblBracketValueTextMaybeRange" char="&lt;" lookAhead="1" />
        <DetectChar attribute="Expression" context="#pop!ExprDblBracketValuePattern" char="&gt;" />
      </context>
      <context attribute="Path" lineEndContext="#pop" name="ExprDblBracketValueTextPath">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="ExprDblBracketValueText2" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="ExprDblBracketValueTextMaybeRange">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr context="#pop" String="&lt;[0-9]*-[0-9]*&gt;" />
        <DetectChar attribute="Expression" context="#pop#pop!ExprDblBracketValuePattern" char="&lt;" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="ExprDblBracketValuePattern" fallthroughContext="#pop!ExprDblBracketValuePattern2">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr context="ExprDblBracketValuePatternPath" String="/|(~|\.\.?)($|[/  &lt;&gt;|&amp;;)])|([^[  &lt;&gt;|&amp;;()'&quot;`\\/]++|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\[(?:[^  &lt;&gt;|&amp;;()&quot;'`\\\[\]]+|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\[:\w+:\]|\[)*\]|&lt;[0-9]*-[0-9]*&gt;|\(([^[()&lt;&gt;'&quot;`\\/]++|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\[(?:[^  &lt;&gt;|&amp;;()&quot;'`\\\[\]]+|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`)|\[:\w+:\]|\[)*\]|&lt;[0-9]*-[0-9]*&gt;)*+(\)|(?=/)))*+/|" lookAhead="1" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="ExprDblBracketValuePatternPath" fallthroughContext="#pop!PathThenPop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Path" context="#pop!PathThenPop" char="~" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="ExprDblBracketValuePattern2">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier attribute="Normal Text" />
        <Detect2Chars attribute="Control" context="#pop#pop!ExprDblBracket" char="&amp;" char1="&amp;" />
        <Detect2Chars attribute="Control" context="#pop#pop!ExprDblBracket" char="|" char1="|" />
        <AnyChar context="#pop" String="  )" lookAhead="1" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindSingleGlob" />
        <IncludeRules context="FindGlobAny" />
        <IncludeRules context="FindGroupPattern" />
        <DetectChar context="ExprDblBracketValueMaybeGlobRange" char="&lt;" lookAhead="1" />
        <AnyChar attribute="Error" context="#stay" String="&gt;&amp;|;" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketValueMaybeGlobRange">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindGlobRangeThenPop" />
        <DetectChar attribute="Error" context="#pop" char="&lt;" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam2" fallthroughContext="#pop!ExprDblBracketParam2_2">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectChar attribute="Comment" context="Comment" char="#" />
        <LineContinue attribute="Escape" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam2_2" fallthroughContext="ExprDblBracketValuePattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketParam3" />
        <AnyChar context="TestMaybeBinary2" String="-=!" lookAhead="1" />
        <AnyChar attribute="Expression" context="#pop!ExprDblBracketParam3Spe" String="&lt;&gt;" />
        <IncludeRules context="FindExprDblBracketEnd" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="TestMaybeBinary2" fallthroughContext="#pop!ExprDblBracketValuePattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="TestMaybeBinary" />
        <RegExpr attribute="Expression" context="#pop#pop!ExprDblBracketRegex" String="=~(?=$|[  ])" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam3Spe" fallthroughContext="#pop!ExprDblBracketParam3">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketParam3" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketParam3" fallthroughContext="#pop!ExprDblBracketParam3_2">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="ExprDblBracketParam2" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop!ExprDblBracketFinal" name="ExprDblBracketParam3_2" fallthroughContext="ExprDblBracketValuePattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketFinal" />
        <IncludeRules context="FindExprDblBracketEnd" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketFinal" fallthroughContext="ExprDblBracketValuePattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <IncludeRules context="FindExprDblBracketEnd" />
        <DetectChar attribute="Comment" context="Comment" char="#" />
        <RegExpr attribute="Error" context="#pop" String="(?:[^]  ]++|\](?:[^]]|\][^  ]))++" endRegion="expression" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="FindExprDblBracketEnd">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
        <DetectChar context="#pop" char=")" lookAhead="1" />
        <Detect2Chars attribute="Control" context="#pop!ExprDblBracket" char="&amp;" char1="&amp;" />
        <Detect2Chars attribute="Control" context="#pop!ExprDblBracket" char="|" char1="|" />
        <RegExpr attribute="Keyword" context="#pop" String="\]\](?=($|[  ;|&amp;)]))" endRegion="expression" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracketRegex" fallthroughContext="#pop!Regex">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectChar attribute="Comment" context="Comment" char="#" />
      </context>
      <context attribute="Pattern" lineEndContext="#stay" name="Regex">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier attribute="Pattern" />
        <DetectSpaces attribute="Normal Text" context="#pop!ExprDblBracketFinal" />
        <DetectChar attribute="Operator" context="#pop" char=")" />
        <Detect2Chars attribute="Operator" context="RegexChar" char="[" char1="^" />
        <DetectChar attribute="Operator" context="RegexChar" char="[" />
        <IncludeRules context="FindRegex" />
      </context>
      <context attribute="Pattern" lineEndContext="#stay" name="ExprDblBracketSubRegex">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier attribute="Pattern" />
        <DetectSpaces attribute="Pattern" context="#stay" />
        <DetectChar attribute="Operator" context="#pop" char=")" />
        <Detect2Chars attribute="Operator" context="RegexSubChar" char="[" char1="^" />
        <DetectChar attribute="Operator" context="RegexSubChar" char="[" />
        <IncludeRules context="FindRegex" />
      </context>

      <context attribute="Pattern" lineEndContext="#stay" name="FindRegex">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Operator" context="ExprDblBracketSubRegex" char="(" />
        <DetectChar attribute="Escape" context="RegexEscape" char="\" />
        <DetectChar attribute="Parameter Expansion" context="RegexDup" char="{" />
        <AnyChar attribute="Glob" context="#stay" String="^?+*.|" />
        <IncludeRules context="FindStrings" />
        <DetectChar context="RegexDispatchVariables" char="$" lookAhead="1" />
        <DetectChar attribute="Backquote" context="RegularBackq" char="`" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="RegexDispatchVariables">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchVariables" />
        <DetectChar attribute="Operator" context="#pop" char="$" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="RegexEscape">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Escape" context="#pop" String="x[0-9a-fA-F]{1,2}|[0-7]{1,3}|." />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="RegexDup">
        <IncludeRules context="jinja_boot##Jinja" />
        <Int attribute="Number" />
        <DetectChar attribute="Parameter Expansion Operator" context="#stay" char="," />
        <DetectChar attribute="Parameter Expansion" context="#pop" char="}" />
      </context>

      <context attribute="Pattern" lineEndContext="#pop" name="RegexSubChar" fallthroughContext="#pop!RegexSubInChar">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Pattern" context="#pop!RegexSubInChar" String="-]" />
      </context>
      <context attribute="Pattern" lineEndContext="#pop" name="RegexSubInChar">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Pattern" context="#stay" />
        <IncludeRules context="RegexInChar" />
      </context>

      <context attribute="Pattern" lineEndContext="#pop" name="RegexChar" fallthroughContext="#pop!RegexInChar">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Pattern" context="#pop!RegexInChar" String="-]" />
      </context>
      <context attribute="Pattern" lineEndContext="#pop" name="RegexInChar">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars context="RegexInCharEnd" char="-" char1="]" lookAhead="1" />
        <DetectChar attribute="Operator" context="#stay" char="-" />
        <DetectChar attribute="Escape" context="RegexEscape" char="\" />
        <DetectChar context="RegexCharClassSelect" char="[" lookAhead="1" />
        <DetectChar attribute="Operator" context="#pop" char="]" />
        <AnyChar context="#pop" String="()  " lookAhead="1" />
        <IncludeRules context="FindStrings" />
      </context>
      <context attribute="Operator" lineEndContext="#stay" name="RegexInCharEnd">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Pattern" context="#stay" char="-" />
        <DetectChar attribute="Operator" context="#pop#pop" char="]" />
      </context>
      <context attribute="Parameter Expansion" lineEndContext="#pop#pop#pop" name="RegexCharClassSelect">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!RegexCharClass" char="[" char1=":" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!RegexCollatingSymbols" char="[" char1="." />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!RegexEquivalenceClass" char="[" char1="=" />
        <DetectChar attribute="Pattern" context="#pop" char="[" />
      </context>

      <context attribute="Parameter Expansion" lineEndContext="#pop#pop#pop" name="RegexCharClass">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier attribute="Parameter Expansion" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop" char=":" char1="]" />
        <DetectChar attribute="Error" context="#pop" char="]" />
      </context>
      <context attribute="Parameter Expansion" lineEndContext="#pop#pop#pop" name="RegexCollatingSymbols">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier attribute="Parameter Expansion" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop" char="." char1="]" />
        <DetectChar attribute="Error" context="#pop" char="]" />
      </context>
      <context attribute="Parameter Expansion" lineEndContext="#pop#pop#pop" name="RegexEquivalenceClass">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier attribute="Parameter Expansion" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop" char="=" char1="]" />
        <DetectChar attribute="Error" context="#pop" char="]" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="SubShell" fallthroughContext="Command">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Keyword" context="#pop" char=")" endRegion="subshell" />
        <IncludeRules context="Start" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#pop" name="Assign" fallthroughContext="#pop!RegularAssign">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Variable" context="#pop!AssignArray" char="(" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="RegularAssign" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Backquote" context="RegularBackq" char="`" />
        <IncludeRules context="NormalOption" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="AssignArray" fallthroughContext="NormalOption">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectChar attribute="Comment" context="Comment" char="#" />
        <DetectChar attribute="Variable" context="#pop" char=")" />
        <DetectChar context="AssignArrayKey" char="[" lookAhead="1" />
        <DetectChar attribute="Backquote" context="AssignArrayBackq" char="`" />
        <AnyChar attribute="Error" context="#stay" String="&lt;&gt;|&amp;;()" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="AssignArrayKey" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="Subscript" char="[" />
        <DetectChar attribute="Variable" context="#pop" char="=" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="AssignArrayBackq" fallthroughContext="Command">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Backquote" context="#pop!NormalOption" char="`" />
        <DetectChar attribute="Comment" context="CommentBackq" char="#" />
        <IncludeRules context="Start" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="Subscript" fallthroughContext="Subscript2">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="]" />
        <AnyChar attribute="Number" context="#stay" String="0123456789-" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="Subscript2">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectIdentifier attribute="Normal Text" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop#pop" char="]" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="," />
        <IncludeRules context="FindGroupPattern" />
        <IncludeRules context="FindStrings" />
        <DetectChar context="VariableOrSubscriptPos" char="$" lookAhead="1" />
        <DetectChar attribute="Backquote" context="RegularBackq" char="`" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
        <AnyChar attribute="Operator" context="#pop" String="@+-!~*/%&lt;&gt;=&amp;^|?:" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="VariableOrSubscriptPos">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchVariables" />
        <DetectChar attribute="Number" context="#pop" char="$" />
      </context>

      
      <context attribute="Function" lineEndContext="#pop" name="FunctionDef" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Operator" context="#pop" char="(" char1=")" />
        <DetectSpaces attribute="Normal Text" context="FunctionNameStart" />
      </context>
      <context attribute="Function" lineEndContext="#pop" name="FunctionNameStart" fallthroughContext="#pop!FunctionName">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="#pop#pop" String="&lt;&gt;|&amp;;()#" lookAhead="1" />
        <DetectChar context="FunctionNameStartMaybeBraceExpansion" char="{" lookAhead="1" />
      </context>
      <context attribute="Function" lineEndContext="#pop" name="FunctionName">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="#pop" String="  (" lookAhead="1" />
        <IncludeRules context="FindWord" />
        <DetectChar context="FunctionNameMaybeBraceExpansion" char="{" lookAhead="1" />
        <DetectChar context="NormalOptionMaybeGroupEnd" char="}" lookAhead="1" />
        <DetectIdentifier attribute="Function" />
      </context>
      <context attribute="Function" lineEndContext="#pop" name="FunctionNameRecBrace" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindWord" />
        <DetectChar context="FunctionNameMaybeBraceExpansion" char="{" lookAhead="1" />
        <DetectChar attribute="Function" context="#pop" char="}" />
        <DetectIdentifier attribute="Function" />
      </context>
      <context attribute="Function" lineEndContext="#pop" name="FunctionNameStartMaybeBraceExpansion">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchBraceExpansion" />
        <DetectChar attribute="Keyword" context="#pop#pop#pop!Group" char="{" beginRegion="group" />
      </context>
      <context attribute="Function" lineEndContext="#pop" name="FunctionNameMaybeBraceExpansion">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="DispatchBraceExpansion" />
        <DetectChar attribute="Function" context="#pop!FunctionNameRecBrace" char="{" beginRegion="group" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="Case">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectChar attribute="Keyword" context="#pop!CaseAlt" char="{" />
        <WordDetect attribute="Keyword" context="#pop!CaseIn" String="in" />
        <IncludeRules context="FindWord" />
        <DetectIdentifier attribute="Normal Text" context="#stay" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="CaseIn" fallthroughContext="CasePattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectChar attribute="Keyword" context="CaseClosedPattern" char="(" />
        <DetectChar attribute="Comment" context="Comment" char="#" />
      </context>
      <context attribute="Pattern" lineEndContext="#stay" name="CasePattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <WordDetect attribute="Control Flow" context="#pop#pop" String="esac" endRegion="case" />
        <IncludeRules context="CaseClosedPattern" />
      </context>
      <context attribute="Pattern" lineEndContext="#stay" name="CaseClosedPattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectChar attribute="Keyword" context="#pop!CaseExpr" char=")" beginRegion="caseexpr" />
        <DetectChar context="AssumeEscape" char="\" lookAhead="1" />
        <DetectChar attribute="Keyword" context="#stay" char="|" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindPattern" />
        <DetectIdentifier attribute="Pattern" context="#stay" />
      </context>

      <context attribute="Normal Text" lineEndContext="#stay" name="CaseAlt" fallthroughContext="CasePattern">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectSpaces attribute="Normal Text" context="#stay" />
        <DetectChar attribute="Keyword" context="CasePattern" char="(" />
        <DetectChar attribute="Keyword" context="#pop!CaseAltEnd" char="}" endRegion="caseexpr" lookAhead="1" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="CaseAltEnd">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Keyword" context="#pop" char="}" endRegion="case" />
      </context>

      
      <context attribute="Normal Text" lineEndContext="#stay" name="CaseExpr" fallthroughContext="Command">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Control Flow" context="#pop" char=";" char1="|" endRegion="caseexpr" />
        <Detect2Chars attribute="Control Flow" context="#pop" char=";" char1=";" endRegion="caseexpr" />
        <Detect2Chars attribute="Control Flow" context="#pop" char=";" char1="&amp;" endRegion="caseexpr" />
        <WordDetect context="#pop" String="esac" endRegion="caseexpr" lookAhead="1" />
        <DetectChar context="#pop" char="}" lookAhead="1" />
        <IncludeRules context="Start" />
      </context>

      
      <context attribute="Glob Flag" lineEndContext="#pop" name="ExprGlobParen" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Glob Flag" context="#pop!GlobPatFlag" char="(" char1="#" />
        <RegExpr attribute="Glob" context="#pop!ExtGlobPattern" String="\((?=(?:[^  \\'&quot;|()`ugeP]*+(?:[ug][0123456789]+|[ugeP](?::(?:[^:'`&quot;\\|()]*+(?:\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`))?)*(?::|(?=[|()]))|\[(?:[^]'`&quot;\\|()]*+(?:\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`))?)*(?:\](?=[|()]))|{(?:[^}'`&quot;\\|()]*+(?:\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`))?)*(?:}(?=[|()]))|&lt;(?:[^&gt;'`&quot;\\|()]*+(?:\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`))?)*(?:&gt;|(?=[|()]))|([^  &lt;&gt;|&amp;;(){}'&quot;`\\])(?:(?:(?!\1)[^'`&quot;\\\1|()])*+(?:\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`))?)*(?:\1|(?=[|()]))|(?=\|))|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`))?)*(?:\)(?:[^  }&lt;&gt;|&amp;;)]|(?:}+(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]|(?=[}$'&quot;`\\]))))|[  |(]|$))" />
        <DetectChar attribute="Glob Flag" context="#pop!GlobQualifier" char="(" />
      </context>
      <context attribute="Glob Flag" lineEndContext="#pop" name="ExprGlobParenThenPath" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Glob Flag" context="#pop!GlobPatFlagThenPath" char="(" char1="#" />
        <RegExpr attribute="Glob" context="#pop!ExtGlobPatternThenPath" String="\((?=(?:[^  \\'&quot;|()`ugeP]*+(?:[ug][0123456789]+|[ugeP](?::(?:[^:'`&quot;\\|()]*+(?:\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`))?)*(?::|(?=[|()]))|\[(?:[^]'`&quot;\\|()]*+(?:\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`))?)*(?:\](?=[|()]))|{(?:[^}'`&quot;\\|()]*+(?:\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`))?)*(?:}(?=[|()]))|&lt;(?:[^&gt;'`&quot;\\|()]*+(?:\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`))?)*(?:&gt;|(?=[|()]))|([^  &lt;&gt;|&amp;;(){}'&quot;`\\])(?:(?:(?!\1)[^'`&quot;\\\1|()])*+(?:\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`))?)*(?:\1|(?=[|()]))|(?=\|))|\\.|(?:'[^']*+'|&quot;(?:[^&quot;\\`]*+|`[^`]*+`|\\.)*+&quot;|`[^`]*+`))?)*(?:\)(?:[^  }&lt;&gt;|&amp;;)]|(?:}+(?:[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\]|(?=[}$'&quot;`\\]))))|[  |(]|$))" />
        <DetectChar attribute="Glob Flag" context="#pop!GlobQualifier" char="(" />
      </context>
      <context attribute="Glob Flag" lineEndContext="#pop" name="GlobQualifier">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Glob Flag" context="#stay" String="/F.@=p*%bcrwxAIERWXsStUG^-MTNDn" />
        <AnyChar attribute="Glob Flag" context="GlobQualifier_e" String="eP" />
        <AnyChar attribute="Glob Flag" context="GlobQualifier_u" String="ug" />
        <AnyChar attribute="Glob Flag" context="GlobQualifier_a" String="amc" />
        <AnyChar attribute="Glob Flag" context="GlobQualifier_o" String="oO" />
        <DetectChar attribute="Glob Flag" context="GlobQualifier_f" char="f" />
        <DetectChar attribute="Glob Flag" context="GlobQualifier_+" char="+" />
        <DetectChar attribute="Glob Flag" context="GlobQualifier_d" char="d" />
        <DetectChar attribute="Glob Flag" context="GlobQualifier_L" char="L" />
        <DetectChar attribute="Glob Flag" context="GlobQualifier_Y" char="Y" />
        <DetectChar attribute="Parameter Expansion Operator" context="Subscript" char="[" />

        <DetectChar attribute="Operator" context="#stay" char="," />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!GlobModifier" char=":" />
        <DetectChar attribute="Glob Flag" context="#pop" char=")" />
        <IncludeRules context="FindWord" />
      </context>

      <context attribute="Normal Text" lineEndContext="#pop" name="GlobQualifier_o" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Normal Text" context="#stay" String="nLlamcdN" />
      </context>

      <context attribute="Number" lineEndContext="#pop" name="GlobQualifier_Y" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Number" context="#stay" String="0123456789" />
      </context>

      <context attribute="Glob Flag" lineEndContext="#pop" name="GlobQualifier_L" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Normal Text" context="#stay" String="kKmMpPgGtT" />
        <AnyChar attribute="Number" context="#pop!GlobQualifier_Y" String="-+0123456789" />
      </context>

      <context attribute="Glob Flag" lineEndContext="#pop" name="GlobQualifier_a" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Normal Text" context="#stay" String="Mwhmsd" />
        <AnyChar attribute="Number" context="#pop!GlobQualifier_Y" String="-+0123456789" />
      </context>

      <context attribute="Glob Flag" lineEndContext="#pop" name="GlobQualifier_+" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <RegExpr attribute="Function" context="#pop" String="[^*?#^~[  &lt;&gt;|&amp;;()${}'&quot;`\\=,\[]+" />
      </context>

      <context attribute="Path" lineEndContext="#pop" name="GlobQualifier_d">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar context="#pop" String=")," lookAhead="1" />
      </context>

      <context attribute="Glob Flag" lineEndContext="#pop" name="GlobQualifier_u">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Number" context="#pop!GlobQualifier_Y" String="0123456789" />
        <IncludeRules context="GlobQualifier_e" />
      </context>

      <context attribute="Glob Flag" lineEndContext="#pop" name="GlobQualifier_f" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Number" context="#pop!GlobQualifier_fo" String="0123456789=+-" />
        <DetectChar attribute="Glob" context="#pop!GlobQualifier_fo" char="?" />
        <DetectChar attribute="Glob Flag" context="#pop!GlobQualifier_f[" char="[" />
        <DetectChar attribute="Glob Flag" context="#pop!GlobQualifier_f&lt;" char="&lt;" />
        <DetectChar attribute="Glob Flag" context="#pop!GlobQualifier_f{" char="{" />
        <RegExpr attribute="Glob Flag" context="#pop!GlobQualifier_fx" String="(.)" />
      </context>
      <context attribute="Number" lineEndContext="#pop" name="GlobQualifier_fo" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Number" context="#stay" String="0123456789" />
        <DetectChar attribute="Glob" context="#stay" char="?" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="GlobQualifier_f[">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Operator" context="#stay" char="," />
        <DetectChar attribute="Glob Flag" context="#pop" char="]" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="GlobQualifier_f&lt;">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Operator" context="#stay" char="," />
        <DetectChar attribute="Glob Flag" context="#pop" char="&gt;" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="GlobQualifier_f{">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Operator" context="#stay" char="," />
        <DetectChar attribute="Glob Flag" context="#pop" char="}" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="GlobQualifier_fx">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Operator" context="#stay" char="," />
        <DetectChar attribute="Glob Flag" context="#pop" char="1" dynamic="1" />
      </context>

      <context attribute="Glob Flag" lineEndContext="#pop" name="GlobQualifier_e" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Glob Flag" context="#pop!GlobQualifier_e[" char="[" />
        <DetectChar attribute="Glob Flag" context="#pop!GlobQualifier_e&lt;" char="&lt;" />
        <DetectChar attribute="Glob Flag" context="#pop!GlobQualifier_e{" char="{" />
        <RegExpr attribute="Glob Flag" context="#pop!GlobQualifier_ex" String="(.)" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="IncGlobQualifier_e">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="FindStrings" />
        <DetectChar context="RegularVariable" char="$" lookAhead="1" />
        <DetectChar attribute="Backquote" context="RegularBackq" char="`" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="GlobQualifier_e[">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Glob Flag" context="#pop" char="]" />
        <IncludeRules context="IncGlobQualifier_e" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="GlobQualifier_e&lt;">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Glob Flag" context="#pop" char="&gt;" />
        <IncludeRules context="IncGlobQualifier_e" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="GlobQualifier_e{">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Glob Flag" context="#pop" char="}" />
        <IncludeRules context="IncGlobQualifier_e" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="GlobQualifier_ex">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Glob Flag" context="#pop" char="1" dynamic="1" />
        <IncludeRules context="IncGlobQualifier_e" />
      </context>

      
      <context attribute="Glob Flag" lineEndContext="#pop" name="GlobPatFlag" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="IncGlobPatFlag" />
        <DetectChar attribute="Glob Flag" context="#pop" char=")" />
      </context>
      <context attribute="Glob Flag" lineEndContext="#pop" name="GlobPatFlagThenPath" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <IncludeRules context="IncGlobPatFlag" />
        <DetectChar attribute="Glob Flag" context="#pop!PathThenPop" char=")" />
      </context>
      <context attribute="Glob Flag" lineEndContext="#pop" name="IncGlobPatFlag" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <AnyChar attribute="Glob Flag" context="#stay" String="ilIbBcmMaseuU," />
        <AnyChar attribute="Number" context="#stay" String="0123456789" />
        <DetectChar attribute="Glob Flag" context="#pop!GlobQualifier" char="q" />
      </context>

      
      <context attribute="Parameter Expansion" lineEndContext="#pop" name="GlobModifier">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#stay" char=":" />
        <AnyChar attribute="Parameter Expansion" context="VarBraceModifier_h" String="ht" />
        <DetectChar attribute="Parameter Expansion" context="GlobModifier_s" char="s" />
        <Detect2Chars attribute="Parameter Expansion" context="GlobModifier_s" char="g" char1="s" />
        <DetectChar attribute="Glob Flag" context="#pop" char=")" />
      </context>
      <context attribute="Parameter Expansion" lineEndContext="#stay" name="GlobModifier_s" fallthroughContext="#pop">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Error" context="#pop#pop" char=")" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!GlobModifier_s_PatPrefix" char="/" />
      </context>
      <context attribute="Pattern" lineEndContext="#stay" name="GlobModifier_s_PatPrefix" fallthroughContext="#pop!GlobModifier_s_Pat">
        <IncludeRules context="jinja_boot##Jinja" />
        <Detect2Chars attribute="Parameter Expansion Operator" context="#pop!GlobModifier_s_Pat" char="#" char1="%" />
        <AnyChar attribute="Parameter Expansion Operator" context="#pop!GlobModifier_s_Pat" String="#%" />
      </context>
      <context attribute="Pattern" lineEndContext="#stay" name="GlobModifier_s_Pat">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop!GlobModifier_s_Rep" char="/" />
        <IncludeRules context="FindWord" />
        <IncludeRules context="FindSubPattern" />
        <DetectChar attribute="Error" context="#pop#pop" char=")" />
        <DetectIdentifier attribute="Pattern" />
      </context>
      <context attribute="String DoubleQ" lineEndContext="#stay" name="GlobModifier_s_Rep">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="Glob Flag" context="#pop#pop" char=")" />
        <DetectChar attribute="Parameter Expansion Operator" context="#pop" char="/" />
        <DetectChar attribute="String DoubleQ" context="GlobModifier_s_RecursiveRep" char="(" />
        <IncludeRules context="FindWord" />
        <DetectIdentifier attribute="String DoubleQ" />
      </context>
      <context attribute="String DoubleQ" lineEndContext="#stay" name="GlobModifier_s_RecursiveRep">
        <IncludeRules context="jinja_boot##Jinja" />
        <DetectChar attribute="String DoubleQ" context="#pop" char=")" />
        <DetectChar attribute="String DoubleQ" context="GlobModifier_s_RecursiveRep" char="(" />
        <IncludeRules context="FindWord" />
        <DetectIdentifier attribute="String DoubleQ" />
      </context>

    </contexts>

    <itemDatas>
      <itemData name="Normal Text" defStyleNum="dsNormal" />
      <itemData name="Comment" defStyleNum="dsComment" />
      <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
      <itemData name="Control" defStyleNum="dsKeyword" spellChecking="false" />
      <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false" />
      <itemData name="Builtin" defStyleNum="dsBuiltIn" spellChecking="false" />
      <itemData name="Command" defStyleNum="dsFunction" spellChecking="false" />
      <itemData name="OtherCommand" defStyleNum="dsExtension" spellChecking="false" />
      <itemData name="Redirection" defStyleNum="dsOperator" spellChecking="false" />
      <itemData name="Escape" defStyleNum="dsDataType" spellChecking="false" />
      <itemData name="String SingleQ" defStyleNum="dsString" />
      <itemData name="String DoubleQ" defStyleNum="dsString" />
      <itemData name="Here Doc" defStyleNum="dsString" />
      <itemData name="Backquote" defStyleNum="dsKeyword" spellChecking="false" />
      <itemData name="String Transl." defStyleNum="dsString" />
      <itemData name="String Escape" defStyleNum="dsDataType" />
      <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false" />
      <itemData name="Dollar Prefix" defStyleNum="dsVariable" spellChecking="false" />
      <itemData name="Expression" defStyleNum="dsOthers" spellChecking="false" />
      <itemData name="Function" defStyleNum="dsFunction" spellChecking="false" />
      <itemData name="Pattern" defStyleNum="dsSpecialString" spellChecking="false" />
      <itemData name="Path" defStyleNum="dsNormal" spellChecking="false" />
      <itemData name="Glob" defStyleNum="dsPreprocessor" spellChecking="false" />
      <itemData name="Glob Flag" defStyleNum="dsOperator" spellChecking="false" />
      <itemData name="Option" defStyleNum="dsAttribute" spellChecking="false" />
      <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false" />
      <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false" />
      <itemData name="Base" defStyleNum="dsDataType" spellChecking="false" />
      <itemData name="BaseN" defStyleNum="dsBaseN" spellChecking="false" />
      <itemData name="File Descriptor" defStyleNum="dsDecVal" spellChecking="false" />
      <itemData name="Parameter Expansion" defStyleNum="dsVariable" spellChecking="false" />
      <itemData name="Parameter Expansion Operator" defStyleNum="dsOperator" spellChecking="false" />
      <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false" />
      <itemData name="Error" defStyleNum="dsError" spellChecking="false" />
    </itemDatas>
  </highlighting>
  <general>
    <comments>
      <comment name="singleLine" start="#" />
    </comments>
    <keywords casesensitive="1" weakDeliminator="^%#[]$._:-/" additionalDeliminator="`" />
  </general>
</language>