All Downloads are FREE. Search and download functionalities are using the official Maven repository.

freemarker.core.FMParserTokenManager Maven / Gradle / Ivy

Go to download

Google App Engine compliant variation of FreeMarker. FreeMarker is a "template engine"; a generic tool to generate text output based on templates.

There is a newer version: 2.3.33
Show newest version
/* Generated By:JavaCC: Do not edit this line. FMParserTokenManager.java */
package freemarker.core;
import freemarker.template.*;
import freemarker.template.utility.StringUtil;
import freemarker.template.utility.DeepUnwrap;
import java.io.*;
import java.util.*;

class FMParserTokenManager implements FMParserConstants
{
/**
  The noparseTag is set when we enter
  a block of text that the parser more or less ignores.
  These are  and . This variable
  tells us what the closing tag should be, and when
  we hit that, we resume parsing. Note that with this
  scheme,  and  tags cannot nest
  recursively, but it is not clear how important that is.
*/
    String noparseTag;

/**
    Keeps track of how deeply nested
    we have the hash literals.
    This is necessary since we need to be
    able to distinguish the } used to close
    a hash literal and the one used to
    close a ${
 */
 private int hashLiteralNesting;
 private int parenthesisNesting;
 private int bracketNesting;
 private boolean inFTLHeader;
 boolean strictEscapeSyntax,
         onlyTextOutput,
         altDirectiveSyntax,
         autodetectTagSyntax,
         directiveSyntaxEstablished,
         inInvocation;
 String templateName;


 // This method checks if we are in a strict mode where all
 // FreeMarker directives must start with <#

 private void strictSyntaxCheck(Token tok, int newLexState) {
     if (onlyTextOutput) {
        tok.kind = PRINTABLE_CHARS;
        return;
     }
     char firstChar = tok.image.charAt(0);
     if (autodetectTagSyntax && !directiveSyntaxEstablished) {
         altDirectiveSyntax = (firstChar == '[');
     }
     if ((firstChar == '[' && !altDirectiveSyntax) || (firstChar == '<' && altDirectiveSyntax)) {
        tok.kind = PRINTABLE_CHARS;
        return;
     }
     if (!strictEscapeSyntax) {
        SwitchTo(newLexState);
        return;
     }
     if (!altDirectiveSyntax) {
         if (!tok.image.startsWith("<#") && !tok.image.startsWith("0) {
        --bracketNesting;
     } else {
        tok.kind=DIRECTIVE_END;
        if (inFTLHeader) {
           eatNewline();
           inFTLHeader = false;
        }
        SwitchTo(DEFAULT);
     }
 }


 private void eatNewline() {
     int charsRead = 0;
     try {
        while (true) {
           char c = input_stream.readChar();
           ++charsRead;
           if (!Character.isWhitespace(c)) {
              input_stream.backup(charsRead);
              return;
           } else if (c=='\r') {
              char next = input_stream.readChar();
              ++charsRead;
              if (next != '\n') {
                 input_stream.backup(1);
              }
              return;
           } else if (c=='\n') {
              return;
           }
        }
     } catch (IOException ioe) {
        input_stream.backup(charsRead);
     }
 }

 private void ftlHeader(Token matchedToken) {
       if (!directiveSyntaxEstablished) {
           altDirectiveSyntax = matchedToken.image.charAt(0) == '[';
           directiveSyntaxEstablished = true;
           autodetectTagSyntax = false;
       }
       String img = matchedToken.image;
       char firstChar = img.charAt(0);
       char lastChar = img.charAt(img.length() -1);
       if ((firstChar == '[' && !altDirectiveSyntax) || (firstChar == '<' && altDirectiveSyntax)) {
          matchedToken.kind = PRINTABLE_CHARS;
       }
       if (matchedToken.kind != PRINTABLE_CHARS) {
          if (lastChar != '>' && lastChar != ']') {
              SwitchTo(FM_EXPRESSION);
              inFTLHeader = true;
          } else {
            eatNewline();
          }
       }
 }
  public  java.io.PrintStream debugStream = System.out;
  public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
private final int jjMoveStringLiteralDfa0_7()
{
   return jjMoveNfa_7(0, 0);
}
private final void jjCheckNAdd(int state)
{
   if (jjrounds[state] != jjround)
   {
      jjstateSet[jjnewStateCnt++] = state;
      jjrounds[state] = jjround;
   }
}
private final void jjAddStates(int start, int end)
{
   do {
      jjstateSet[jjnewStateCnt++] = jjnextStates[start];
   } while (start++ != end);
}
private final void jjCheckNAddTwoStates(int state1, int state2)
{
   jjCheckNAdd(state1);
   jjCheckNAdd(state2);
}
private final void jjCheckNAddStates(int start, int end)
{
   do {
      jjCheckNAdd(jjnextStates[start]);
   } while (start++ != end);
}
private final void jjCheckNAddStates(int start)
{
   jjCheckNAdd(jjnextStates[start]);
   jjCheckNAdd(jjnextStates[start + 1]);
}
static final long[] jjbitVec0 = {
   0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
};
static final long[] jjbitVec2 = {
   0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
};
private final int jjMoveNfa_7(int startState, int curPos)
{
   int[] nextStates;
   int startsAt = 0;
   jjnewStateCnt = 13;
   int i = 1;
   jjstateSet[0] = startState;
   int j, kind = 0x7fffffff;
   for (;;)
   {
      if (++jjround == 0x7fffffff)
         ReInitRounds();
      if (curChar < 64)
      {
         long l = 1L << curChar;
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 0:
                  if ((0xefffdfffffffffffL & l) != 0L)
                  {
                     if (kind > 131)
                        kind = 131;
                     jjCheckNAdd(6);
                  }
                  else if ((0x1000200000000000L & l) != 0L)
                  {
                     if (kind > 132)
                        kind = 132;
                  }
                  if (curChar == 45)
                     jjAddStates(0, 1);
                  else if (curChar == 60)
                     jjstateSet[jjnewStateCnt++] = 1;
                  break;
               case 1:
                  if (curChar == 47)
                     jjCheckNAddTwoStates(2, 3);
                  break;
               case 2:
                  if (curChar == 35)
                     jjCheckNAdd(3);
                  break;
               case 4:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(2, 3);
                  break;
               case 5:
                  if (curChar == 62 && kind > 130)
                     kind = 130;
                  break;
               case 6:
                  if ((0xefffdfffffffffffL & l) == 0L)
                     break;
                  if (kind > 131)
                     kind = 131;
                  jjCheckNAdd(6);
                  break;
               case 7:
                  if ((0x1000200000000000L & l) != 0L && kind > 132)
                     kind = 132;
                  break;
               case 8:
                  if (curChar == 45)
                     jjAddStates(0, 1);
                  break;
               case 9:
                  if (curChar == 62 && kind > 129)
                     kind = 129;
                  break;
               case 10:
                  if (curChar == 45)
                     jjstateSet[jjnewStateCnt++] = 9;
                  break;
               case 12:
                  if (curChar == 45)
                     jjstateSet[jjnewStateCnt++] = 11;
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else if (curChar < 128)
      {
         long l = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 0:
                  if ((0xfffffffff7ffffffL & l) != 0L)
                  {
                     if (kind > 131)
                        kind = 131;
                     jjCheckNAdd(6);
                  }
                  else if (curChar == 91)
                  {
                     if (kind > 132)
                        kind = 132;
                  }
                  if (curChar == 91)
                     jjstateSet[jjnewStateCnt++] = 1;
                  break;
               case 3:
                  if ((0x7fffffe07fffffeL & l) != 0L)
                     jjAddStates(4, 6);
                  break;
               case 5:
                  if (curChar == 93 && kind > 130)
                     kind = 130;
                  break;
               case 6:
                  if ((0xfffffffff7ffffffL & l) == 0L)
                     break;
                  if (kind > 131)
                     kind = 131;
                  jjCheckNAdd(6);
                  break;
               case 7:
                  if (curChar == 91 && kind > 132)
                     kind = 132;
                  break;
               case 11:
                  if (curChar == 93 && kind > 129)
                     kind = 129;
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else
      {
         int hiByte = (int)(curChar >> 8);
         int i1 = hiByte >> 6;
         long l1 = 1L << (hiByte & 077);
         int i2 = (curChar & 0xff) >> 6;
         long l2 = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 0:
               case 6:
                  if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
                     break;
                  if (kind > 131)
                     kind = 131;
                  jjCheckNAdd(6);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      if (kind != 0x7fffffff)
      {
         jjmatchedKind = kind;
         jjmatchedPos = curPos;
         kind = 0x7fffffff;
      }
      ++curPos;
      if ((i = jjnewStateCnt) == (startsAt = 13 - (jjnewStateCnt = startsAt)))
         return curPos;
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) { return curPos; }
   }
}
private final int jjStopStringLiteralDfa_1(int pos, long active0, long active1)
{
   switch (pos)
   {
      case 0:
         if ((active1 & 0x180L) != 0L)
         {
            jjmatchedKind = 70;
            return -1;
         }
         return -1;
      default :
         return -1;
   }
}
private final int jjStartNfa_1(int pos, long active0, long active1)
{
   return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0, active1), pos + 1);
}
private final int jjStopAtPos(int pos, int kind)
{
   jjmatchedKind = kind;
   jjmatchedPos = pos;
   return pos + 1;
}
private final int jjStartNfaWithStates_1(int pos, int kind, int state)
{
   jjmatchedKind = kind;
   jjmatchedPos = pos;
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) { return pos + 1; }
   return jjMoveNfa_1(state, pos + 1);
}
private final int jjMoveStringLiteralDfa0_1()
{
   switch(curChar)
   {
      case 35:
         return jjMoveStringLiteralDfa1_1(0x100L);
      case 36:
         return jjMoveStringLiteralDfa1_1(0x80L);
      default :
         return jjMoveNfa_1(2, 0);
   }
}
private final int jjMoveStringLiteralDfa1_1(long active1)
{
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_1(0, 0L, active1);
      return 1;
   }
   switch(curChar)
   {
      case 123:
         if ((active1 & 0x80L) != 0L)
            return jjStopAtPos(1, 71);
         else if ((active1 & 0x100L) != 0L)
            return jjStopAtPos(1, 72);
         break;
      default :
         break;
   }
   return jjStartNfa_1(0, 0L, active1);
}
private final int jjMoveNfa_1(int startState, int curPos)
{
   int[] nextStates;
   int startsAt = 0;
   jjnewStateCnt = 3;
   int i = 1;
   jjstateSet[0] = startState;
   int j, kind = 0x7fffffff;
   for (;;)
   {
      if (++jjround == 0x7fffffff)
         ReInitRounds();
      if (curChar < 64)
      {
         long l = 1L << curChar;
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 2:
                  if ((0xefffffe6ffffd9ffL & l) != 0L)
                  {
                     if (kind > 69)
                        kind = 69;
                     jjCheckNAdd(1);
                  }
                  else if ((0x100002600L & l) != 0L)
                  {
                     if (kind > 68)
                        kind = 68;
                     jjCheckNAdd(0);
                  }
                  else if ((0x1000001800000000L & l) != 0L)
                  {
                     if (kind > 70)
                        kind = 70;
                  }
                  break;
               case 0:
                  if ((0x100002600L & l) == 0L)
                     break;
                  kind = 68;
                  jjCheckNAdd(0);
                  break;
               case 1:
                  if ((0xefffffe6ffffd9ffL & l) == 0L)
                     break;
                  kind = 69;
                  jjCheckNAdd(1);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else if (curChar < 128)
      {
         long l = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 2:
                  if ((0xf7fffffff7ffffffL & l) != 0L)
                  {
                     if (kind > 69)
                        kind = 69;
                     jjCheckNAdd(1);
                  }
                  else if ((0x800000008000000L & l) != 0L)
                  {
                     if (kind > 70)
                        kind = 70;
                  }
                  break;
               case 1:
                  if ((0xf7fffffff7ffffffL & l) == 0L)
                     break;
                  kind = 69;
                  jjCheckNAdd(1);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else
      {
         int hiByte = (int)(curChar >> 8);
         int i1 = hiByte >> 6;
         long l1 = 1L << (hiByte & 077);
         int i2 = (curChar & 0xff) >> 6;
         long l2 = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 2:
               case 1:
                  if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
                     break;
                  if (kind > 69)
                     kind = 69;
                  jjCheckNAdd(1);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      if (kind != 0x7fffffff)
      {
         jjmatchedKind = kind;
         jjmatchedPos = curPos;
         kind = 0x7fffffff;
      }
      ++curPos;
      if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
         return curPos;
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) { return curPos; }
   }
}
private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1)
{
   switch (pos)
   {
      case 0:
         if ((active1 & 0x180L) != 0L)
         {
            jjmatchedKind = 70;
            return -1;
         }
         return -1;
      default :
         return -1;
   }
}
private final int jjStartNfa_0(int pos, long active0, long active1)
{
   return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0, active1), pos + 1);
}
private final int jjStartNfaWithStates_0(int pos, int kind, int state)
{
   jjmatchedKind = kind;
   jjmatchedPos = pos;
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) { return pos + 1; }
   return jjMoveNfa_0(state, pos + 1);
}
private final int jjMoveStringLiteralDfa0_0()
{
   switch(curChar)
   {
      case 35:
         return jjMoveStringLiteralDfa1_0(0x100L);
      case 36:
         return jjMoveStringLiteralDfa1_0(0x80L);
      default :
         return jjMoveNfa_0(2, 0);
   }
}
private final int jjMoveStringLiteralDfa1_0(long active1)
{
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(0, 0L, active1);
      return 1;
   }
   switch(curChar)
   {
      case 123:
         if ((active1 & 0x80L) != 0L)
            return jjStopAtPos(1, 71);
         else if ((active1 & 0x100L) != 0L)
            return jjStopAtPos(1, 72);
         break;
      default :
         break;
   }
   return jjStartNfa_0(0, 0L, active1);
}
static final long[] jjbitVec3 = {
   0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L
};
static final long[] jjbitVec4 = {
   0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL
};
static final long[] jjbitVec5 = {
   0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
};
static final long[] jjbitVec6 = {
   0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L
};
static final long[] jjbitVec7 = {
   0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L
};
static final long[] jjbitVec8 = {
   0x3fffffffffffL, 0x0L, 0x0L, 0x0L
};
private final int jjMoveNfa_0(int startState, int curPos)
{
   int[] nextStates;
   int startsAt = 0;
   jjnewStateCnt = 567;
   int i = 1;
   jjstateSet[0] = startState;
   int j, kind = 0x7fffffff;
   for (;;)
   {
      if (++jjround == 0x7fffffff)
         ReInitRounds();
      if (curChar < 64)
      {
         long l = 1L << curChar;
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 2:
                  if ((0xefffffe6ffffd9ffL & l) != 0L)
                  {
                     if (kind > 69)
                        kind = 69;
                     jjCheckNAdd(1);
                  }
                  else if ((0x100002600L & l) != 0L)
                  {
                     if (kind > 68)
                        kind = 68;
                     jjCheckNAdd(0);
                  }
                  else if ((0x1000001800000000L & l) != 0L)
                  {
                     if (kind > 70)
                        kind = 70;
                  }
                  if (curChar == 60)
                     jjAddStates(7, 8);
                  if (curChar == 60)
                     jjCheckNAddStates(9, 84);
                  if (curChar == 60)
                     jjCheckNAddStates(85, 125);
                  break;
               case 0:
                  if ((0x100002600L & l) == 0L)
                     break;
                  if (kind > 68)
                     kind = 68;
                  jjCheckNAdd(0);
                  break;
               case 1:
                  if ((0xefffffe6ffffd9ffL & l) == 0L)
                     break;
                  if (kind > 69)
                     kind = 69;
                  jjCheckNAdd(1);
                  break;
               case 3:
                  if (curChar == 60)
                     jjCheckNAddStates(85, 125);
                  break;
               case 5:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(126, 127);
                  break;
               case 6:
                  if (curChar == 62 && kind > 6)
                     kind = 6;
                  break;
               case 14:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(128, 129);
                  break;
               case 15:
                  if (curChar == 62 && kind > 7)
                     kind = 7;
                  break;
               case 23:
                  if ((0x100002600L & l) != 0L && kind > 8)
                     kind = 8;
                  break;
               case 26:
                  if ((0x100002600L & l) != 0L && kind > 9)
                     kind = 9;
                  break;
               case 33:
                  if ((0x100002600L & l) != 0L && kind > 10)
                     kind = 10;
                  break;
               case 38:
                  if ((0x100002600L & l) != 0L && kind > 11)
                     kind = 11;
                  break;
               case 46:
                  if ((0x100002600L & l) != 0L && kind > 12)
                     kind = 12;
                  break;
               case 53:
                  if ((0x100002600L & l) != 0L && kind > 13)
                     kind = 13;
                  break;
               case 58:
                  if ((0x100002600L & l) != 0L && kind > 14)
                     kind = 14;
                  break;
               case 65:
                  if ((0x100002600L & l) != 0L && kind > 15)
                     kind = 15;
                  break;
               case 72:
                  if ((0x100002600L & l) != 0L && kind > 16)
                     kind = 16;
                  break;
               case 78:
                  if ((0x100002600L & l) != 0L && kind > 17)
                     kind = 17;
                  break;
               case 86:
                  if ((0x100002600L & l) != 0L && kind > 18)
                     kind = 18;
                  break;
               case 93:
                  if ((0x100002600L & l) != 0L && kind > 19)
                     kind = 19;
                  break;
               case 102:
                  if ((0x100002600L & l) != 0L && kind > 20)
                     kind = 20;
                  break;
               case 108:
                  if ((0x100002600L & l) != 0L && kind > 21)
                     kind = 21;
                  break;
               case 118:
                  if ((0x100002600L & l) != 0L && kind > 22)
                     kind = 22;
                  break;
               case 124:
                  if ((0x100002600L & l) != 0L && kind > 23)
                     kind = 23;
                  break;
               case 129:
                  if ((0x100002600L & l) != 0L && kind > 24)
                     kind = 24;
                  break;
               case 136:
                  if ((0x100002600L & l) != 0L && kind > 25)
                     kind = 25;
                  break;
               case 141:
                  if ((0x100002600L & l) != 0L && kind > 26)
                     kind = 26;
                  break;
               case 149:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(130, 131);
                  break;
               case 150:
                  if (curChar == 62 && kind > 27)
                     kind = 27;
                  break;
               case 159:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(132, 133);
                  break;
               case 160:
                  if (curChar == 62 && kind > 28)
                     kind = 28;
                  break;
               case 168:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(134, 135);
                  break;
               case 169:
                  if (curChar == 62 && kind > 30)
                     kind = 30;
                  break;
               case 177:
                  if ((0x100002600L & l) != 0L)
                     jjCheckNAddStates(136, 138);
                  break;
               case 178:
                  if (curChar == 47)
                     jjCheckNAdd(179);
                  break;
               case 179:
                  if (curChar == 62 && kind > 44)
                     kind = 44;
                  break;
               case 184:
                  if ((0x100002600L & l) != 0L)
                     jjCheckNAddStates(139, 141);
                  break;
               case 185:
                  if (curChar == 47)
                     jjCheckNAdd(186);
                  break;
               case 186:
                  if (curChar == 62 && kind > 45)
                     kind = 45;
                  break;
               case 192:
                  if ((0x100002600L & l) != 0L)
                     jjCheckNAddStates(142, 144);
                  break;
               case 193:
                  if (curChar == 47)
                     jjCheckNAdd(194);
                  break;
               case 194:
                  if (curChar == 62 && kind > 46)
                     kind = 46;
                  break;
               case 201:
                  if ((0x100002600L & l) != 0L)
                     jjCheckNAddStates(145, 147);
                  break;
               case 202:
                  if (curChar == 47)
                     jjCheckNAdd(203);
                  break;
               case 203:
                  if (curChar == 62 && kind > 47)
                     kind = 47;
                  break;
               case 208:
                  if ((0x100002600L & l) != 0L)
                     jjCheckNAddStates(148, 150);
                  break;
               case 209:
                  if (curChar == 47)
                     jjCheckNAdd(210);
                  break;
               case 210:
                  if (curChar == 62 && kind > 48)
                     kind = 48;
                  break;
               case 216:
                  if ((0x100002600L & l) != 0L)
                     jjCheckNAddStates(151, 153);
                  break;
               case 217:
                  if (curChar == 47)
                     jjCheckNAdd(218);
                  break;
               case 218:
                  if (curChar == 62 && kind > 49)
                     kind = 49;
                  break;
               case 220:
                  if ((0x100002600L & l) != 0L)
                     jjCheckNAddStates(154, 156);
                  break;
               case 221:
                  if (curChar == 47)
                     jjCheckNAdd(222);
                  break;
               case 222:
                  if (curChar == 62 && kind > 50)
                     kind = 50;
                  break;
               case 225:
                  if ((0x100002600L & l) != 0L)
                     jjCheckNAddStates(157, 159);
                  break;
               case 226:
                  if (curChar == 47)
                     jjCheckNAdd(227);
                  break;
               case 227:
                  if (curChar == 62 && kind > 51)
                     kind = 51;
                  break;
               case 230:
                  if ((0x100002600L & l) != 0L)
                     jjCheckNAddStates(160, 162);
                  break;
               case 231:
                  if (curChar == 47)
                     jjCheckNAdd(232);
                  break;
               case 232:
                  if (curChar == 62 && kind > 52)
                     kind = 52;
                  break;
               case 235:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(163, 164);
                  break;
               case 236:
                  if (curChar == 62 && kind > 53)
                     kind = 53;
                  break;
               case 244:
                  if ((0x100002600L & l) != 0L)
                     jjCheckNAddStates(165, 167);
                  break;
               case 245:
                  if (curChar == 47)
                     jjCheckNAdd(246);
                  break;
               case 246:
                  if (curChar == 62 && kind > 54)
                     kind = 54;
                  break;
               case 253:
                  if ((0x100002600L & l) != 0L && kind > 55)
                     kind = 55;
                  break;
               case 260:
                  if ((0x100002600L & l) != 0L)
                     jjCheckNAddStates(168, 170);
                  break;
               case 261:
                  if (curChar == 47)
                     jjCheckNAdd(262);
                  break;
               case 262:
                  if (curChar == 62 && kind > 56)
                     kind = 56;
                  break;
               case 270:
                  if ((0x100002600L & l) != 0L && kind > 57)
                     kind = 57;
                  break;
               case 278:
                  if ((0x100002600L & l) != 0L)
                     jjCheckNAddStates(171, 173);
                  break;
               case 279:
                  if (curChar == 47)
                     jjCheckNAdd(280);
                  break;
               case 280:
                  if (curChar == 62 && kind > 58)
                     kind = 58;
                  break;
               case 289:
                  if ((0x100002600L & l) != 0L && kind > 59)
                     kind = 59;
                  break;
               case 296:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(174, 175);
                  break;
               case 297:
                  if (curChar == 62 && kind > 61)
                     kind = 61;
                  break;
               case 305:
                  if (curChar == 60)
                     jjCheckNAddStates(9, 84);
                  break;
               case 306:
                  if (curChar == 35)
                     jjCheckNAdd(12);
                  break;
               case 307:
                  if (curChar == 35)
                     jjCheckNAdd(21);
                  break;
               case 308:
                  if (curChar == 35)
                     jjCheckNAdd(24);
                  break;
               case 309:
                  if (curChar == 35)
                     jjCheckNAdd(31);
                  break;
               case 310:
                  if (curChar == 35)
                     jjCheckNAdd(36);
                  break;
               case 311:
                  if (curChar == 35)
                     jjCheckNAdd(44);
                  break;
               case 312:
                  if (curChar == 35)
                     jjCheckNAdd(51);
                  break;
               case 313:
                  if (curChar == 35)
                     jjCheckNAdd(56);
                  break;
               case 314:
                  if (curChar == 35)
                     jjCheckNAdd(63);
                  break;
               case 315:
                  if (curChar == 35)
                     jjCheckNAdd(70);
                  break;
               case 316:
                  if (curChar == 35)
                     jjCheckNAdd(76);
                  break;
               case 317:
                  if (curChar == 35)
                     jjCheckNAdd(84);
                  break;
               case 318:
                  if (curChar == 35)
                     jjCheckNAdd(91);
                  break;
               case 319:
                  if (curChar == 35)
                     jjCheckNAdd(100);
                  break;
               case 320:
                  if (curChar == 35)
                     jjCheckNAdd(106);
                  break;
               case 321:
                  if (curChar == 35)
                     jjCheckNAdd(116);
                  break;
               case 322:
                  if (curChar == 35)
                     jjCheckNAdd(122);
                  break;
               case 323:
                  if (curChar == 35)
                     jjCheckNAdd(127);
                  break;
               case 324:
                  if (curChar == 35)
                     jjCheckNAdd(134);
                  break;
               case 325:
                  if (curChar == 35)
                     jjCheckNAdd(139);
                  break;
               case 326:
                  if (curChar == 35)
                     jjCheckNAdd(147);
                  break;
               case 327:
                  if (curChar == 35)
                     jjCheckNAdd(157);
                  break;
               case 328:
                  if (curChar == 35)
                     jjCheckNAdd(166);
                  break;
               case 329:
                  if (curChar == 35)
                     jjCheckNAdd(175);
                  break;
               case 330:
                  if (curChar == 47)
                     jjCheckNAdd(334);
                  break;
               case 332:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(176, 177);
                  break;
               case 333:
                  if (curChar == 62 && kind > 31)
                     kind = 31;
                  break;
               case 335:
                  if (curChar == 35)
                     jjCheckNAdd(334);
                  break;
               case 336:
               case 532:
                  if (curChar == 47)
                     jjCheckNAdd(335);
                  break;
               case 337:
                  if (curChar == 47)
                     jjCheckNAdd(343);
                  break;
               case 339:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(178, 179);
                  break;
               case 340:
                  if (curChar == 62 && kind > 32)
                     kind = 32;
                  break;
               case 344:
                  if (curChar == 35)
                     jjCheckNAdd(343);
                  break;
               case 345:
               case 533:
                  if (curChar == 47)
                     jjCheckNAdd(344);
                  break;
               case 346:
                  if (curChar == 47)
                     jjCheckNAdd(355);
                  break;
               case 348:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(180, 181);
                  break;
               case 349:
                  if (curChar == 62 && kind > 33)
                     kind = 33;
                  break;
               case 356:
                  if (curChar == 35)
                     jjCheckNAdd(355);
                  break;
               case 357:
               case 534:
                  if (curChar == 47)
                     jjCheckNAdd(356);
                  break;
               case 358:
                  if (curChar == 47)
                     jjCheckNAdd(367);
                  break;
               case 360:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(182, 183);
                  break;
               case 361:
                  if (curChar == 62 && kind > 34)
                     kind = 34;
                  break;
               case 368:
                  if (curChar == 35)
                     jjCheckNAdd(367);
                  break;
               case 369:
               case 535:
                  if (curChar == 47)
                     jjCheckNAdd(368);
                  break;
               case 370:
                  if (curChar == 47)
                     jjCheckNAdd(379);
                  break;
               case 372:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(184, 185);
                  break;
               case 373:
                  if (curChar == 62 && kind > 35)
                     kind = 35;
                  break;
               case 380:
                  if (curChar == 35)
                     jjCheckNAdd(379);
                  break;
               case 381:
               case 536:
                  if (curChar == 47)
                     jjCheckNAdd(380);
                  break;
               case 382:
                  if (curChar == 47)
                     jjCheckNAdd(389);
                  break;
               case 384:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(186, 187);
                  break;
               case 385:
                  if (curChar == 62 && kind > 36)
                     kind = 36;
                  break;
               case 390:
                  if (curChar == 35)
                     jjCheckNAdd(389);
                  break;
               case 391:
               case 537:
                  if (curChar == 47)
                     jjCheckNAdd(390);
                  break;
               case 392:
                  if (curChar == 47)
                     jjCheckNAdd(400);
                  break;
               case 394:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(188, 189);
                  break;
               case 395:
                  if (curChar == 62 && kind > 37)
                     kind = 37;
                  break;
               case 401:
                  if (curChar == 35)
                     jjCheckNAdd(400);
                  break;
               case 402:
               case 538:
                  if (curChar == 47)
                     jjCheckNAdd(401);
                  break;
               case 403:
                  if (curChar == 47)
                     jjCheckNAdd(411);
                  break;
               case 405:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(190, 191);
                  break;
               case 406:
                  if (curChar == 62 && kind > 38)
                     kind = 38;
                  break;
               case 412:
                  if (curChar == 35)
                     jjCheckNAdd(411);
                  break;
               case 413:
               case 539:
                  if (curChar == 47)
                     jjCheckNAdd(412);
                  break;
               case 414:
                  if (curChar == 47)
                     jjCheckNAdd(424);
                  break;
               case 416:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(192, 193);
                  break;
               case 417:
                  if (curChar == 62 && kind > 39)
                     kind = 39;
                  break;
               case 425:
                  if (curChar == 35)
                     jjCheckNAdd(424);
                  break;
               case 426:
               case 540:
                  if (curChar == 47)
                     jjCheckNAdd(425);
                  break;
               case 427:
                  if (curChar == 47)
                     jjCheckNAdd(434);
                  break;
               case 429:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(194, 195);
                  break;
               case 430:
                  if (curChar == 62 && kind > 40)
                     kind = 40;
                  break;
               case 435:
                  if (curChar == 35)
                     jjCheckNAdd(434);
                  break;
               case 436:
               case 541:
                  if (curChar == 47)
                     jjCheckNAdd(435);
                  break;
               case 437:
                  if (curChar == 47)
                     jjCheckNAdd(447);
                  break;
               case 439:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(196, 197);
                  break;
               case 440:
                  if (curChar == 62 && kind > 41)
                     kind = 41;
                  break;
               case 448:
                  if (curChar == 35)
                     jjCheckNAdd(447);
                  break;
               case 449:
               case 542:
                  if (curChar == 47)
                     jjCheckNAdd(448);
                  break;
               case 450:
                  if (curChar == 47)
                     jjCheckNAdd(461);
                  break;
               case 452:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(198, 199);
                  break;
               case 453:
                  if (curChar == 62 && kind > 42)
                     kind = 42;
                  break;
               case 462:
                  if (curChar == 35)
                     jjCheckNAdd(461);
                  break;
               case 463:
               case 543:
                  if (curChar == 47)
                     jjCheckNAdd(462);
                  break;
               case 464:
                  if (curChar == 47)
                     jjCheckNAdd(472);
                  break;
               case 466:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(200, 201);
                  break;
               case 467:
                  if (curChar == 62 && kind > 43)
                     kind = 43;
                  break;
               case 473:
                  if (curChar == 35)
                     jjCheckNAdd(472);
                  break;
               case 474:
               case 544:
                  if (curChar == 47)
                     jjCheckNAdd(473);
                  break;
               case 475:
                  if (curChar == 35)
                     jjCheckNAdd(182);
                  break;
               case 476:
                  if (curChar == 35)
                     jjCheckNAdd(190);
                  break;
               case 477:
                  if (curChar == 35)
                     jjCheckNAdd(199);
                  break;
               case 478:
                  if (curChar == 35)
                     jjCheckNAdd(206);
                  break;
               case 479:
                  if (curChar == 35)
                     jjCheckNAdd(214);
                  break;
               case 480:
                  if (curChar == 35)
                     jjCheckNAdd(215);
                  break;
               case 481:
                  if (curChar == 35)
                     jjCheckNAdd(223);
                  break;
               case 482:
                  if (curChar == 35)
                     jjCheckNAdd(228);
                  break;
               case 483:
                  if (curChar == 35)
                     jjCheckNAdd(233);
                  break;
               case 484:
                  if (curChar == 35)
                     jjCheckNAdd(242);
                  break;
               case 485:
                  if (curChar == 35)
                     jjCheckNAdd(251);
                  break;
               case 486:
                  if (curChar == 35)
                     jjCheckNAdd(258);
                  break;
               case 487:
                  if (curChar == 35)
                     jjCheckNAdd(268);
                  break;
               case 488:
                  if (curChar == 35)
                     jjCheckNAdd(276);
                  break;
               case 489:
                  if (curChar == 35)
                     jjCheckNAdd(287);
                  break;
               case 490:
                  if (curChar == 35)
                     jjCheckNAdd(294);
                  break;
               case 491:
                  if (curChar == 47)
                     jjCheckNAdd(499);
                  break;
               case 493:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(202, 203);
                  break;
               case 494:
                  if (curChar == 62 && kind > 60)
                     kind = 60;
                  break;
               case 500:
                  if (curChar == 35)
                     jjCheckNAdd(499);
                  break;
               case 501:
               case 545:
                  if (curChar == 47)
                     jjCheckNAdd(500);
                  break;
               case 502:
                  if (curChar == 35)
                     jjCheckNAdd(304);
                  break;
               case 503:
                  if (curChar == 47)
                     jjCheckNAdd(513);
                  break;
               case 505:
                  if ((0x100002600L & l) != 0L)
                     jjAddStates(204, 205);
                  break;
               case 506:
                  if (curChar == 62 && kind > 62)
                     kind = 62;
                  break;
               case 514:
                  if (curChar == 35)
                     jjCheckNAdd(513);
                  break;
               case 515:
               case 546:
                  if (curChar == 47)
                     jjCheckNAdd(514);
                  break;
               case 518:
                  if ((0x100002600L & l) != 0L && kind > 65)
                     kind = 65;
                  break;
               case 521:
                  if (curChar == 35)
                     jjstateSet[jjnewStateCnt++] = 520;
                  break;
               case 523:
                  if (curChar == 47)
                     jjstateSet[jjnewStateCnt++] = 524;
                  break;
               case 524:
                  if (curChar == 62 && kind > 66)
                     kind = 66;
                  break;
               case 527:
                  if (curChar == 35)
                     jjstateSet[jjnewStateCnt++] = 526;
                  break;
               case 528:
                  if (curChar == 35)
                     jjstateSet[jjnewStateCnt++] = 529;
                  break;
               case 530:
               case 553:
                  if (curChar == 47)
                     jjCheckNAdd(528);
                  break;
               case 549:
                  if (curChar == 35)
                     jjstateSet[jjnewStateCnt++] = 548;
                  break;
               case 552:
                  if (curChar == 35)
                     jjstateSet[jjnewStateCnt++] = 551;
                  break;
               case 554:
                  if (curChar == 60)
                     jjAddStates(7, 8);
                  break;
               case 555:
                  if (curChar == 45 && kind > 29)
                     kind = 29;
                  break;
               case 556:
                  if (curChar == 45)
                     jjstateSet[jjnewStateCnt++] = 555;
                  break;
               case 557:
                  if (curChar == 35)
                     jjstateSet[jjnewStateCnt++] = 556;
                  break;
               case 559:
                  if (curChar == 36)
                     jjCheckNAddStates(206, 209);
                  break;
               case 560:
                  if ((0x3ff001000000000L & l) != 0L)
                     jjCheckNAddStates(206, 209);
                  break;
               case 561:
                  if (curChar == 46)
                     jjstateSet[jjnewStateCnt++] = 562;
                  break;
               case 562:
                  if (curChar == 36)
                     jjCheckNAddStates(210, 213);
                  break;
               case 563:
                  if ((0x3ff001000000000L & l) != 0L)
                     jjCheckNAddStates(210, 213);
                  break;
               case 564:
                  if ((0x100002600L & l) != 0L)
                     jjCheckNAddTwoStates(564, 565);
                  break;
               case 565:
                  if (curChar == 62 && kind > 64)
                     kind = 64;
                  break;
               case 566:
                  if (curChar == 47)
                     jjstateSet[jjnewStateCnt++] = 558;
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else if (curChar < 128)
      {
         long l = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 2:
                  if ((0xf7fffffff7ffffffL & l) != 0L)
                  {
                     if (kind > 69)
                        kind = 69;
                     jjCheckNAdd(1);
                  }
                  else if ((0x800000008000000L & l) != 0L)
                  {
                     if (kind > 70)
                        kind = 70;
                  }
                  if (curChar == 91)
                     jjAddStates(7, 8);
                  if (curChar == 91)
                     jjAddStates(214, 274);
                  break;
               case 1:
                  if ((0xf7fffffff7ffffffL & l) == 0L)
                     break;
                  if (kind > 69)
                     kind = 69;
                  jjCheckNAdd(1);
                  break;
               case 4:
                  if (curChar == 116)
                     jjAddStates(126, 127);
                  break;
               case 6:
                  if (curChar == 93 && kind > 6)
                     kind = 6;
                  break;
               case 7:
                  if (curChar == 112)
                     jjstateSet[jjnewStateCnt++] = 4;
                  break;
               case 8:
                  if (curChar == 109)
                     jjstateSet[jjnewStateCnt++] = 7;
                  break;
               case 9:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 8;
                  break;
               case 10:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 9;
                  break;
               case 11:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 10;
                  break;
               case 12:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 11;
                  break;
               case 13:
                  if (curChar == 114)
                     jjAddStates(128, 129);
                  break;
               case 15:
                  if (curChar == 93 && kind > 7)
                     kind = 7;
                  break;
               case 16:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 13;
                  break;
               case 17:
                  if (curChar == 118)
                     jjstateSet[jjnewStateCnt++] = 16;
                  break;
               case 18:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 17;
                  break;
               case 19:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 18;
                  break;
               case 20:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 19;
                  break;
               case 21:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 20;
                  break;
               case 22:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 23;
                  break;
               case 24:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 22;
                  break;
               case 25:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 26;
                  break;
               case 27:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 25;
                  break;
               case 28:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 27;
                  break;
               case 29:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 28;
                  break;
               case 30:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 29;
                  break;
               case 31:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 30;
                  break;
               case 32:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 33;
                  break;
               case 34:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 32;
                  break;
               case 35:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 34;
                  break;
               case 36:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 35;
                  break;
               case 37:
                  if (curChar == 104)
                     jjstateSet[jjnewStateCnt++] = 38;
                  break;
               case 39:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 37;
                  break;
               case 40:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 39;
                  break;
               case 41:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 40;
                  break;
               case 42:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 41;
                  break;
               case 43:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 42;
                  break;
               case 44:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 43;
                  break;
               case 45:
                  if (curChar == 104)
                     jjstateSet[jjnewStateCnt++] = 46;
                  break;
               case 47:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 45;
                  break;
               case 48:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 47;
                  break;
               case 49:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 48;
                  break;
               case 50:
                  if (curChar == 119)
                     jjstateSet[jjnewStateCnt++] = 49;
                  break;
               case 51:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 50;
                  break;
               case 52:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 53;
                  break;
               case 54:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 52;
                  break;
               case 55:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 54;
                  break;
               case 56:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 55;
                  break;
               case 57:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 58;
                  break;
               case 59:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 57;
                  break;
               case 60:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 59;
                  break;
               case 61:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 60;
                  break;
               case 62:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 61;
                  break;
               case 63:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 62;
                  break;
               case 64:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 65;
                  break;
               case 66:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 64;
                  break;
               case 67:
                  if (curChar == 98)
                     jjstateSet[jjnewStateCnt++] = 66;
                  break;
               case 68:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 67;
                  break;
               case 69:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 68;
                  break;
               case 70:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 69;
                  break;
               case 71:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 72;
                  break;
               case 73:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 71;
                  break;
               case 74:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 73;
                  break;
               case 75:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 74;
                  break;
               case 76:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 75;
                  break;
               case 77:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 78;
                  break;
               case 79:
                  if (curChar == 100)
                     jjstateSet[jjnewStateCnt++] = 77;
                  break;
               case 80:
                  if (curChar == 117)
                     jjstateSet[jjnewStateCnt++] = 79;
                  break;
               case 81:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 80;
                  break;
               case 82:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 81;
                  break;
               case 83:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 82;
                  break;
               case 84:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 83;
                  break;
               case 85:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 86;
                  break;
               case 87:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 85;
                  break;
               case 88:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 87;
                  break;
               case 89:
                  if (curChar == 112)
                     jjstateSet[jjnewStateCnt++] = 88;
                  break;
               case 90:
                  if (curChar == 109)
                     jjstateSet[jjnewStateCnt++] = 89;
                  break;
               case 91:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 90;
                  break;
               case 92:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 93;
                  break;
               case 94:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 92;
                  break;
               case 95:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 94;
                  break;
               case 96:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 95;
                  break;
               case 97:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 96;
                  break;
               case 98:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 97;
                  break;
               case 99:
                  if (curChar == 117)
                     jjstateSet[jjnewStateCnt++] = 98;
                  break;
               case 100:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 99;
                  break;
               case 101:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 102;
                  break;
               case 103:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 101;
                  break;
               case 104:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 103;
                  break;
               case 105:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 104;
                  break;
               case 106:
                  if (curChar == 109)
                     jjstateSet[jjnewStateCnt++] = 105;
                  break;
               case 107:
                  if (curChar == 109)
                     jjstateSet[jjnewStateCnt++] = 108;
                  break;
               case 109:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 107;
                  break;
               case 110:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 109;
                  break;
               case 111:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 110;
                  break;
               case 112:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 111;
                  break;
               case 113:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 112;
                  break;
               case 114:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 113;
                  break;
               case 115:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 114;
                  break;
               case 116:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 115;
                  break;
               case 117:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 118;
                  break;
               case 119:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 117;
                  break;
               case 120:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 119;
                  break;
               case 121:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 120;
                  break;
               case 122:
                  if (curChar == 118)
                     jjstateSet[jjnewStateCnt++] = 121;
                  break;
               case 123:
                  if (curChar == 112)
                     jjstateSet[jjnewStateCnt++] = 124;
                  break;
               case 125:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 123;
                  break;
               case 126:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 125;
                  break;
               case 127:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 126;
                  break;
               case 128:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 129;
                  break;
               case 130:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 128;
                  break;
               case 131:
                  if (curChar == 117)
                     jjstateSet[jjnewStateCnt++] = 130;
                  break;
               case 132:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 131;
                  break;
               case 133:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 132;
                  break;
               case 134:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 133;
                  break;
               case 135:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 136;
                  break;
               case 137:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 135;
                  break;
               case 138:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 137;
                  break;
               case 139:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 138;
                  break;
               case 140:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 141;
                  break;
               case 142:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 140;
                  break;
               case 143:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 142;
                  break;
               case 144:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 143;
                  break;
               case 145:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 144;
                  break;
               case 146:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 145;
                  break;
               case 147:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 146;
                  break;
               case 148:
                  if (curChar == 115)
                     jjAddStates(130, 131);
                  break;
               case 150:
                  if (curChar == 93 && kind > 27)
                     kind = 27;
                  break;
               case 151:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 148;
                  break;
               case 152:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 151;
                  break;
               case 153:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 152;
                  break;
               case 154:
                  if (curChar == 112)
                     jjstateSet[jjnewStateCnt++] = 153;
                  break;
               case 155:
                  if (curChar == 109)
                     jjstateSet[jjnewStateCnt++] = 154;
                  break;
               case 156:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 155;
                  break;
               case 157:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 156;
                  break;
               case 158:
                  if (curChar == 116)
                     jjAddStates(132, 133);
                  break;
               case 160:
                  if (curChar == 93 && kind > 28)
                     kind = 28;
                  break;
               case 161:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 158;
                  break;
               case 162:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 161;
                  break;
               case 163:
                  if (curChar == 109)
                     jjstateSet[jjnewStateCnt++] = 162;
                  break;
               case 164:
                  if (curChar == 109)
                     jjstateSet[jjnewStateCnt++] = 163;
                  break;
               case 165:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 164;
                  break;
               case 166:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 165;
                  break;
               case 167:
                  if (curChar == 101)
                     jjAddStates(134, 135);
                  break;
               case 169:
                  if (curChar == 93 && kind > 30)
                     kind = 30;
                  break;
               case 170:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 167;
                  break;
               case 171:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 170;
                  break;
               case 172:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 171;
                  break;
               case 173:
                  if (curChar == 112)
                     jjstateSet[jjnewStateCnt++] = 172;
                  break;
               case 174:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 173;
                  break;
               case 175:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 174;
                  break;
               case 176:
                  if (curChar == 101)
                     jjAddStates(136, 138);
                  break;
               case 179:
                  if (curChar == 93 && kind > 44)
                     kind = 44;
                  break;
               case 180:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 176;
                  break;
               case 181:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 180;
                  break;
               case 182:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 181;
                  break;
               case 183:
                  if (curChar == 107)
                     jjAddStates(139, 141);
                  break;
               case 186:
                  if (curChar == 93 && kind > 45)
                     kind = 45;
                  break;
               case 187:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 183;
                  break;
               case 188:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 187;
                  break;
               case 189:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 188;
                  break;
               case 190:
                  if (curChar == 98)
                     jjstateSet[jjnewStateCnt++] = 189;
                  break;
               case 191:
                  if (curChar == 110)
                     jjAddStates(142, 144);
                  break;
               case 194:
                  if (curChar == 93 && kind > 46)
                     kind = 46;
                  break;
               case 195:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 191;
                  break;
               case 196:
                  if (curChar == 117)
                     jjstateSet[jjnewStateCnt++] = 195;
                  break;
               case 197:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 196;
                  break;
               case 198:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 197;
                  break;
               case 199:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 198;
                  break;
               case 200:
                  if (curChar == 112)
                     jjAddStates(145, 147);
                  break;
               case 203:
                  if (curChar == 93 && kind > 47)
                     kind = 47;
                  break;
               case 204:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 200;
                  break;
               case 205:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 204;
                  break;
               case 206:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 205;
                  break;
               case 207:
                  if (curChar == 104)
                     jjAddStates(148, 150);
                  break;
               case 210:
                  if (curChar == 93 && kind > 48)
                     kind = 48;
                  break;
               case 211:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 207;
                  break;
               case 212:
                  if (curChar == 117)
                     jjstateSet[jjnewStateCnt++] = 211;
                  break;
               case 213:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 212;
                  break;
               case 214:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 213;
                  break;
               case 215:
                  if (curChar == 116)
                     jjAddStates(151, 153);
                  break;
               case 218:
                  if (curChar == 93 && kind > 49)
                     kind = 49;
                  break;
               case 219:
                  if (curChar == 116)
                     jjAddStates(154, 156);
                  break;
               case 222:
                  if (curChar == 93 && kind > 50)
                     kind = 50;
                  break;
               case 223:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 219;
                  break;
               case 224:
                  if (curChar == 116)
                     jjAddStates(157, 159);
                  break;
               case 227:
                  if (curChar == 93 && kind > 51)
                     kind = 51;
                  break;
               case 228:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 224;
                  break;
               case 229:
                  if (curChar == 116)
                     jjAddStates(160, 162);
                  break;
               case 232:
                  if (curChar == 93 && kind > 52)
                     kind = 52;
                  break;
               case 233:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 229;
                  break;
               case 234:
                  if (curChar == 116)
                     jjAddStates(163, 164);
                  break;
               case 236:
                  if (curChar == 93 && kind > 53)
                     kind = 53;
                  break;
               case 237:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 234;
                  break;
               case 238:
                  if (curChar == 117)
                     jjstateSet[jjnewStateCnt++] = 237;
                  break;
               case 239:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 238;
                  break;
               case 240:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 239;
                  break;
               case 241:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 240;
                  break;
               case 242:
                  if (curChar == 100)
                     jjstateSet[jjnewStateCnt++] = 241;
                  break;
               case 243:
                  if (curChar == 100)
                     jjAddStates(165, 167);
                  break;
               case 246:
                  if (curChar == 93 && kind > 54)
                     kind = 54;
                  break;
               case 247:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 243;
                  break;
               case 248:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 247;
                  break;
               case 249:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 248;
                  break;
               case 250:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 249;
                  break;
               case 251:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 250;
                  break;
               case 252:
                  if (curChar == 100)
                     jjstateSet[jjnewStateCnt++] = 253;
                  break;
               case 254:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 252;
                  break;
               case 255:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 254;
                  break;
               case 256:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 255;
                  break;
               case 257:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 256;
                  break;
               case 258:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 257;
                  break;
               case 259:
                  if (curChar == 101)
                     jjAddStates(168, 170);
                  break;
               case 262:
                  if (curChar == 93 && kind > 56)
                     kind = 56;
                  break;
               case 263:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 259;
                  break;
               case 264:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 263;
                  break;
               case 265:
                  if (curChar == 117)
                     jjstateSet[jjnewStateCnt++] = 264;
                  break;
               case 266:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 265;
                  break;
               case 267:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 266;
                  break;
               case 268:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 267;
                  break;
               case 269:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 270;
                  break;
               case 271:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 269;
                  break;
               case 272:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 271;
                  break;
               case 273:
                  if (curChar == 117)
                     jjstateSet[jjnewStateCnt++] = 272;
                  break;
               case 274:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 273;
                  break;
               case 275:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 274;
                  break;
               case 276:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 275;
                  break;
               case 277:
                  if (curChar == 107)
                     jjAddStates(171, 173);
                  break;
               case 280:
                  if (curChar == 93 && kind > 58)
                     kind = 58;
                  break;
               case 281:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 277;
                  break;
               case 282:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 281;
                  break;
               case 283:
                  if (curChar == 98)
                     jjstateSet[jjnewStateCnt++] = 282;
                  break;
               case 284:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 283;
                  break;
               case 285:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 284;
                  break;
               case 286:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 285;
                  break;
               case 287:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 286;
                  break;
               case 288:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 289;
                  break;
               case 290:
                  if (curChar == 112)
                     jjstateSet[jjnewStateCnt++] = 288;
                  break;
               case 291:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 290;
                  break;
               case 292:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 291;
                  break;
               case 293:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 292;
                  break;
               case 294:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 293;
                  break;
               case 295:
                  if (curChar == 101)
                     jjAddStates(174, 175);
                  break;
               case 297:
                  if (curChar == 93 && kind > 61)
                     kind = 61;
                  break;
               case 298:
                  if (curChar == 112)
                     jjstateSet[jjnewStateCnt++] = 295;
                  break;
               case 299:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 298;
                  break;
               case 300:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 299;
                  break;
               case 301:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 300;
                  break;
               case 302:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 301;
                  break;
               case 303:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 302;
                  break;
               case 304:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 303;
                  break;
               case 331:
                  if (curChar == 102)
                     jjAddStates(176, 177);
                  break;
               case 333:
                  if (curChar == 93 && kind > 31)
                     kind = 31;
                  break;
               case 334:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 331;
                  break;
               case 338:
                  if (curChar == 116)
                     jjAddStates(178, 179);
                  break;
               case 340:
                  if (curChar == 93 && kind > 32)
                     kind = 32;
                  break;
               case 341:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 338;
                  break;
               case 342:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 341;
                  break;
               case 343:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 342;
                  break;
               case 347:
                  if (curChar == 114)
                     jjAddStates(180, 181);
                  break;
               case 349:
                  if (curChar == 93 && kind > 33)
                     kind = 33;
                  break;
               case 350:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 347;
                  break;
               case 351:
                  if (curChar == 118)
                     jjstateSet[jjnewStateCnt++] = 350;
                  break;
               case 352:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 351;
                  break;
               case 353:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 352;
                  break;
               case 354:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 353;
                  break;
               case 355:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 354;
                  break;
               case 359:
                  if (curChar == 116)
                     jjAddStates(182, 183);
                  break;
               case 361:
                  if (curChar == 93 && kind > 34)
                     kind = 34;
                  break;
               case 362:
                  if (curChar == 112)
                     jjstateSet[jjnewStateCnt++] = 359;
                  break;
               case 363:
                  if (curChar == 109)
                     jjstateSet[jjnewStateCnt++] = 362;
                  break;
               case 364:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 363;
                  break;
               case 365:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 364;
                  break;
               case 366:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 365;
                  break;
               case 367:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 366;
                  break;
               case 371:
                  if (curChar == 104)
                     jjAddStates(184, 185);
                  break;
               case 373:
                  if (curChar == 93 && kind > 35)
                     kind = 35;
                  break;
               case 374:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 371;
                  break;
               case 375:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 374;
                  break;
               case 376:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 375;
                  break;
               case 377:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 376;
                  break;
               case 378:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 377;
                  break;
               case 379:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 378;
                  break;
               case 383:
                  if (curChar == 108)
                     jjAddStates(186, 187);
                  break;
               case 385:
                  if (curChar == 93 && kind > 36)
                     kind = 36;
                  break;
               case 386:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 383;
                  break;
               case 387:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 386;
                  break;
               case 388:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 387;
                  break;
               case 389:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 388;
                  break;
               case 393:
                  if (curChar == 108)
                     jjAddStates(188, 189);
                  break;
               case 395:
                  if (curChar == 93 && kind > 37)
                     kind = 37;
                  break;
               case 396:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 393;
                  break;
               case 397:
                  if (curChar == 98)
                     jjstateSet[jjnewStateCnt++] = 396;
                  break;
               case 398:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 397;
                  break;
               case 399:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 398;
                  break;
               case 400:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 399;
                  break;
               case 404:
                  if (curChar == 110)
                     jjAddStates(190, 191);
                  break;
               case 406:
                  if (curChar == 93 && kind > 38)
                     kind = 38;
                  break;
               case 407:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 404;
                  break;
               case 408:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 407;
                  break;
               case 409:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 408;
                  break;
               case 410:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 409;
                  break;
               case 411:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 410;
                  break;
               case 415:
                  if (curChar == 110)
                     jjAddStates(192, 193);
                  break;
               case 417:
                  if (curChar == 93 && kind > 39)
                     kind = 39;
                  break;
               case 418:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 415;
                  break;
               case 419:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 418;
                  break;
               case 420:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 419;
                  break;
               case 421:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 420;
                  break;
               case 422:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 421;
                  break;
               case 423:
                  if (curChar == 117)
                     jjstateSet[jjnewStateCnt++] = 422;
                  break;
               case 424:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 423;
                  break;
               case 428:
                  if (curChar == 111)
                     jjAddStates(194, 195);
                  break;
               case 430:
                  if (curChar == 93 && kind > 40)
                     kind = 40;
                  break;
               case 431:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 428;
                  break;
               case 432:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 431;
                  break;
               case 433:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 432;
                  break;
               case 434:
                  if (curChar == 109)
                     jjstateSet[jjnewStateCnt++] = 433;
                  break;
               case 438:
                  if (curChar == 115)
                     jjAddStates(196, 197);
                  break;
               case 440:
                  if (curChar == 93 && kind > 41)
                     kind = 41;
                  break;
               case 441:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 438;
                  break;
               case 442:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 441;
                  break;
               case 443:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 442;
                  break;
               case 444:
                  if (curChar == 112)
                     jjstateSet[jjnewStateCnt++] = 443;
                  break;
               case 445:
                  if (curChar == 109)
                     jjstateSet[jjnewStateCnt++] = 444;
                  break;
               case 446:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 445;
                  break;
               case 447:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 446;
                  break;
               case 451:
                  if (curChar == 109)
                     jjAddStates(198, 199);
                  break;
               case 453:
                  if (curChar == 93 && kind > 42)
                     kind = 42;
                  break;
               case 454:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 451;
                  break;
               case 455:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 454;
                  break;
               case 456:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 455;
                  break;
               case 457:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 456;
                  break;
               case 458:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 457;
                  break;
               case 459:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 458;
                  break;
               case 460:
                  if (curChar == 114)
                     jjstateSet[jjnewStateCnt++] = 459;
                  break;
               case 461:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 460;
                  break;
               case 465:
                  if (curChar == 104)
                     jjAddStates(200, 201);
                  break;
               case 467:
                  if (curChar == 93 && kind > 43)
                     kind = 43;
                  break;
               case 468:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 465;
                  break;
               case 469:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 468;
                  break;
               case 470:
                  if (curChar == 105)
                     jjstateSet[jjnewStateCnt++] = 469;
                  break;
               case 471:
                  if (curChar == 119)
                     jjstateSet[jjnewStateCnt++] = 470;
                  break;
               case 472:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 471;
                  break;
               case 492:
                  if (curChar == 101)
                     jjAddStates(202, 203);
                  break;
               case 494:
                  if (curChar == 93 && kind > 60)
                     kind = 60;
                  break;
               case 495:
                  if (curChar == 112)
                     jjstateSet[jjnewStateCnt++] = 492;
                  break;
               case 496:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 495;
                  break;
               case 497:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 496;
                  break;
               case 498:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 497;
                  break;
               case 499:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 498;
                  break;
               case 504:
                  if (curChar == 101)
                     jjAddStates(204, 205);
                  break;
               case 506:
                  if (curChar == 93 && kind > 62)
                     kind = 62;
                  break;
               case 507:
                  if (curChar == 112)
                     jjstateSet[jjnewStateCnt++] = 504;
                  break;
               case 508:
                  if (curChar == 97)
                     jjstateSet[jjnewStateCnt++] = 507;
                  break;
               case 509:
                  if (curChar == 99)
                     jjstateSet[jjnewStateCnt++] = 508;
                  break;
               case 510:
                  if (curChar == 115)
                     jjstateSet[jjnewStateCnt++] = 509;
                  break;
               case 511:
                  if (curChar == 101)
                     jjstateSet[jjnewStateCnt++] = 510;
                  break;
               case 512:
                  if (curChar == 111)
                     jjstateSet[jjnewStateCnt++] = 511;
                  break;
               case 513:
                  if (curChar == 110)
                     jjstateSet[jjnewStateCnt++] = 512;
                  break;
               case 516:
                  if (curChar == 64 && kind > 63)
                     kind = 63;
                  break;
               case 517:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 518;
                  break;
               case 519:
               case 547:
                  if (curChar == 116)
                     jjCheckNAdd(517);
                  break;
               case 520:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 519;
                  break;
               case 522:
                  if (curChar == 108)
                     jjAddStates(275, 276);
                  break;
               case 524:
                  if (curChar == 93 && kind > 66)
                     kind = 66;
                  break;
               case 525:
               case 550:
                  if (curChar == 116)
                     jjCheckNAdd(522);
                  break;
               case 526:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 525;
                  break;
               case 529:
                  if ((0x7fffffe87fffffeL & l) == 0L)
                     break;
                  if (kind > 67)
                     kind = 67;
                  jjstateSet[jjnewStateCnt++] = 529;
                  break;
               case 531:
                  if (curChar == 91)
                     jjAddStates(214, 274);
                  break;
               case 548:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 547;
                  break;
               case 551:
                  if (curChar == 102)
                     jjstateSet[jjnewStateCnt++] = 550;
                  break;
               case 554:
                  if (curChar == 91)
                     jjAddStates(7, 8);
                  break;
               case 558:
                  if (curChar == 64)
                     jjCheckNAddStates(277, 279);
                  break;
               case 559:
               case 560:
                  if ((0x7fffffe87ffffffL & l) != 0L)
                     jjCheckNAddStates(206, 209);
                  break;
               case 562:
               case 563:
                  if ((0x7fffffe87ffffffL & l) != 0L)
                     jjCheckNAddStates(210, 213);
                  break;
               case 565:
                  if (curChar == 93 && kind > 64)
                     kind = 64;
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else
      {
         int hiByte = (int)(curChar >> 8);
         int i1 = hiByte >> 6;
         long l1 = 1L << (hiByte & 077);
         int i2 = (curChar & 0xff) >> 6;
         long l2 = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 2:
               case 1:
                  if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
                     break;
                  if (kind > 69)
                     kind = 69;
                  jjCheckNAdd(1);
                  break;
               case 559:
               case 560:
                  if (jjCanMove_1(hiByte, i1, i2, l1, l2))
                     jjCheckNAddStates(206, 209);
                  break;
               case 562:
               case 563:
                  if (jjCanMove_1(hiByte, i1, i2, l1, l2))
                     jjCheckNAddStates(210, 213);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      if (kind != 0x7fffffff)
      {
         jjmatchedKind = kind;
         jjmatchedPos = curPos;
         kind = 0x7fffffff;
      }
      ++curPos;
      if ((i = jjnewStateCnt) == (startsAt = 567 - (jjnewStateCnt = startsAt)))
         return curPos;
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) { return curPos; }
   }
}
private final int jjStopStringLiteralDfa_2(int pos, long active0, long active1)
{
   switch (pos)
   {
      case 0:
         if ((active1 & 0x800000000000L) != 0L)
            return 2;
         if ((active1 & 0xe0000000180000L) != 0L)
         {
            jjmatchedKind = 120;
            return 34;
         }
         if ((active1 & 0x8000000000L) != 0L)
            return 36;
         return -1;
      case 1:
         if ((active1 & 0x60000000000000L) != 0L)
            return 34;
         if ((active1 & 0x80000000180000L) != 0L)
         {
            if (jjmatchedPos != 1)
            {
               jjmatchedKind = 120;
               jjmatchedPos = 1;
            }
            return 34;
         }
         return -1;
      case 2:
         if ((active1 & 0x80000000180000L) != 0L)
         {
            jjmatchedKind = 120;
            jjmatchedPos = 2;
            return 34;
         }
         return -1;
      case 3:
         if ((active1 & 0x100000L) != 0L)
            return 34;
         if ((active1 & 0x80000000080000L) != 0L)
         {
            jjmatchedKind = 120;
            jjmatchedPos = 3;
            return 34;
         }
         return -1;
      default :
         return -1;
   }
}
private final int jjStartNfa_2(int pos, long active0, long active1)
{
   return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0, active1), pos + 1);
}
private final int jjStartNfaWithStates_2(int pos, int kind, int state)
{
   jjmatchedKind = kind;
   jjmatchedPos = pos;
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) { return pos + 1; }
   return jjMoveNfa_2(state, pos + 1);
}
private final int jjMoveStringLiteralDfa0_2()
{
   switch(curChar)
   {
      case 33:
         jjmatchedKind = 107;
         return jjMoveStringLiteralDfa1_2(0x20000000L);
      case 37:
         return jjStopAtPos(0, 104);
      case 40:
         return jjStopAtPos(0, 113);
      case 41:
         return jjStopAtPos(0, 114);
      case 42:
         jjmatchedKind = 100;
         return jjMoveStringLiteralDfa1_2(0x2000000000L);
      case 43:
         return jjStopAtPos(0, 98);
      case 44:
         return jjStopAtPos(0, 108);
      case 45:
         return jjStopAtPos(0, 99);
      case 46:
         jjmatchedKind = 87;
         return jjMoveStringLiteralDfa1_2(0x4001000000L);
      case 47:
         return jjStartNfaWithStates_2(0, 103, 36);
      case 58:
         return jjStopAtPos(0, 110);
      case 59:
         return jjStopAtPos(0, 109);
      case 61:
         jjmatchedKind = 91;
         return jjMoveStringLiteralDfa1_2(0x10000000L);
      case 62:
         return jjStopAtPos(0, 123);
      case 63:
         jjmatchedKind = 89;
         return jjMoveStringLiteralDfa1_2(0x4000000L);
      case 91:
         return jjStartNfaWithStates_2(0, 111, 2);
      case 93:
         return jjStopAtPos(0, 112);
      case 97:
         return jjMoveStringLiteralDfa1_2(0x40000000000000L);
      case 102:
         return jjMoveStringLiteralDfa1_2(0x80000L);
      case 105:
         return jjMoveStringLiteralDfa1_2(0x20000000000000L);
      case 116:
         return jjMoveStringLiteralDfa1_2(0x100000L);
      case 117:
         return jjMoveStringLiteralDfa1_2(0x80000000000000L);
      case 123:
         return jjStopAtPos(0, 115);
      case 125:
         return jjStopAtPos(0, 116);
      default :
         return jjMoveNfa_2(1, 0);
   }
}
private final int jjMoveStringLiteralDfa1_2(long active1)
{
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_2(0, 0L, active1);
      return 1;
   }
   switch(curChar)
   {
      case 42:
         if ((active1 & 0x2000000000L) != 0L)
            return jjStopAtPos(1, 101);
         break;
      case 46:
         if ((active1 & 0x1000000L) != 0L)
         {
            jjmatchedKind = 88;
            jjmatchedPos = 1;
         }
         return jjMoveStringLiteralDfa2_2(active1, 0x4000000000L);
      case 61:
         if ((active1 & 0x10000000L) != 0L)
            return jjStopAtPos(1, 92);
         else if ((active1 & 0x20000000L) != 0L)
            return jjStopAtPos(1, 93);
         break;
      case 63:
         if ((active1 & 0x4000000L) != 0L)
            return jjStopAtPos(1, 90);
         break;
      case 97:
         return jjMoveStringLiteralDfa2_2(active1, 0x80000L);
      case 110:
         if ((active1 & 0x20000000000000L) != 0L)
            return jjStartNfaWithStates_2(1, 117, 34);
         break;
      case 114:
         return jjMoveStringLiteralDfa2_2(active1, 0x100000L);
      case 115:
         if ((active1 & 0x40000000000000L) != 0L)
            return jjStartNfaWithStates_2(1, 118, 34);
         return jjMoveStringLiteralDfa2_2(active1, 0x80000000000000L);
      default :
         break;
   }
   return jjStartNfa_2(0, 0L, active1);
}
private final int jjMoveStringLiteralDfa2_2(long old1, long active1)
{
   if (((active1 &= old1)) == 0L)
      return jjStartNfa_2(0, 0L, old1); 
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_2(1, 0L, active1);
      return 2;
   }
   switch(curChar)
   {
      case 46:
         if ((active1 & 0x4000000000L) != 0L)
            return jjStopAtPos(2, 102);
         break;
      case 105:
         return jjMoveStringLiteralDfa3_2(active1, 0x80000000000000L);
      case 108:
         return jjMoveStringLiteralDfa3_2(active1, 0x80000L);
      case 117:
         return jjMoveStringLiteralDfa3_2(active1, 0x100000L);
      default :
         break;
   }
   return jjStartNfa_2(1, 0L, active1);
}
private final int jjMoveStringLiteralDfa3_2(long old1, long active1)
{
   if (((active1 &= old1)) == 0L)
      return jjStartNfa_2(1, 0L, old1); 
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_2(2, 0L, active1);
      return 3;
   }
   switch(curChar)
   {
      case 101:
         if ((active1 & 0x100000L) != 0L)
            return jjStartNfaWithStates_2(3, 84, 34);
         break;
      case 110:
         return jjMoveStringLiteralDfa4_2(active1, 0x80000000000000L);
      case 115:
         return jjMoveStringLiteralDfa4_2(active1, 0x80000L);
      default :
         break;
   }
   return jjStartNfa_2(2, 0L, active1);
}
private final int jjMoveStringLiteralDfa4_2(long old1, long active1)
{
   if (((active1 &= old1)) == 0L)
      return jjStartNfa_2(2, 0L, old1); 
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_2(3, 0L, active1);
      return 4;
   }
   switch(curChar)
   {
      case 101:
         if ((active1 & 0x80000L) != 0L)
            return jjStartNfaWithStates_2(4, 83, 34);
         break;
      case 103:
         if ((active1 & 0x80000000000000L) != 0L)
            return jjStartNfaWithStates_2(4, 119, 34);
         break;
      default :
         break;
   }
   return jjStartNfa_2(3, 0L, active1);
}
private final int jjMoveNfa_2(int startState, int curPos)
{
   int[] nextStates;
   int startsAt = 0;
   jjnewStateCnt = 73;
   int i = 1;
   jjstateSet[0] = startState;
   int j, kind = 0x7fffffff;
   for (;;)
   {
      if (++jjround == 0x7fffffff)
         ReInitRounds();
      if (curChar < 64)
      {
         long l = 1L << curChar;
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 36:
                  if (curChar == 62 && kind > 124)
                     kind = 124;
                  break;
               case 1:
                  if ((0x3ff000000000000L & l) != 0L)
                  {
                     if (kind > 85)
                        kind = 85;
                     jjCheckNAddStates(280, 282);
                  }
                  else if ((0x100002600L & l) != 0L)
                  {
                     if (kind > 73)
                        kind = 73;
                     jjCheckNAdd(0);
                  }
                  else if (curChar == 38)
                     jjAddStates(283, 287);
                  else if (curChar == 47)
                     jjAddStates(288, 289);
                  else if (curChar == 36)
                  {
                     if (kind > 120)
                        kind = 120;
                     jjCheckNAdd(34);
                  }
                  else if (curChar == 60)
                     jjCheckNAdd(27);
                  else if (curChar == 39)
                     jjCheckNAddStates(290, 292);
                  else if (curChar == 34)
                     jjCheckNAddStates(293, 295);
                  if (curChar == 38)
                  {
                     if (kind > 105)
                        kind = 105;
                  }
                  else if (curChar == 60)
                  {
                     if (kind > 94)
                        kind = 94;
                  }
                  if (curChar == 60)
                     jjstateSet[jjnewStateCnt++] = 2;
                  break;
               case 0:
                  if ((0x100002600L & l) == 0L)
                     break;
                  if (kind > 73)
                     kind = 73;
                  jjCheckNAdd(0);
                  break;
               case 2:
                  if ((0xa00000000L & l) != 0L)
                     jjstateSet[jjnewStateCnt++] = 4;
                  break;
               case 3:
                  if (curChar == 45 && kind > 74)
                     kind = 74;
                  break;
               case 4:
                  if (curChar == 45)
                     jjstateSet[jjnewStateCnt++] = 3;
                  break;
               case 5:
                  if (curChar == 34)
                     jjCheckNAddStates(293, 295);
                  break;
               case 6:
                  if ((0xfffffffbffffffffL & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 8:
                  if ((0x9400000000L & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 9:
                  if (curChar == 34 && kind > 81)
                     kind = 81;
                  break;
               case 11:
                  if ((0x3ff000000000000L & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 12:
                  if (curChar == 39)
                     jjCheckNAddStates(290, 292);
                  break;
               case 13:
                  if ((0xffffff7fffffffffL & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 15:
                  if ((0x9400000000L & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 16:
                  if (curChar == 39 && kind > 81)
                     kind = 81;
                  break;
               case 18:
                  if ((0x3ff000000000000L & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 20:
                  if (curChar == 34)
                     jjCheckNAddTwoStates(21, 22);
                  break;
               case 21:
                  if ((0xfffffffbffffffffL & l) != 0L)
                     jjCheckNAddTwoStates(21, 22);
                  break;
               case 22:
                  if (curChar == 34 && kind > 82)
                     kind = 82;
                  break;
               case 23:
                  if (curChar == 39)
                     jjCheckNAddTwoStates(24, 25);
                  break;
               case 24:
                  if ((0xffffff7fffffffffL & l) != 0L)
                     jjCheckNAddTwoStates(24, 25);
                  break;
               case 25:
                  if (curChar == 39 && kind > 82)
                     kind = 82;
                  break;
               case 26:
                  if (curChar == 60 && kind > 94)
                     kind = 94;
                  break;
               case 27:
                  if (curChar == 61 && kind > 95)
                     kind = 95;
                  break;
               case 28:
                  if (curChar == 60)
                     jjCheckNAdd(27);
                  break;
               case 29:
               case 70:
                  if (curChar == 38 && kind > 105)
                     kind = 105;
                  break;
               case 33:
                  if (curChar != 36)
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(34);
                  break;
               case 34:
                  if ((0x3ff001000000000L & l) == 0L)
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(34);
                  break;
               case 35:
                  if (curChar == 47)
                     jjAddStates(288, 289);
                  break;
               case 38:
                  if ((0x3ff000000000000L & l) == 0L)
                     break;
                  if (kind > 85)
                     kind = 85;
                  jjCheckNAddStates(280, 282);
                  break;
               case 39:
                  if ((0x3ff000000000000L & l) == 0L)
                     break;
                  if (kind > 85)
                     kind = 85;
                  jjCheckNAdd(39);
                  break;
               case 40:
                  if ((0x3ff000000000000L & l) != 0L)
                     jjCheckNAddTwoStates(40, 41);
                  break;
               case 41:
                  if (curChar == 46)
                     jjCheckNAdd(42);
                  break;
               case 42:
                  if ((0x3ff000000000000L & l) == 0L)
                     break;
                  if (kind > 86)
                     kind = 86;
                  jjCheckNAdd(42);
                  break;
               case 56:
                  if (curChar == 38)
                     jjAddStates(283, 287);
                  break;
               case 57:
                  if (curChar == 59 && kind > 94)
                     kind = 94;
                  break;
               case 60:
                  if (curChar == 59)
                     jjCheckNAdd(27);
                  break;
               case 63:
                  if (curChar == 59 && kind > 96)
                     kind = 96;
                  break;
               case 66:
                  if (curChar == 61 && kind > 97)
                     kind = 97;
                  break;
               case 67:
                  if (curChar == 59)
                     jjstateSet[jjnewStateCnt++] = 66;
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else if (curChar < 128)
      {
         long l = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 36:
                  if (curChar == 93 && kind > 124)
                     kind = 124;
                  break;
               case 1:
                  if ((0x7fffffe87ffffffL & l) != 0L)
                  {
                     if (kind > 120)
                        kind = 120;
                     jjCheckNAdd(34);
                  }
                  else if (curChar == 92)
                     jjAddStates(296, 299);
                  else if (curChar == 124)
                     jjstateSet[jjnewStateCnt++] = 31;
                  else if (curChar == 91)
                     jjstateSet[jjnewStateCnt++] = 2;
                  if (curChar == 103)
                     jjCheckNAddTwoStates(51, 72);
                  else if (curChar == 108)
                     jjCheckNAddTwoStates(44, 46);
                  else if (curChar == 124)
                  {
                     if (kind > 106)
                        kind = 106;
                  }
                  else if (curChar == 114)
                     jjAddStates(300, 301);
                  break;
               case 6:
                  if ((0xffffffffefffffffL & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 7:
                  if (curChar == 92)
                     jjAddStates(302, 303);
                  break;
               case 8:
                  if ((0x81450c610000000L & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 10:
                  if (curChar == 120)
                     jjstateSet[jjnewStateCnt++] = 11;
                  break;
               case 11:
                  if ((0x7e0000007eL & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 13:
                  if ((0xffffffffefffffffL & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 14:
                  if (curChar == 92)
                     jjAddStates(304, 305);
                  break;
               case 15:
                  if ((0x81450c610000000L & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 17:
                  if (curChar == 120)
                     jjstateSet[jjnewStateCnt++] = 18;
                  break;
               case 18:
                  if ((0x7e0000007eL & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 19:
                  if (curChar == 114)
                     jjAddStates(300, 301);
                  break;
               case 21:
                  jjAddStates(306, 307);
                  break;
               case 24:
                  jjAddStates(308, 309);
                  break;
               case 30:
               case 31:
                  if (curChar == 124 && kind > 106)
                     kind = 106;
                  break;
               case 32:
                  if (curChar == 124)
                     jjstateSet[jjnewStateCnt++] = 31;
                  break;
               case 33:
               case 34:
                  if ((0x7fffffe87ffffffL & l) == 0L)
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(34);
                  break;
               case 43:
                  if (curChar == 108)
                     jjCheckNAddTwoStates(44, 46);
                  break;
               case 44:
                  if (curChar == 116 && kind > 94)
                     kind = 94;
                  break;
               case 45:
                  if (curChar == 101 && kind > 95)
                     kind = 95;
                  break;
               case 46:
               case 49:
                  if (curChar == 116)
                     jjCheckNAdd(45);
                  break;
               case 47:
                  if (curChar == 92)
                     jjAddStates(296, 299);
                  break;
               case 48:
                  if (curChar == 108)
                     jjCheckNAdd(44);
                  break;
               case 50:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 49;
                  break;
               case 51:
                  if (curChar == 116 && kind > 96)
                     kind = 96;
                  break;
               case 52:
                  if (curChar == 103)
                     jjCheckNAdd(51);
                  break;
               case 53:
                  if (curChar == 101 && kind > 97)
                     kind = 97;
                  break;
               case 54:
               case 72:
                  if (curChar == 116)
                     jjCheckNAdd(53);
                  break;
               case 55:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 54;
                  break;
               case 58:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 57;
                  break;
               case 59:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 58;
                  break;
               case 61:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 60;
                  break;
               case 62:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 61;
                  break;
               case 64:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 63;
                  break;
               case 65:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 64;
                  break;
               case 68:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 67;
                  break;
               case 69:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 68;
                  break;
               case 71:
                  if (curChar == 103)
                     jjCheckNAddTwoStates(51, 72);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else
      {
         int hiByte = (int)(curChar >> 8);
         int i1 = hiByte >> 6;
         long l1 = 1L << (hiByte & 077);
         int i2 = (curChar & 0xff) >> 6;
         long l2 = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 1:
               case 34:
                  if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(34);
                  break;
               case 6:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(293, 295);
                  break;
               case 13:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(290, 292);
                  break;
               case 21:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(306, 307);
                  break;
               case 24:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(308, 309);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      if (kind != 0x7fffffff)
      {
         jjmatchedKind = kind;
         jjmatchedPos = curPos;
         kind = 0x7fffffff;
      }
      ++curPos;
      if ((i = jjnewStateCnt) == (startsAt = 73 - (jjnewStateCnt = startsAt)))
         return curPos;
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) { return curPos; }
   }
}
private final int jjStopStringLiteralDfa_3(int pos, long active0, long active1)
{
   switch (pos)
   {
      case 0:
         if ((active1 & 0x800000000000L) != 0L)
            return 2;
         if ((active1 & 0xe0000000180000L) != 0L)
         {
            jjmatchedKind = 120;
            return 34;
         }
         return -1;
      case 1:
         if ((active1 & 0x60000000000000L) != 0L)
            return 34;
         if ((active1 & 0x80000000180000L) != 0L)
         {
            if (jjmatchedPos != 1)
            {
               jjmatchedKind = 120;
               jjmatchedPos = 1;
            }
            return 34;
         }
         return -1;
      case 2:
         if ((active1 & 0x80000000180000L) != 0L)
         {
            jjmatchedKind = 120;
            jjmatchedPos = 2;
            return 34;
         }
         return -1;
      case 3:
         if ((active1 & 0x100000L) != 0L)
            return 34;
         if ((active1 & 0x80000000080000L) != 0L)
         {
            jjmatchedKind = 120;
            jjmatchedPos = 3;
            return 34;
         }
         return -1;
      default :
         return -1;
   }
}
private final int jjStartNfa_3(int pos, long active0, long active1)
{
   return jjMoveNfa_3(jjStopStringLiteralDfa_3(pos, active0, active1), pos + 1);
}
private final int jjStartNfaWithStates_3(int pos, int kind, int state)
{
   jjmatchedKind = kind;
   jjmatchedPos = pos;
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) { return pos + 1; }
   return jjMoveNfa_3(state, pos + 1);
}
private final int jjMoveStringLiteralDfa0_3()
{
   switch(curChar)
   {
      case 33:
         jjmatchedKind = 107;
         return jjMoveStringLiteralDfa1_3(0x20000000L);
      case 37:
         return jjStopAtPos(0, 104);
      case 40:
         return jjStopAtPos(0, 113);
      case 41:
         return jjStopAtPos(0, 114);
      case 42:
         jjmatchedKind = 100;
         return jjMoveStringLiteralDfa1_3(0x2000000000L);
      case 43:
         return jjStopAtPos(0, 98);
      case 44:
         return jjStopAtPos(0, 108);
      case 45:
         return jjStopAtPos(0, 99);
      case 46:
         jjmatchedKind = 87;
         return jjMoveStringLiteralDfa1_3(0x4001000000L);
      case 47:
         return jjStopAtPos(0, 103);
      case 58:
         return jjStopAtPos(0, 110);
      case 59:
         return jjStopAtPos(0, 109);
      case 61:
         jjmatchedKind = 91;
         return jjMoveStringLiteralDfa1_3(0x10000000L);
      case 62:
         jjmatchedKind = 125;
         return jjMoveStringLiteralDfa1_3(0x4000000000000000L);
      case 63:
         jjmatchedKind = 89;
         return jjMoveStringLiteralDfa1_3(0x4000000L);
      case 91:
         return jjStartNfaWithStates_3(0, 111, 2);
      case 93:
         return jjStopAtPos(0, 112);
      case 97:
         return jjMoveStringLiteralDfa1_3(0x40000000000000L);
      case 102:
         return jjMoveStringLiteralDfa1_3(0x80000L);
      case 105:
         return jjMoveStringLiteralDfa1_3(0x20000000000000L);
      case 116:
         return jjMoveStringLiteralDfa1_3(0x100000L);
      case 117:
         return jjMoveStringLiteralDfa1_3(0x80000000000000L);
      case 123:
         return jjStopAtPos(0, 115);
      case 125:
         return jjStopAtPos(0, 116);
      default :
         return jjMoveNfa_3(1, 0);
   }
}
private final int jjMoveStringLiteralDfa1_3(long active1)
{
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_3(0, 0L, active1);
      return 1;
   }
   switch(curChar)
   {
      case 42:
         if ((active1 & 0x2000000000L) != 0L)
            return jjStopAtPos(1, 101);
         break;
      case 46:
         if ((active1 & 0x1000000L) != 0L)
         {
            jjmatchedKind = 88;
            jjmatchedPos = 1;
         }
         return jjMoveStringLiteralDfa2_3(active1, 0x4000000000L);
      case 61:
         if ((active1 & 0x10000000L) != 0L)
            return jjStopAtPos(1, 92);
         else if ((active1 & 0x20000000L) != 0L)
            return jjStopAtPos(1, 93);
         else if ((active1 & 0x4000000000000000L) != 0L)
            return jjStopAtPos(1, 126);
         break;
      case 63:
         if ((active1 & 0x4000000L) != 0L)
            return jjStopAtPos(1, 90);
         break;
      case 97:
         return jjMoveStringLiteralDfa2_3(active1, 0x80000L);
      case 110:
         if ((active1 & 0x20000000000000L) != 0L)
            return jjStartNfaWithStates_3(1, 117, 34);
         break;
      case 114:
         return jjMoveStringLiteralDfa2_3(active1, 0x100000L);
      case 115:
         if ((active1 & 0x40000000000000L) != 0L)
            return jjStartNfaWithStates_3(1, 118, 34);
         return jjMoveStringLiteralDfa2_3(active1, 0x80000000000000L);
      default :
         break;
   }
   return jjStartNfa_3(0, 0L, active1);
}
private final int jjMoveStringLiteralDfa2_3(long old1, long active1)
{
   if (((active1 &= old1)) == 0L)
      return jjStartNfa_3(0, 0L, old1); 
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_3(1, 0L, active1);
      return 2;
   }
   switch(curChar)
   {
      case 46:
         if ((active1 & 0x4000000000L) != 0L)
            return jjStopAtPos(2, 102);
         break;
      case 105:
         return jjMoveStringLiteralDfa3_3(active1, 0x80000000000000L);
      case 108:
         return jjMoveStringLiteralDfa3_3(active1, 0x80000L);
      case 117:
         return jjMoveStringLiteralDfa3_3(active1, 0x100000L);
      default :
         break;
   }
   return jjStartNfa_3(1, 0L, active1);
}
private final int jjMoveStringLiteralDfa3_3(long old1, long active1)
{
   if (((active1 &= old1)) == 0L)
      return jjStartNfa_3(1, 0L, old1); 
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_3(2, 0L, active1);
      return 3;
   }
   switch(curChar)
   {
      case 101:
         if ((active1 & 0x100000L) != 0L)
            return jjStartNfaWithStates_3(3, 84, 34);
         break;
      case 110:
         return jjMoveStringLiteralDfa4_3(active1, 0x80000000000000L);
      case 115:
         return jjMoveStringLiteralDfa4_3(active1, 0x80000L);
      default :
         break;
   }
   return jjStartNfa_3(2, 0L, active1);
}
private final int jjMoveStringLiteralDfa4_3(long old1, long active1)
{
   if (((active1 &= old1)) == 0L)
      return jjStartNfa_3(2, 0L, old1); 
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_3(3, 0L, active1);
      return 4;
   }
   switch(curChar)
   {
      case 101:
         if ((active1 & 0x80000L) != 0L)
            return jjStartNfaWithStates_3(4, 83, 34);
         break;
      case 103:
         if ((active1 & 0x80000000000000L) != 0L)
            return jjStartNfaWithStates_3(4, 119, 34);
         break;
      default :
         break;
   }
   return jjStartNfa_3(3, 0L, active1);
}
private final int jjMoveNfa_3(int startState, int curPos)
{
   int[] nextStates;
   int startsAt = 0;
   jjnewStateCnt = 70;
   int i = 1;
   jjstateSet[0] = startState;
   int j, kind = 0x7fffffff;
   for (;;)
   {
      if (++jjround == 0x7fffffff)
         ReInitRounds();
      if (curChar < 64)
      {
         long l = 1L << curChar;
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 1:
                  if ((0x3ff000000000000L & l) != 0L)
                  {
                     if (kind > 85)
                        kind = 85;
                     jjCheckNAddStates(310, 312);
                  }
                  else if ((0x100002600L & l) != 0L)
                  {
                     if (kind > 73)
                        kind = 73;
                     jjCheckNAdd(0);
                  }
                  else if (curChar == 38)
                     jjAddStates(313, 317);
                  else if (curChar == 36)
                  {
                     if (kind > 120)
                        kind = 120;
                     jjCheckNAdd(34);
                  }
                  else if (curChar == 60)
                     jjCheckNAdd(27);
                  else if (curChar == 39)
                     jjCheckNAddStates(290, 292);
                  else if (curChar == 34)
                     jjCheckNAddStates(293, 295);
                  if (curChar == 38)
                  {
                     if (kind > 105)
                        kind = 105;
                  }
                  else if (curChar == 60)
                  {
                     if (kind > 94)
                        kind = 94;
                  }
                  if (curChar == 60)
                     jjstateSet[jjnewStateCnt++] = 2;
                  break;
               case 0:
                  if ((0x100002600L & l) == 0L)
                     break;
                  if (kind > 73)
                     kind = 73;
                  jjCheckNAdd(0);
                  break;
               case 2:
                  if ((0xa00000000L & l) != 0L)
                     jjstateSet[jjnewStateCnt++] = 4;
                  break;
               case 3:
                  if (curChar == 45 && kind > 74)
                     kind = 74;
                  break;
               case 4:
                  if (curChar == 45)
                     jjstateSet[jjnewStateCnt++] = 3;
                  break;
               case 5:
                  if (curChar == 34)
                     jjCheckNAddStates(293, 295);
                  break;
               case 6:
                  if ((0xfffffffbffffffffL & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 8:
                  if ((0x9400000000L & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 9:
                  if (curChar == 34 && kind > 81)
                     kind = 81;
                  break;
               case 11:
                  if ((0x3ff000000000000L & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 12:
                  if (curChar == 39)
                     jjCheckNAddStates(290, 292);
                  break;
               case 13:
                  if ((0xffffff7fffffffffL & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 15:
                  if ((0x9400000000L & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 16:
                  if (curChar == 39 && kind > 81)
                     kind = 81;
                  break;
               case 18:
                  if ((0x3ff000000000000L & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 20:
                  if (curChar == 34)
                     jjCheckNAddTwoStates(21, 22);
                  break;
               case 21:
                  if ((0xfffffffbffffffffL & l) != 0L)
                     jjCheckNAddTwoStates(21, 22);
                  break;
               case 22:
                  if (curChar == 34 && kind > 82)
                     kind = 82;
                  break;
               case 23:
                  if (curChar == 39)
                     jjCheckNAddTwoStates(24, 25);
                  break;
               case 24:
                  if ((0xffffff7fffffffffL & l) != 0L)
                     jjCheckNAddTwoStates(24, 25);
                  break;
               case 25:
                  if (curChar == 39 && kind > 82)
                     kind = 82;
                  break;
               case 26:
                  if (curChar == 60 && kind > 94)
                     kind = 94;
                  break;
               case 27:
                  if (curChar == 61 && kind > 95)
                     kind = 95;
                  break;
               case 28:
                  if (curChar == 60)
                     jjCheckNAdd(27);
                  break;
               case 29:
               case 67:
                  if (curChar == 38 && kind > 105)
                     kind = 105;
                  break;
               case 33:
                  if (curChar != 36)
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(34);
                  break;
               case 34:
                  if ((0x3ff001000000000L & l) == 0L)
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(34);
                  break;
               case 35:
                  if ((0x3ff000000000000L & l) == 0L)
                     break;
                  if (kind > 85)
                     kind = 85;
                  jjCheckNAddStates(310, 312);
                  break;
               case 36:
                  if ((0x3ff000000000000L & l) == 0L)
                     break;
                  if (kind > 85)
                     kind = 85;
                  jjCheckNAdd(36);
                  break;
               case 37:
                  if ((0x3ff000000000000L & l) != 0L)
                     jjCheckNAddTwoStates(37, 38);
                  break;
               case 38:
                  if (curChar == 46)
                     jjCheckNAdd(39);
                  break;
               case 39:
                  if ((0x3ff000000000000L & l) == 0L)
                     break;
                  if (kind > 86)
                     kind = 86;
                  jjCheckNAdd(39);
                  break;
               case 53:
                  if (curChar == 38)
                     jjAddStates(313, 317);
                  break;
               case 54:
                  if (curChar == 59 && kind > 94)
                     kind = 94;
                  break;
               case 57:
                  if (curChar == 59)
                     jjCheckNAdd(27);
                  break;
               case 60:
                  if (curChar == 59 && kind > 96)
                     kind = 96;
                  break;
               case 63:
                  if (curChar == 61 && kind > 97)
                     kind = 97;
                  break;
               case 64:
                  if (curChar == 59)
                     jjstateSet[jjnewStateCnt++] = 63;
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else if (curChar < 128)
      {
         long l = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 1:
                  if ((0x7fffffe87ffffffL & l) != 0L)
                  {
                     if (kind > 120)
                        kind = 120;
                     jjCheckNAdd(34);
                  }
                  else if (curChar == 92)
                     jjAddStates(318, 321);
                  else if (curChar == 124)
                     jjstateSet[jjnewStateCnt++] = 31;
                  else if (curChar == 91)
                     jjstateSet[jjnewStateCnt++] = 2;
                  if (curChar == 103)
                     jjCheckNAddTwoStates(48, 69);
                  else if (curChar == 108)
                     jjCheckNAddTwoStates(41, 43);
                  else if (curChar == 124)
                  {
                     if (kind > 106)
                        kind = 106;
                  }
                  else if (curChar == 114)
                     jjAddStates(300, 301);
                  break;
               case 6:
                  if ((0xffffffffefffffffL & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 7:
                  if (curChar == 92)
                     jjAddStates(302, 303);
                  break;
               case 8:
                  if ((0x81450c610000000L & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 10:
                  if (curChar == 120)
                     jjstateSet[jjnewStateCnt++] = 11;
                  break;
               case 11:
                  if ((0x7e0000007eL & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 13:
                  if ((0xffffffffefffffffL & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 14:
                  if (curChar == 92)
                     jjAddStates(304, 305);
                  break;
               case 15:
                  if ((0x81450c610000000L & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 17:
                  if (curChar == 120)
                     jjstateSet[jjnewStateCnt++] = 18;
                  break;
               case 18:
                  if ((0x7e0000007eL & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 19:
                  if (curChar == 114)
                     jjAddStates(300, 301);
                  break;
               case 21:
                  jjAddStates(306, 307);
                  break;
               case 24:
                  jjAddStates(308, 309);
                  break;
               case 30:
               case 31:
                  if (curChar == 124 && kind > 106)
                     kind = 106;
                  break;
               case 32:
                  if (curChar == 124)
                     jjstateSet[jjnewStateCnt++] = 31;
                  break;
               case 33:
               case 34:
                  if ((0x7fffffe87ffffffL & l) == 0L)
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(34);
                  break;
               case 40:
                  if (curChar == 108)
                     jjCheckNAddTwoStates(41, 43);
                  break;
               case 41:
                  if (curChar == 116 && kind > 94)
                     kind = 94;
                  break;
               case 42:
                  if (curChar == 101 && kind > 95)
                     kind = 95;
                  break;
               case 43:
               case 46:
                  if (curChar == 116)
                     jjCheckNAdd(42);
                  break;
               case 44:
                  if (curChar == 92)
                     jjAddStates(318, 321);
                  break;
               case 45:
                  if (curChar == 108)
                     jjCheckNAdd(41);
                  break;
               case 47:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 46;
                  break;
               case 48:
                  if (curChar == 116 && kind > 96)
                     kind = 96;
                  break;
               case 49:
                  if (curChar == 103)
                     jjCheckNAdd(48);
                  break;
               case 50:
                  if (curChar == 101 && kind > 97)
                     kind = 97;
                  break;
               case 51:
               case 69:
                  if (curChar == 116)
                     jjCheckNAdd(50);
                  break;
               case 52:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 51;
                  break;
               case 55:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 54;
                  break;
               case 56:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 55;
                  break;
               case 58:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 57;
                  break;
               case 59:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 58;
                  break;
               case 61:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 60;
                  break;
               case 62:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 61;
                  break;
               case 65:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 64;
                  break;
               case 66:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 65;
                  break;
               case 68:
                  if (curChar == 103)
                     jjCheckNAddTwoStates(48, 69);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else
      {
         int hiByte = (int)(curChar >> 8);
         int i1 = hiByte >> 6;
         long l1 = 1L << (hiByte & 077);
         int i2 = (curChar & 0xff) >> 6;
         long l2 = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 1:
               case 34:
                  if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(34);
                  break;
               case 6:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(293, 295);
                  break;
               case 13:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(290, 292);
                  break;
               case 21:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(306, 307);
                  break;
               case 24:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(308, 309);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      if (kind != 0x7fffffff)
      {
         jjmatchedKind = kind;
         jjmatchedPos = curPos;
         kind = 0x7fffffff;
      }
      ++curPos;
      if ((i = jjnewStateCnt) == (startsAt = 70 - (jjnewStateCnt = startsAt)))
         return curPos;
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) { return curPos; }
   }
}
private final int jjStopStringLiteralDfa_5(int pos, long active0, long active1)
{
   switch (pos)
   {
      default :
         return -1;
   }
}
private final int jjStartNfa_5(int pos, long active0, long active1)
{
   return jjMoveNfa_5(jjStopStringLiteralDfa_5(pos, active0, active1), pos + 1);
}
private final int jjStartNfaWithStates_5(int pos, int kind, int state)
{
   jjmatchedKind = kind;
   jjmatchedPos = pos;
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) { return pos + 1; }
   return jjMoveNfa_5(state, pos + 1);
}
private final int jjMoveStringLiteralDfa0_5()
{
   switch(curChar)
   {
      case 45:
         return jjStartNfaWithStates_5(0, 78, 3);
      default :
         return jjMoveNfa_5(1, 0);
   }
}
private final int jjMoveNfa_5(int startState, int curPos)
{
   int[] nextStates;
   int startsAt = 0;
   jjnewStateCnt = 6;
   int i = 1;
   jjstateSet[0] = startState;
   int j, kind = 0x7fffffff;
   for (;;)
   {
      if (++jjround == 0x7fffffff)
         ReInitRounds();
      if (curChar < 64)
      {
         long l = 1L << curChar;
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 3:
                  if (curChar == 45)
                     jjstateSet[jjnewStateCnt++] = 4;
                  if (curChar == 45)
                     jjstateSet[jjnewStateCnt++] = 2;
                  break;
               case 1:
                  if ((0xbfffdfffffffffffL & l) != 0L)
                  {
                     if (kind > 75)
                        kind = 75;
                     jjCheckNAdd(0);
                  }
                  else if (curChar == 45)
                     jjAddStates(322, 323);
                  break;
               case 0:
                  if ((0xbfffdfffffffffffL & l) == 0L)
                     break;
                  kind = 75;
                  jjCheckNAdd(0);
                  break;
               case 2:
                  if (curChar == 62)
                     kind = 79;
                  break;
               case 5:
                  if (curChar == 45)
                     jjstateSet[jjnewStateCnt++] = 4;
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else if (curChar < 128)
      {
         long l = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 1:
               case 0:
                  if ((0xffffffffdfffffffL & l) == 0L)
                     break;
                  kind = 75;
                  jjCheckNAdd(0);
                  break;
               case 4:
                  if (curChar == 93)
                     kind = 79;
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else
      {
         int hiByte = (int)(curChar >> 8);
         int i1 = hiByte >> 6;
         long l1 = 1L << (hiByte & 077);
         int i2 = (curChar & 0xff) >> 6;
         long l2 = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 1:
               case 0:
                  if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
                     break;
                  if (kind > 75)
                     kind = 75;
                  jjCheckNAdd(0);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      if (kind != 0x7fffffff)
      {
         jjmatchedKind = kind;
         jjmatchedPos = curPos;
         kind = 0x7fffffff;
      }
      ++curPos;
      if ((i = jjnewStateCnt) == (startsAt = 6 - (jjnewStateCnt = startsAt)))
         return curPos;
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) { return curPos; }
   }
}
private final int jjStopStringLiteralDfa_6(int pos, long active0, long active1)
{
   switch (pos)
   {
      case 0:
         if ((active1 & 0x8000000000L) != 0L)
            return 32;
         if ((active1 & 0xe0000000180000L) != 0L)
         {
            jjmatchedKind = 120;
            return 29;
         }
         return -1;
      case 1:
         if ((active1 & 0x80000000180000L) != 0L)
         {
            if (jjmatchedPos != 1)
            {
               jjmatchedKind = 120;
               jjmatchedPos = 1;
            }
            return 29;
         }
         if ((active1 & 0x60000000000000L) != 0L)
            return 29;
         return -1;
      case 2:
         if ((active1 & 0x80000000180000L) != 0L)
         {
            jjmatchedKind = 120;
            jjmatchedPos = 2;
            return 29;
         }
         return -1;
      case 3:
         if ((active1 & 0x100000L) != 0L)
            return 29;
         if ((active1 & 0x80000000080000L) != 0L)
         {
            jjmatchedKind = 120;
            jjmatchedPos = 3;
            return 29;
         }
         return -1;
      default :
         return -1;
   }
}
private final int jjStartNfa_6(int pos, long active0, long active1)
{
   return jjMoveNfa_6(jjStopStringLiteralDfa_6(pos, active0, active1), pos + 1);
}
private final int jjStartNfaWithStates_6(int pos, int kind, int state)
{
   jjmatchedKind = kind;
   jjmatchedPos = pos;
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) { return pos + 1; }
   return jjMoveNfa_6(state, pos + 1);
}
private final int jjMoveStringLiteralDfa0_6()
{
   switch(curChar)
   {
      case 33:
         jjmatchedKind = 107;
         return jjMoveStringLiteralDfa1_6(0x20000000L);
      case 37:
         return jjStopAtPos(0, 104);
      case 40:
         return jjStopAtPos(0, 113);
      case 41:
         return jjStopAtPos(0, 114);
      case 42:
         jjmatchedKind = 100;
         return jjMoveStringLiteralDfa1_6(0x2000000000L);
      case 43:
         return jjStopAtPos(0, 98);
      case 44:
         return jjStopAtPos(0, 108);
      case 45:
         return jjStopAtPos(0, 99);
      case 46:
         jjmatchedKind = 87;
         return jjMoveStringLiteralDfa1_6(0x4001000000L);
      case 47:
         return jjStartNfaWithStates_6(0, 103, 32);
      case 58:
         return jjStopAtPos(0, 110);
      case 59:
         return jjStopAtPos(0, 109);
      case 61:
         jjmatchedKind = 91;
         return jjMoveStringLiteralDfa1_6(0x10000000L);
      case 62:
         return jjStopAtPos(0, 123);
      case 63:
         jjmatchedKind = 89;
         return jjMoveStringLiteralDfa1_6(0x4000000L);
      case 91:
         return jjStopAtPos(0, 111);
      case 93:
         return jjStopAtPos(0, 112);
      case 97:
         return jjMoveStringLiteralDfa1_6(0x40000000000000L);
      case 102:
         return jjMoveStringLiteralDfa1_6(0x80000L);
      case 105:
         return jjMoveStringLiteralDfa1_6(0x20000000000000L);
      case 116:
         return jjMoveStringLiteralDfa1_6(0x100000L);
      case 117:
         return jjMoveStringLiteralDfa1_6(0x80000000000000L);
      case 123:
         return jjStopAtPos(0, 115);
      case 125:
         return jjStopAtPos(0, 116);
      default :
         return jjMoveNfa_6(0, 0);
   }
}
private final int jjMoveStringLiteralDfa1_6(long active1)
{
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_6(0, 0L, active1);
      return 1;
   }
   switch(curChar)
   {
      case 42:
         if ((active1 & 0x2000000000L) != 0L)
            return jjStopAtPos(1, 101);
         break;
      case 46:
         if ((active1 & 0x1000000L) != 0L)
         {
            jjmatchedKind = 88;
            jjmatchedPos = 1;
         }
         return jjMoveStringLiteralDfa2_6(active1, 0x4000000000L);
      case 61:
         if ((active1 & 0x10000000L) != 0L)
            return jjStopAtPos(1, 92);
         else if ((active1 & 0x20000000L) != 0L)
            return jjStopAtPos(1, 93);
         break;
      case 63:
         if ((active1 & 0x4000000L) != 0L)
            return jjStopAtPos(1, 90);
         break;
      case 97:
         return jjMoveStringLiteralDfa2_6(active1, 0x80000L);
      case 110:
         if ((active1 & 0x20000000000000L) != 0L)
            return jjStartNfaWithStates_6(1, 117, 29);
         break;
      case 114:
         return jjMoveStringLiteralDfa2_6(active1, 0x100000L);
      case 115:
         if ((active1 & 0x40000000000000L) != 0L)
            return jjStartNfaWithStates_6(1, 118, 29);
         return jjMoveStringLiteralDfa2_6(active1, 0x80000000000000L);
      default :
         break;
   }
   return jjStartNfa_6(0, 0L, active1);
}
private final int jjMoveStringLiteralDfa2_6(long old1, long active1)
{
   if (((active1 &= old1)) == 0L)
      return jjStartNfa_6(0, 0L, old1); 
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_6(1, 0L, active1);
      return 2;
   }
   switch(curChar)
   {
      case 46:
         if ((active1 & 0x4000000000L) != 0L)
            return jjStopAtPos(2, 102);
         break;
      case 105:
         return jjMoveStringLiteralDfa3_6(active1, 0x80000000000000L);
      case 108:
         return jjMoveStringLiteralDfa3_6(active1, 0x80000L);
      case 117:
         return jjMoveStringLiteralDfa3_6(active1, 0x100000L);
      default :
         break;
   }
   return jjStartNfa_6(1, 0L, active1);
}
private final int jjMoveStringLiteralDfa3_6(long old1, long active1)
{
   if (((active1 &= old1)) == 0L)
      return jjStartNfa_6(1, 0L, old1); 
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_6(2, 0L, active1);
      return 3;
   }
   switch(curChar)
   {
      case 101:
         if ((active1 & 0x100000L) != 0L)
            return jjStartNfaWithStates_6(3, 84, 29);
         break;
      case 110:
         return jjMoveStringLiteralDfa4_6(active1, 0x80000000000000L);
      case 115:
         return jjMoveStringLiteralDfa4_6(active1, 0x80000L);
      default :
         break;
   }
   return jjStartNfa_6(2, 0L, active1);
}
private final int jjMoveStringLiteralDfa4_6(long old1, long active1)
{
   if (((active1 &= old1)) == 0L)
      return jjStartNfa_6(2, 0L, old1); 
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_6(3, 0L, active1);
      return 4;
   }
   switch(curChar)
   {
      case 101:
         if ((active1 & 0x80000L) != 0L)
            return jjStartNfaWithStates_6(4, 83, 29);
         break;
      case 103:
         if ((active1 & 0x80000000000000L) != 0L)
            return jjStartNfaWithStates_6(4, 119, 29);
         break;
      default :
         break;
   }
   return jjStartNfa_6(3, 0L, active1);
}
private final int jjMoveNfa_6(int startState, int curPos)
{
   int[] nextStates;
   int startsAt = 0;
   jjnewStateCnt = 69;
   int i = 1;
   jjstateSet[0] = startState;
   int j, kind = 0x7fffffff;
   for (;;)
   {
      if (++jjround == 0x7fffffff)
         ReInitRounds();
      if (curChar < 64)
      {
         long l = 1L << curChar;
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 32:
                  if (curChar == 62 && kind > 124)
                     kind = 124;
                  break;
               case 0:
                  if ((0x3ff000000000000L & l) != 0L)
                  {
                     if (kind > 85)
                        kind = 85;
                     jjCheckNAddStates(324, 326);
                  }
                  else if ((0x100002600L & l) != 0L)
                  {
                     if (kind > 127)
                        kind = 127;
                     jjCheckNAdd(30);
                  }
                  else if (curChar == 38)
                     jjAddStates(327, 331);
                  else if (curChar == 47)
                     jjAddStates(332, 333);
                  else if (curChar == 36)
                  {
                     if (kind > 120)
                        kind = 120;
                     jjCheckNAdd(29);
                  }
                  else if (curChar == 60)
                     jjCheckNAdd(22);
                  else if (curChar == 39)
                     jjCheckNAddStates(334, 336);
                  else if (curChar == 34)
                     jjCheckNAddStates(337, 339);
                  if (curChar == 38)
                  {
                     if (kind > 105)
                        kind = 105;
                  }
                  else if (curChar == 60)
                  {
                     if (kind > 94)
                        kind = 94;
                  }
                  break;
               case 1:
                  if ((0xfffffffbffffffffL & l) != 0L)
                     jjCheckNAddStates(337, 339);
                  break;
               case 3:
                  if ((0x9400000000L & l) != 0L)
                     jjCheckNAddStates(337, 339);
                  break;
               case 4:
                  if (curChar == 34 && kind > 81)
                     kind = 81;
                  break;
               case 6:
                  if ((0x3ff000000000000L & l) != 0L)
                     jjCheckNAddStates(337, 339);
                  break;
               case 7:
                  if (curChar == 39)
                     jjCheckNAddStates(334, 336);
                  break;
               case 8:
                  if ((0xffffff7fffffffffL & l) != 0L)
                     jjCheckNAddStates(334, 336);
                  break;
               case 10:
                  if ((0x9400000000L & l) != 0L)
                     jjCheckNAddStates(334, 336);
                  break;
               case 11:
                  if (curChar == 39 && kind > 81)
                     kind = 81;
                  break;
               case 13:
                  if ((0x3ff000000000000L & l) != 0L)
                     jjCheckNAddStates(334, 336);
                  break;
               case 15:
                  if (curChar == 34)
                     jjCheckNAddTwoStates(16, 17);
                  break;
               case 16:
                  if ((0xfffffffbffffffffL & l) != 0L)
                     jjCheckNAddTwoStates(16, 17);
                  break;
               case 17:
                  if (curChar == 34 && kind > 82)
                     kind = 82;
                  break;
               case 18:
                  if (curChar == 39)
                     jjCheckNAddTwoStates(19, 20);
                  break;
               case 19:
                  if ((0xffffff7fffffffffL & l) != 0L)
                     jjCheckNAddTwoStates(19, 20);
                  break;
               case 20:
                  if (curChar == 39 && kind > 82)
                     kind = 82;
                  break;
               case 21:
                  if (curChar == 60 && kind > 94)
                     kind = 94;
                  break;
               case 22:
                  if (curChar == 61 && kind > 95)
                     kind = 95;
                  break;
               case 23:
                  if (curChar == 60)
                     jjCheckNAdd(22);
                  break;
               case 24:
               case 66:
                  if (curChar == 38 && kind > 105)
                     kind = 105;
                  break;
               case 28:
                  if (curChar != 36)
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(29);
                  break;
               case 29:
                  if ((0x3ff001000000000L & l) == 0L)
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(29);
                  break;
               case 30:
                  if ((0x100002600L & l) == 0L)
                     break;
                  if (kind > 127)
                     kind = 127;
                  jjCheckNAdd(30);
                  break;
               case 31:
                  if (curChar == 47)
                     jjAddStates(332, 333);
                  break;
               case 34:
                  if ((0x3ff000000000000L & l) == 0L)
                     break;
                  if (kind > 85)
                     kind = 85;
                  jjCheckNAddStates(324, 326);
                  break;
               case 35:
                  if ((0x3ff000000000000L & l) == 0L)
                     break;
                  if (kind > 85)
                     kind = 85;
                  jjCheckNAdd(35);
                  break;
               case 36:
                  if ((0x3ff000000000000L & l) != 0L)
                     jjCheckNAddTwoStates(36, 37);
                  break;
               case 37:
                  if (curChar == 46)
                     jjCheckNAdd(38);
                  break;
               case 38:
                  if ((0x3ff000000000000L & l) == 0L)
                     break;
                  if (kind > 86)
                     kind = 86;
                  jjCheckNAdd(38);
                  break;
               case 52:
                  if (curChar == 38)
                     jjAddStates(327, 331);
                  break;
               case 53:
                  if (curChar == 59 && kind > 94)
                     kind = 94;
                  break;
               case 56:
                  if (curChar == 59)
                     jjCheckNAdd(22);
                  break;
               case 59:
                  if (curChar == 59 && kind > 96)
                     kind = 96;
                  break;
               case 62:
                  if (curChar == 61 && kind > 97)
                     kind = 97;
                  break;
               case 63:
                  if (curChar == 59)
                     jjstateSet[jjnewStateCnt++] = 62;
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else if (curChar < 128)
      {
         long l = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 32:
                  if (curChar == 93 && kind > 124)
                     kind = 124;
                  break;
               case 0:
                  if ((0x7fffffe87ffffffL & l) != 0L)
                  {
                     if (kind > 120)
                        kind = 120;
                     jjCheckNAdd(29);
                  }
                  else if (curChar == 92)
                     jjAddStates(340, 343);
                  else if (curChar == 124)
                     jjstateSet[jjnewStateCnt++] = 26;
                  if (curChar == 103)
                     jjCheckNAddTwoStates(47, 68);
                  else if (curChar == 108)
                     jjCheckNAddTwoStates(40, 42);
                  else if (curChar == 124)
                  {
                     if (kind > 106)
                        kind = 106;
                  }
                  else if (curChar == 114)
                     jjAddStates(344, 345);
                  break;
               case 1:
                  if ((0xffffffffefffffffL & l) != 0L)
                     jjCheckNAddStates(337, 339);
                  break;
               case 2:
                  if (curChar == 92)
                     jjAddStates(322, 323);
                  break;
               case 3:
                  if ((0x81450c610000000L & l) != 0L)
                     jjCheckNAddStates(337, 339);
                  break;
               case 5:
                  if (curChar == 120)
                     jjstateSet[jjnewStateCnt++] = 6;
                  break;
               case 6:
                  if ((0x7e0000007eL & l) != 0L)
                     jjCheckNAddStates(337, 339);
                  break;
               case 8:
                  if ((0xffffffffefffffffL & l) != 0L)
                     jjCheckNAddStates(334, 336);
                  break;
               case 9:
                  if (curChar == 92)
                     jjAddStates(0, 1);
                  break;
               case 10:
                  if ((0x81450c610000000L & l) != 0L)
                     jjCheckNAddStates(334, 336);
                  break;
               case 12:
                  if (curChar == 120)
                     jjstateSet[jjnewStateCnt++] = 13;
                  break;
               case 13:
                  if ((0x7e0000007eL & l) != 0L)
                     jjCheckNAddStates(334, 336);
                  break;
               case 14:
                  if (curChar == 114)
                     jjAddStates(344, 345);
                  break;
               case 16:
                  jjAddStates(346, 347);
                  break;
               case 19:
                  jjAddStates(348, 349);
                  break;
               case 25:
               case 26:
                  if (curChar == 124 && kind > 106)
                     kind = 106;
                  break;
               case 27:
                  if (curChar == 124)
                     jjstateSet[jjnewStateCnt++] = 26;
                  break;
               case 28:
               case 29:
                  if ((0x7fffffe87ffffffL & l) == 0L)
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(29);
                  break;
               case 39:
                  if (curChar == 108)
                     jjCheckNAddTwoStates(40, 42);
                  break;
               case 40:
                  if (curChar == 116 && kind > 94)
                     kind = 94;
                  break;
               case 41:
                  if (curChar == 101 && kind > 95)
                     kind = 95;
                  break;
               case 42:
               case 45:
                  if (curChar == 116)
                     jjCheckNAdd(41);
                  break;
               case 43:
                  if (curChar == 92)
                     jjAddStates(340, 343);
                  break;
               case 44:
                  if (curChar == 108)
                     jjCheckNAdd(40);
                  break;
               case 46:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 45;
                  break;
               case 47:
                  if (curChar == 116 && kind > 96)
                     kind = 96;
                  break;
               case 48:
                  if (curChar == 103)
                     jjCheckNAdd(47);
                  break;
               case 49:
                  if (curChar == 101 && kind > 97)
                     kind = 97;
                  break;
               case 50:
               case 68:
                  if (curChar == 116)
                     jjCheckNAdd(49);
                  break;
               case 51:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 50;
                  break;
               case 54:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 53;
                  break;
               case 55:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 54;
                  break;
               case 57:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 56;
                  break;
               case 58:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 57;
                  break;
               case 60:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 59;
                  break;
               case 61:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 60;
                  break;
               case 64:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 63;
                  break;
               case 65:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 64;
                  break;
               case 67:
                  if (curChar == 103)
                     jjCheckNAddTwoStates(47, 68);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else
      {
         int hiByte = (int)(curChar >> 8);
         int i1 = hiByte >> 6;
         long l1 = 1L << (hiByte & 077);
         int i2 = (curChar & 0xff) >> 6;
         long l2 = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 0:
               case 29:
                  if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(29);
                  break;
               case 1:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(337, 339);
                  break;
               case 8:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(334, 336);
                  break;
               case 16:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(346, 347);
                  break;
               case 19:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(348, 349);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      if (kind != 0x7fffffff)
      {
         jjmatchedKind = kind;
         jjmatchedPos = curPos;
         kind = 0x7fffffff;
      }
      ++curPos;
      if ((i = jjnewStateCnt) == (startsAt = 69 - (jjnewStateCnt = startsAt)))
         return curPos;
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) { return curPos; }
   }
}
private final int jjStopStringLiteralDfa_4(int pos, long active0, long active1)
{
   switch (pos)
   {
      case 0:
         if ((active1 & 0x800000000000L) != 0L)
            return 2;
         if ((active1 & 0x80020000000L) != 0L)
            return 36;
         if ((active1 & 0xe0000000180000L) != 0L)
         {
            jjmatchedKind = 120;
            return 34;
         }
         if ((active1 & 0x8000000000L) != 0L)
            return 38;
         return -1;
      case 1:
         if ((active1 & 0x60000000000000L) != 0L)
            return 34;
         if ((active1 & 0x80000000180000L) != 0L)
         {
            if (jjmatchedPos != 1)
            {
               jjmatchedKind = 120;
               jjmatchedPos = 1;
            }
            return 34;
         }
         return -1;
      case 2:
         if ((active1 & 0x80000000180000L) != 0L)
         {
            jjmatchedKind = 120;
            jjmatchedPos = 2;
            return 34;
         }
         return -1;
      case 3:
         if ((active1 & 0x100000L) != 0L)
            return 34;
         if ((active1 & 0x80000000080000L) != 0L)
         {
            jjmatchedKind = 120;
            jjmatchedPos = 3;
            return 34;
         }
         return -1;
      default :
         return -1;
   }
}
private final int jjStartNfa_4(int pos, long active0, long active1)
{
   return jjMoveNfa_4(jjStopStringLiteralDfa_4(pos, active0, active1), pos + 1);
}
private final int jjStartNfaWithStates_4(int pos, int kind, int state)
{
   jjmatchedKind = kind;
   jjmatchedPos = pos;
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) { return pos + 1; }
   return jjMoveNfa_4(state, pos + 1);
}
private final int jjMoveStringLiteralDfa0_4()
{
   switch(curChar)
   {
      case 33:
         jjmatchedKind = 107;
         return jjMoveStringLiteralDfa1_4(0x20000000L);
      case 37:
         return jjStopAtPos(0, 104);
      case 40:
         return jjStopAtPos(0, 113);
      case 41:
         return jjStopAtPos(0, 114);
      case 42:
         jjmatchedKind = 100;
         return jjMoveStringLiteralDfa1_4(0x2000000000L);
      case 43:
         return jjStopAtPos(0, 98);
      case 44:
         return jjStopAtPos(0, 108);
      case 45:
         return jjStopAtPos(0, 99);
      case 46:
         jjmatchedKind = 87;
         return jjMoveStringLiteralDfa1_4(0x4001000000L);
      case 47:
         return jjStartNfaWithStates_4(0, 103, 38);
      case 58:
         return jjStopAtPos(0, 110);
      case 59:
         return jjStopAtPos(0, 109);
      case 61:
         jjmatchedKind = 91;
         return jjMoveStringLiteralDfa1_4(0x10000000L);
      case 62:
         return jjStopAtPos(0, 123);
      case 63:
         jjmatchedKind = 89;
         return jjMoveStringLiteralDfa1_4(0x4000000L);
      case 91:
         return jjStartNfaWithStates_4(0, 111, 2);
      case 93:
         return jjStopAtPos(0, 112);
      case 97:
         return jjMoveStringLiteralDfa1_4(0x40000000000000L);
      case 102:
         return jjMoveStringLiteralDfa1_4(0x80000L);
      case 105:
         return jjMoveStringLiteralDfa1_4(0x20000000000000L);
      case 116:
         return jjMoveStringLiteralDfa1_4(0x100000L);
      case 117:
         return jjMoveStringLiteralDfa1_4(0x80000000000000L);
      case 123:
         return jjStopAtPos(0, 115);
      case 125:
         return jjStopAtPos(0, 116);
      default :
         return jjMoveNfa_4(1, 0);
   }
}
private final int jjMoveStringLiteralDfa1_4(long active1)
{
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_4(0, 0L, active1);
      return 1;
   }
   switch(curChar)
   {
      case 42:
         if ((active1 & 0x2000000000L) != 0L)
            return jjStopAtPos(1, 101);
         break;
      case 46:
         if ((active1 & 0x1000000L) != 0L)
         {
            jjmatchedKind = 88;
            jjmatchedPos = 1;
         }
         return jjMoveStringLiteralDfa2_4(active1, 0x4000000000L);
      case 61:
         if ((active1 & 0x10000000L) != 0L)
            return jjStopAtPos(1, 92);
         else if ((active1 & 0x20000000L) != 0L)
            return jjStopAtPos(1, 93);
         break;
      case 63:
         if ((active1 & 0x4000000L) != 0L)
            return jjStopAtPos(1, 90);
         break;
      case 97:
         return jjMoveStringLiteralDfa2_4(active1, 0x80000L);
      case 110:
         if ((active1 & 0x20000000000000L) != 0L)
            return jjStartNfaWithStates_4(1, 117, 34);
         break;
      case 114:
         return jjMoveStringLiteralDfa2_4(active1, 0x100000L);
      case 115:
         if ((active1 & 0x40000000000000L) != 0L)
            return jjStartNfaWithStates_4(1, 118, 34);
         return jjMoveStringLiteralDfa2_4(active1, 0x80000000000000L);
      default :
         break;
   }
   return jjStartNfa_4(0, 0L, active1);
}
private final int jjMoveStringLiteralDfa2_4(long old1, long active1)
{
   if (((active1 &= old1)) == 0L)
      return jjStartNfa_4(0, 0L, old1); 
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_4(1, 0L, active1);
      return 2;
   }
   switch(curChar)
   {
      case 46:
         if ((active1 & 0x4000000000L) != 0L)
            return jjStopAtPos(2, 102);
         break;
      case 105:
         return jjMoveStringLiteralDfa3_4(active1, 0x80000000000000L);
      case 108:
         return jjMoveStringLiteralDfa3_4(active1, 0x80000L);
      case 117:
         return jjMoveStringLiteralDfa3_4(active1, 0x100000L);
      default :
         break;
   }
   return jjStartNfa_4(1, 0L, active1);
}
private final int jjMoveStringLiteralDfa3_4(long old1, long active1)
{
   if (((active1 &= old1)) == 0L)
      return jjStartNfa_4(1, 0L, old1); 
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_4(2, 0L, active1);
      return 3;
   }
   switch(curChar)
   {
      case 101:
         if ((active1 & 0x100000L) != 0L)
            return jjStartNfaWithStates_4(3, 84, 34);
         break;
      case 110:
         return jjMoveStringLiteralDfa4_4(active1, 0x80000000000000L);
      case 115:
         return jjMoveStringLiteralDfa4_4(active1, 0x80000L);
      default :
         break;
   }
   return jjStartNfa_4(2, 0L, active1);
}
private final int jjMoveStringLiteralDfa4_4(long old1, long active1)
{
   if (((active1 &= old1)) == 0L)
      return jjStartNfa_4(2, 0L, old1); 
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_4(3, 0L, active1);
      return 4;
   }
   switch(curChar)
   {
      case 101:
         if ((active1 & 0x80000L) != 0L)
            return jjStartNfaWithStates_4(4, 83, 34);
         break;
      case 103:
         if ((active1 & 0x80000000000000L) != 0L)
            return jjStartNfaWithStates_4(4, 119, 34);
         break;
      default :
         break;
   }
   return jjStartNfa_4(3, 0L, active1);
}
private final int jjMoveNfa_4(int startState, int curPos)
{
   int[] nextStates;
   int startsAt = 0;
   jjnewStateCnt = 75;
   int i = 1;
   jjstateSet[0] = startState;
   int j, kind = 0x7fffffff;
   for (;;)
   {
      if (++jjround == 0x7fffffff)
         ReInitRounds();
      if (curChar < 64)
      {
         long l = 1L << curChar;
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 1:
                  if ((0x3ff000000000000L & l) != 0L)
                  {
                     if (kind > 85)
                        kind = 85;
                     jjCheckNAddStates(350, 352);
                  }
                  else if ((0x100002600L & l) != 0L)
                  {
                     if (kind > 73)
                        kind = 73;
                     jjCheckNAdd(0);
                  }
                  else if (curChar == 38)
                     jjAddStates(353, 357);
                  else if (curChar == 47)
                     jjAddStates(358, 359);
                  else if (curChar == 33)
                     jjCheckNAdd(36);
                  else if (curChar == 36)
                  {
                     if (kind > 120)
                        kind = 120;
                     jjCheckNAdd(34);
                  }
                  else if (curChar == 60)
                     jjCheckNAdd(27);
                  else if (curChar == 39)
                     jjCheckNAddStates(290, 292);
                  else if (curChar == 34)
                     jjCheckNAddStates(293, 295);
                  if (curChar == 38)
                  {
                     if (kind > 105)
                        kind = 105;
                  }
                  else if (curChar == 60)
                  {
                     if (kind > 94)
                        kind = 94;
                  }
                  if (curChar == 60)
                     jjstateSet[jjnewStateCnt++] = 2;
                  break;
               case 38:
                  if (curChar == 62 && kind > 124)
                     kind = 124;
                  break;
               case 0:
                  if ((0x100002600L & l) == 0L)
                     break;
                  if (kind > 73)
                     kind = 73;
                  jjCheckNAdd(0);
                  break;
               case 2:
                  if ((0xa00000000L & l) != 0L)
                     jjstateSet[jjnewStateCnt++] = 4;
                  break;
               case 3:
                  if (curChar == 45 && kind > 74)
                     kind = 74;
                  break;
               case 4:
                  if (curChar == 45)
                     jjstateSet[jjnewStateCnt++] = 3;
                  break;
               case 5:
                  if (curChar == 34)
                     jjCheckNAddStates(293, 295);
                  break;
               case 6:
                  if ((0xfffffffbffffffffL & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 8:
                  if ((0x9400000000L & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 9:
                  if (curChar == 34 && kind > 81)
                     kind = 81;
                  break;
               case 11:
                  if ((0x3ff000000000000L & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 12:
                  if (curChar == 39)
                     jjCheckNAddStates(290, 292);
                  break;
               case 13:
                  if ((0xffffff7fffffffffL & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 15:
                  if ((0x9400000000L & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 16:
                  if (curChar == 39 && kind > 81)
                     kind = 81;
                  break;
               case 18:
                  if ((0x3ff000000000000L & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 20:
                  if (curChar == 34)
                     jjCheckNAddTwoStates(21, 22);
                  break;
               case 21:
                  if ((0xfffffffbffffffffL & l) != 0L)
                     jjCheckNAddTwoStates(21, 22);
                  break;
               case 22:
                  if (curChar == 34 && kind > 82)
                     kind = 82;
                  break;
               case 23:
                  if (curChar == 39)
                     jjCheckNAddTwoStates(24, 25);
                  break;
               case 24:
                  if ((0xffffff7fffffffffL & l) != 0L)
                     jjCheckNAddTwoStates(24, 25);
                  break;
               case 25:
                  if (curChar == 39 && kind > 82)
                     kind = 82;
                  break;
               case 26:
                  if (curChar == 60 && kind > 94)
                     kind = 94;
                  break;
               case 27:
                  if (curChar == 61 && kind > 95)
                     kind = 95;
                  break;
               case 28:
                  if (curChar == 60)
                     jjCheckNAdd(27);
                  break;
               case 29:
               case 72:
                  if (curChar == 38 && kind > 105)
                     kind = 105;
                  break;
               case 33:
                  if (curChar != 36)
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(34);
                  break;
               case 34:
                  if ((0x3ff001000000000L & l) == 0L)
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(34);
                  break;
               case 35:
                  if (curChar == 33)
                     jjCheckNAdd(36);
                  break;
               case 36:
                  if ((0x100002600L & l) == 0L)
                     break;
                  if (kind > 128)
                     kind = 128;
                  jjCheckNAdd(36);
                  break;
               case 37:
                  if (curChar == 47)
                     jjAddStates(358, 359);
                  break;
               case 40:
                  if ((0x3ff000000000000L & l) == 0L)
                     break;
                  if (kind > 85)
                     kind = 85;
                  jjCheckNAddStates(350, 352);
                  break;
               case 41:
                  if ((0x3ff000000000000L & l) == 0L)
                     break;
                  if (kind > 85)
                     kind = 85;
                  jjCheckNAdd(41);
                  break;
               case 42:
                  if ((0x3ff000000000000L & l) != 0L)
                     jjCheckNAddTwoStates(42, 43);
                  break;
               case 43:
                  if (curChar == 46)
                     jjCheckNAdd(44);
                  break;
               case 44:
                  if ((0x3ff000000000000L & l) == 0L)
                     break;
                  if (kind > 86)
                     kind = 86;
                  jjCheckNAdd(44);
                  break;
               case 58:
                  if (curChar == 38)
                     jjAddStates(353, 357);
                  break;
               case 59:
                  if (curChar == 59 && kind > 94)
                     kind = 94;
                  break;
               case 62:
                  if (curChar == 59)
                     jjCheckNAdd(27);
                  break;
               case 65:
                  if (curChar == 59 && kind > 96)
                     kind = 96;
                  break;
               case 68:
                  if (curChar == 61 && kind > 97)
                     kind = 97;
                  break;
               case 69:
                  if (curChar == 59)
                     jjstateSet[jjnewStateCnt++] = 68;
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else if (curChar < 128)
      {
         long l = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 1:
                  if ((0x7fffffe87ffffffL & l) != 0L)
                  {
                     if (kind > 120)
                        kind = 120;
                     jjCheckNAdd(34);
                  }
                  else if (curChar == 92)
                     jjAddStates(360, 363);
                  else if (curChar == 124)
                     jjstateSet[jjnewStateCnt++] = 31;
                  else if (curChar == 91)
                     jjstateSet[jjnewStateCnt++] = 2;
                  if (curChar == 103)
                     jjCheckNAddTwoStates(53, 74);
                  else if (curChar == 108)
                     jjCheckNAddTwoStates(46, 48);
                  else if (curChar == 124)
                  {
                     if (kind > 106)
                        kind = 106;
                  }
                  else if (curChar == 114)
                     jjAddStates(300, 301);
                  break;
               case 38:
                  if (curChar == 93 && kind > 124)
                     kind = 124;
                  break;
               case 6:
                  if ((0xffffffffefffffffL & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 7:
                  if (curChar == 92)
                     jjAddStates(302, 303);
                  break;
               case 8:
                  if ((0x81450c610000000L & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 10:
                  if (curChar == 120)
                     jjstateSet[jjnewStateCnt++] = 11;
                  break;
               case 11:
                  if ((0x7e0000007eL & l) != 0L)
                     jjCheckNAddStates(293, 295);
                  break;
               case 13:
                  if ((0xffffffffefffffffL & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 14:
                  if (curChar == 92)
                     jjAddStates(304, 305);
                  break;
               case 15:
                  if ((0x81450c610000000L & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 17:
                  if (curChar == 120)
                     jjstateSet[jjnewStateCnt++] = 18;
                  break;
               case 18:
                  if ((0x7e0000007eL & l) != 0L)
                     jjCheckNAddStates(290, 292);
                  break;
               case 19:
                  if (curChar == 114)
                     jjAddStates(300, 301);
                  break;
               case 21:
                  jjAddStates(306, 307);
                  break;
               case 24:
                  jjAddStates(308, 309);
                  break;
               case 30:
               case 31:
                  if (curChar == 124 && kind > 106)
                     kind = 106;
                  break;
               case 32:
                  if (curChar == 124)
                     jjstateSet[jjnewStateCnt++] = 31;
                  break;
               case 33:
               case 34:
                  if ((0x7fffffe87ffffffL & l) == 0L)
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(34);
                  break;
               case 45:
                  if (curChar == 108)
                     jjCheckNAddTwoStates(46, 48);
                  break;
               case 46:
                  if (curChar == 116 && kind > 94)
                     kind = 94;
                  break;
               case 47:
                  if (curChar == 101 && kind > 95)
                     kind = 95;
                  break;
               case 48:
               case 51:
                  if (curChar == 116)
                     jjCheckNAdd(47);
                  break;
               case 49:
                  if (curChar == 92)
                     jjAddStates(360, 363);
                  break;
               case 50:
                  if (curChar == 108)
                     jjCheckNAdd(46);
                  break;
               case 52:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 51;
                  break;
               case 53:
                  if (curChar == 116 && kind > 96)
                     kind = 96;
                  break;
               case 54:
                  if (curChar == 103)
                     jjCheckNAdd(53);
                  break;
               case 55:
                  if (curChar == 101 && kind > 97)
                     kind = 97;
                  break;
               case 56:
               case 74:
                  if (curChar == 116)
                     jjCheckNAdd(55);
                  break;
               case 57:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 56;
                  break;
               case 60:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 59;
                  break;
               case 61:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 60;
                  break;
               case 63:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 62;
                  break;
               case 64:
                  if (curChar == 108)
                     jjstateSet[jjnewStateCnt++] = 63;
                  break;
               case 66:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 65;
                  break;
               case 67:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 66;
                  break;
               case 70:
                  if (curChar == 116)
                     jjstateSet[jjnewStateCnt++] = 69;
                  break;
               case 71:
                  if (curChar == 103)
                     jjstateSet[jjnewStateCnt++] = 70;
                  break;
               case 73:
                  if (curChar == 103)
                     jjCheckNAddTwoStates(53, 74);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      else
      {
         int hiByte = (int)(curChar >> 8);
         int i1 = hiByte >> 6;
         long l1 = 1L << (hiByte & 077);
         int i2 = (curChar & 0xff) >> 6;
         long l2 = 1L << (curChar & 077);
         MatchLoop: do
         {
            switch(jjstateSet[--i])
            {
               case 1:
               case 34:
                  if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
                     break;
                  if (kind > 120)
                     kind = 120;
                  jjCheckNAdd(34);
                  break;
               case 6:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(293, 295);
                  break;
               case 13:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(290, 292);
                  break;
               case 21:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(306, 307);
                  break;
               case 24:
                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
                     jjAddStates(308, 309);
                  break;
               default : break;
            }
         } while(i != startsAt);
      }
      if (kind != 0x7fffffff)
      {
         jjmatchedKind = kind;
         jjmatchedPos = curPos;
         kind = 0x7fffffff;
      }
      ++curPos;
      if ((i = jjnewStateCnt) == (startsAt = 75 - (jjnewStateCnt = startsAt)))
         return curPos;
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) { return curPos; }
   }
}
static final int[] jjnextStates = {
   10, 12, 4, 5, 3, 4, 5, 557, 566, 306, 307, 308, 309, 310, 311, 312, 
   313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 
   329, 330, 336, 337, 345, 346, 357, 358, 369, 370, 381, 382, 391, 392, 402, 403, 
   413, 414, 426, 427, 436, 437, 449, 450, 463, 464, 474, 475, 476, 477, 478, 479, 
   480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 501, 502, 503, 515, 
   516, 521, 527, 528, 530, 12, 21, 24, 31, 36, 44, 51, 56, 63, 70, 76, 
   84, 91, 100, 106, 116, 122, 127, 134, 139, 147, 157, 166, 175, 182, 190, 199, 
   206, 214, 215, 223, 228, 233, 242, 251, 258, 268, 276, 287, 294, 304, 5, 6, 
   14, 15, 149, 150, 159, 160, 168, 169, 177, 178, 179, 184, 185, 186, 192, 193, 
   194, 201, 202, 203, 208, 209, 210, 216, 217, 218, 220, 221, 222, 225, 226, 227, 
   230, 231, 232, 235, 236, 244, 245, 246, 260, 261, 262, 278, 279, 280, 296, 297, 
   332, 333, 339, 340, 348, 349, 360, 361, 372, 373, 384, 385, 394, 395, 405, 406, 
   416, 417, 429, 430, 439, 440, 452, 453, 466, 467, 493, 494, 505, 506, 560, 561, 
   564, 565, 561, 563, 564, 565, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 
   316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 532, 533, 
   534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 475, 476, 477, 478, 479, 
   480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 545, 502, 546, 516, 549, 
   552, 528, 553, 523, 524, 559, 564, 565, 39, 40, 41, 59, 62, 65, 69, 70, 
   36, 37, 13, 14, 16, 6, 7, 9, 48, 50, 52, 55, 20, 23, 8, 10, 
   15, 17, 21, 22, 24, 25, 36, 37, 38, 56, 59, 62, 66, 67, 45, 47, 
   49, 52, 3, 5, 35, 36, 37, 55, 58, 61, 65, 66, 32, 33, 8, 9, 
   11, 1, 2, 4, 44, 46, 48, 51, 15, 18, 16, 17, 19, 20, 41, 42, 
   43, 61, 64, 67, 71, 72, 38, 39, 50, 52, 54, 57, 
};
private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
{
   switch(hiByte)
   {
      case 0:
         return ((jjbitVec2[i2] & l2) != 0L);
      default : 
         if ((jjbitVec0[i1] & l1) != 0L)
            return true;
         return false;
   }
}
private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2)
{
   switch(hiByte)
   {
      case 0:
         return ((jjbitVec4[i2] & l2) != 0L);
      case 48:
         return ((jjbitVec5[i2] & l2) != 0L);
      case 49:
         return ((jjbitVec6[i2] & l2) != 0L);
      case 51:
         return ((jjbitVec7[i2] & l2) != 0L);
      case 61:
         return ((jjbitVec8[i2] & l2) != 0L);
      default : 
         if ((jjbitVec3[i1] & l1) != 0L)
            return true;
         return false;
   }
}
public static final String[] jjstrLiteralImages = {
"", null, null, null, null, null, null, null, null, null, null, null, null, 
null, null, null, null, null, null, null, null, null, null, null, null, null, null, 
null, null, null, null, null, null, null, null, null, null, null, null, null, null, 
null, null, null, null, null, null, null, null, null, null, null, null, null, null, 
null, null, null, null, null, null, null, null, null, null, null, null, null, null, 
null, null, "\44\173", "\43\173", null, null, null, null, null, null, null, null, 
null, null, "\146\141\154\163\145", "\164\162\165\145", null, null, "\56", "\56\56", 
"\77", "\77\77", "\75", "\75\75", "\41\75", null, null, null, null, "\53", "\55", 
"\52", "\52\52", "\56\56\56", "\57", "\45", null, null, "\41", "\54", "\73", "\72", 
"\133", "\135", "\50", "\51", "\173", "\175", "\151\156", "\141\163", 
"\165\163\151\156\147", null, null, null, "\76", null, "\76", "\76\75", null, null, null, null, null, 
null, };
public static final String[] lexStateNames = {
   "DEFAULT", 
   "NODIRECTIVE", 
   "FM_EXPRESSION", 
   "IN_PAREN", 
   "NAMED_PARAMETER_EXPRESSION", 
   "EXPRESSION_COMMENT", 
   "NO_SPACE_EXPRESSION", 
   "NO_PARSE", 
};
public static final int[] jjnewLexState = {
   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 2, -1, 5, 
   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
   -1, -1, 2, 2, -1, -1, -1, -1, 
};
static final long[] jjtoToken = {
   0xffffffffffffffc1L, 0xf9fffffffffe01ffL, 0x1fL, 
};
static final long[] jjtoSkip = {
   0x0L, 0xfe00L, 0x0L, 
};
protected SimpleCharStream input_stream;
private final int[] jjrounds = new int[567];
private final int[] jjstateSet = new int[1134];
StringBuffer image;
int jjimageLen;
int lengthOfMatch;
protected char curChar;
public FMParserTokenManager(SimpleCharStream stream)
{
   if (SimpleCharStream.staticFlag)
      throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
   input_stream = stream;
}
public FMParserTokenManager(SimpleCharStream stream, int lexState)
{
   this(stream);
   SwitchTo(lexState);
}
public void ReInit(SimpleCharStream stream)
{
   jjmatchedPos = jjnewStateCnt = 0;
   curLexState = defaultLexState;
   input_stream = stream;
   ReInitRounds();
}
private final void ReInitRounds()
{
   int i;
   jjround = 0x80000001;
   for (i = 567; i-- > 0;)
      jjrounds[i] = 0x80000000;
}
public void ReInit(SimpleCharStream stream, int lexState)
{
   ReInit(stream);
   SwitchTo(lexState);
}
public void SwitchTo(int lexState)
{
   if (lexState >= 8 || lexState < 0)
      throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
   else
      curLexState = lexState;
}

protected Token jjFillToken()
{
   Token t = Token.newToken(jjmatchedKind);
   t.kind = jjmatchedKind;
   String im = jjstrLiteralImages[jjmatchedKind];
   t.image = (im == null) ? input_stream.GetImage() : im;
   t.beginLine = input_stream.getBeginLine();
   t.beginColumn = input_stream.getBeginColumn();
   t.endLine = input_stream.getEndLine();
   t.endColumn = input_stream.getEndColumn();
   return t;
}

int curLexState = 0;
int defaultLexState = 0;
int jjnewStateCnt;
int jjround;
int jjmatchedPos;
int jjmatchedKind;

public Token getNextToken() 
{
  int kind;
  Token specialToken = null;
  Token matchedToken;
  int curPos = 0;

  EOFLoop :
  for (;;)
  {   
   try   
   {     
      curChar = input_stream.BeginToken();
   }     
   catch(java.io.IOException e)
   {        
      jjmatchedKind = 0;
      matchedToken = jjFillToken();
      return matchedToken;
   }
   image = null;
   jjimageLen = 0;

   switch(curLexState)
   {
     case 0:
       jjmatchedKind = 0x7fffffff;
       jjmatchedPos = 0;
       curPos = jjMoveStringLiteralDfa0_0();
       break;
     case 1:
       jjmatchedKind = 0x7fffffff;
       jjmatchedPos = 0;
       curPos = jjMoveStringLiteralDfa0_1();
       break;
     case 2:
       jjmatchedKind = 0x7fffffff;
       jjmatchedPos = 0;
       curPos = jjMoveStringLiteralDfa0_2();
       break;
     case 3:
       jjmatchedKind = 0x7fffffff;
       jjmatchedPos = 0;
       curPos = jjMoveStringLiteralDfa0_3();
       break;
     case 4:
       jjmatchedKind = 0x7fffffff;
       jjmatchedPos = 0;
       curPos = jjMoveStringLiteralDfa0_4();
       break;
     case 5:
       try { input_stream.backup(0);
          while ((curChar < 64 && (0x4000000000000000L & (1L << curChar)) != 0L) || 
                 (curChar >> 6) == 1 && (0x20000000L & (1L << (curChar & 077))) != 0L)
             curChar = input_stream.BeginToken();
       }
       catch (java.io.IOException e1) { continue EOFLoop; }
       jjmatchedKind = 0x7fffffff;
       jjmatchedPos = 0;
       curPos = jjMoveStringLiteralDfa0_5();
       break;
     case 6:
       jjmatchedKind = 0x7fffffff;
       jjmatchedPos = 0;
       curPos = jjMoveStringLiteralDfa0_6();
       break;
     case 7:
       jjmatchedKind = 0x7fffffff;
       jjmatchedPos = 0;
       curPos = jjMoveStringLiteralDfa0_7();
       break;
   }
     if (jjmatchedKind != 0x7fffffff)
     {
        if (jjmatchedPos + 1 < curPos)
           input_stream.backup(curPos - jjmatchedPos - 1);
        if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
        {
           matchedToken = jjFillToken();
           TokenLexicalActions(matchedToken);
       if (jjnewLexState[jjmatchedKind] != -1)
         curLexState = jjnewLexState[jjmatchedKind];
           return matchedToken;
        }
        else
        {
           SkipLexicalActions(null);
         if (jjnewLexState[jjmatchedKind] != -1)
           curLexState = jjnewLexState[jjmatchedKind];
           continue EOFLoop;
        }
     }
     int error_line = input_stream.getEndLine();
     int error_column = input_stream.getEndColumn();
     String error_after = null;
     boolean EOFSeen = false;
     try { input_stream.readChar(); input_stream.backup(1); }
     catch (java.io.IOException e1) {
        EOFSeen = true;
        error_after = curPos <= 1 ? "" : input_stream.GetImage();
        if (curChar == '\n' || curChar == '\r') {
           error_line++;
           error_column = 0;
        }
        else
           error_column++;
     }
     if (!EOFSeen) {
        input_stream.backup(1);
        error_after = curPos <= 1 ? "" : input_stream.GetImage();
     }
     throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
  }
}

void SkipLexicalActions(Token matchedToken)
{
   switch(jjmatchedKind)
   {
      case 79 :
         if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                      if (parenthesisNesting >0) SwitchTo(IN_PAREN); else if (inInvocation) SwitchTo(NAMED_PARAMETER_EXPRESSION); else SwitchTo(FM_EXPRESSION);
         break;
      default :
         break;
   }
}
void TokenLexicalActions(Token matchedToken)
{
   switch(jjmatchedKind)
   {
      case 6 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                    strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 7 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                    strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 8 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                     strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 9 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                              strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 10 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                         strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 11 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 12 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                             strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 13 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                         strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 14 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                             strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 15 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                   strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 16 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                 strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 17 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 18 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                             strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 19 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                 strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 20 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                           strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 21 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                   strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 22 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                           strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 23 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                         strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 24 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                             strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 25 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                         strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 26 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                               strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 27 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                      strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 28 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                    strictSyntaxCheck(matchedToken, NO_PARSE); noparseTag="comment";
         break;
      case 29 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                          noparseTag = "-->"; strictSyntaxCheck(matchedToken, NO_PARSE);
         break;
      case 30 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                    strictSyntaxCheck(matchedToken, NO_PARSE); noparseTag="noparse";
         break;
      case 31 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                            strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 32 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 33 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                      strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 34 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                      strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 35 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                      strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 36 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                  strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 37 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                    strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 38 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                    strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 39 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                        strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 40 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                  strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 41 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                        strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 42 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                          strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 43 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                    strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 44 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                              strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 45 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 46 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                         strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 47 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                              strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 48 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 49 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                           strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 50 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                             strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 51 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                             strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 52 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                              strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 53 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                   strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 54 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                         strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 55 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                             strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 56 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                           strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 57 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                               strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 58 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                      strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 59 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                             strictSyntaxCheck(matchedToken, FM_EXPRESSION);
         break;
      case 60 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                    strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 61 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                      strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 62 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                        strictSyntaxCheck(matchedToken, DEFAULT);
         break;
      case 63 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                    unifiedCall(matchedToken);
         break;
      case 64 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                                             unifiedCallEnd(matchedToken);
         break;
      case 65 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                ftlHeader(matchedToken);
         break;
      case 66 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                                                   ftlHeader(matchedToken);
         break;
      case 67 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
       if (!directiveSyntaxEstablished) {
           matchedToken.kind = PRINTABLE_CHARS;
       } else {
           char firstChar = matchedToken.image.charAt(0);
           if (firstChar == '<' && altDirectiveSyntax) {
              matchedToken.kind = PRINTABLE_CHARS;
           } else if (firstChar == '[' && !altDirectiveSyntax) {
              matchedToken.kind = PRINTABLE_CHARS;
           }
           else if (strictEscapeSyntax) {
             String s = matchedToken.image;
             int index = s.indexOf('#');
             s = s.substring(index);
             String msg = "Unknown directive: "
             + s
             + " on line: " + matchedToken.beginLine
             + ", column: " + matchedToken.beginColumn +1
             + ", in template: " + templateName;
             throw new TokenMgrError(msg, TokenMgrError.LEXICAL_ERROR);
           }
       }
         break;
      case 111 :
        if (image == null)
            image = new StringBuffer(jjstrLiteralImages[111]);
         else
            image.append(jjstrLiteralImages[111]);
                        ++bracketNesting;
         break;
      case 112 :
        if (image == null)
            image = new StringBuffer(jjstrLiteralImages[112]);
         else
            image.append(jjstrLiteralImages[112]);
                         closeBracket(matchedToken);
         break;
      case 113 :
        if (image == null)
            image = new StringBuffer(jjstrLiteralImages[113]);
         else
            image.append(jjstrLiteralImages[113]);
     ++parenthesisNesting;
     if (parenthesisNesting == 1)
        SwitchTo(IN_PAREN);
         break;
      case 114 :
        if (image == null)
            image = new StringBuffer(jjstrLiteralImages[114]);
         else
            image.append(jjstrLiteralImages[114]);
     --parenthesisNesting;
     if (parenthesisNesting == 0) {
         if (inInvocation) SwitchTo(NAMED_PARAMETER_EXPRESSION);
         else SwitchTo(FM_EXPRESSION);
     }
         break;
      case 115 :
        if (image == null)
            image = new StringBuffer(jjstrLiteralImages[115]);
         else
            image.append(jjstrLiteralImages[115]);
                       ++hashLiteralNesting;
         break;
      case 116 :
        if (image == null)
            image = new StringBuffer(jjstrLiteralImages[116]);
         else
            image.append(jjstrLiteralImages[116]);
     if (hashLiteralNesting == 0)
        SwitchTo(DEFAULT);
     else
        --hashLiteralNesting;
         break;
      case 123 :
        if (image == null)
            image = new StringBuffer(jjstrLiteralImages[123]);
         else
            image.append(jjstrLiteralImages[123]);
        if (inFTLHeader) eatNewline();
        inFTLHeader = false;
        if (altDirectiveSyntax) {
            matchedToken.kind = NATURAL_GT;
        } else {
            SwitchTo(DEFAULT);
        }
         break;
      case 124 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
                                       if (inFTLHeader) eatNewline(); inFTLHeader = false; SwitchTo(DEFAULT);
         break;
      case 129 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
        if (noparseTag.equals("-->")) {
           boolean squareBracket = matchedToken.image.endsWith("]");
           if ((altDirectiveSyntax && squareBracket) || (!altDirectiveSyntax && !squareBracket))
              SwitchTo(DEFAULT);
        }
         break;
      case 130 :
        if (image == null)
            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         else
            image.append(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
         StringTokenizer st = new StringTokenizer(image.toString(),
                                                  " \t\n\r<>[]/#",
                                                  false);
         if (st.nextToken().equals(noparseTag)) {
            SwitchTo(DEFAULT);
         }
         break;
      default : 
         break;
   }
}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy