[jboss-svn-commits] JBL Code SVN: r26332 - in labs/jbossrules/trunk/drools-compiler/src: main/java/org/drools/lang/dsl and 6 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri May 1 12:54:28 EDT 2009


Author: tirelli
Date: 2009-05-01 12:54:28 -0400 (Fri, 01 May 2009)
New Revision: 26332

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DescrBuilderTree.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapLexer.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapParser.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapWalker.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaLexer.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParser.java
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/dsl/DSLMap.g
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/Tree2TestDRL.java
Log:
JBRULES-2010: JBRULES-2008: fixing parsers to support multi-byte characters

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java	2009-05-01 15:34:54 UTC (rev 26331)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java	2009-05-01 16:54:28 UTC (rev 26332)
@@ -1,4 +1,4 @@
-// $ANTLR 3.1.1 src/main/resources/org/drools/lang/DRL.g 2009-04-09 16:58:53
+// $ANTLR 3.1.1 src/main/resources/org/drools/lang/DRL.g 2009-05-01 12:52:47
 
 	package org.drools.lang;
 
@@ -37,6 +37,7 @@
     public static final int AT=89;
     public static final int LEFT_PAREN=86;
     public static final int DOUBLE_AMPER=96;
+    public static final int IdentifierPart=126;
     public static final int VT_QUERY_ID=9;
     public static final int VT_ACCESSOR_PATH=36;
     public static final int VT_LABEL=8;
@@ -49,9 +50,9 @@
     public static final int STRING=85;
     public static final int VK_AND=72;
     public static final int VT_ACCESSOR_ELEMENT=37;
-    public static final int VK_REVERSE=76;
     public static final int VK_GLOBAL=66;
     public static final int VT_ACCUMULATE_INIT_CLAUSE=27;
+    public static final int VK_REVERSE=76;
     public static final int VT_BEHAVIOR=21;
     public static final int VK_DURATION=53;
     public static final int VT_SQUARE_CHUNK=19;
@@ -67,6 +68,7 @@
     public static final int VT_RULE_ID=12;
     public static final int EQUAL=102;
     public static final int VK_NO_LOOP=48;
+    public static final int IdentifierStart=125;
     public static final int SEMICOLON=81;
     public static final int VK_TEMPLATE=62;
     public static final int VT_AND_IMPLICIT=22;
@@ -336,13 +338,13 @@
     }
     // $ANTLR end "EOL"
 
-    // $ANTLR start "INT"
-    public final void mINT() throws RecognitionException {
+    // $ANTLR start "FLOAT"
+    public final void mFLOAT() throws RecognitionException {
         try {
-            int _type = INT;
+            int _type = FLOAT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1718:2: ( ( '-' )? ( '0' .. '9' )+ )
-            // src/main/resources/org/drools/lang/DRL.g:1718:4: ( '-' )? ( '0' .. '9' )+
+            // src/main/resources/org/drools/lang/DRL.g:1718:2: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
+            // src/main/resources/org/drools/lang/DRL.g:1718:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
             {
             // src/main/resources/org/drools/lang/DRL.g:1718:4: ( '-' )?
             int alt3=2;
@@ -393,7 +395,39 @@
                 cnt4++;
             } while (true);
 
+            match('.'); if (state.failed) return ;
+            // src/main/resources/org/drools/lang/DRL.g:1718:26: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
+            do {
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
+                }
+
+
+                switch (alt5) {
+            	case 1 :
+            	    // src/main/resources/org/drools/lang/DRL.g:1718:27: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); if (state.failed) return ;
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt5 >= 1 ) break loop5;
+            	    if (state.backtracking>0) {state.failed=true; return ;}
+                        EarlyExitException eee =
+                            new EarlyExitException(5, input);
+                        throw eee;
+                }
+                cnt5++;
+            } while (true);
+
+
             }
 
             state.type = _type;
@@ -402,24 +436,24 @@
         finally {
         }
     }
-    // $ANTLR end "INT"
+    // $ANTLR end "FLOAT"
 
-    // $ANTLR start "FLOAT"
-    public final void mFLOAT() throws RecognitionException {
+    // $ANTLR start "INT"
+    public final void mINT() throws RecognitionException {
         try {
-            int _type = FLOAT;
+            int _type = INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1722:2: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
-            // src/main/resources/org/drools/lang/DRL.g:1722:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
+            // src/main/resources/org/drools/lang/DRL.g:1722:2: ( ( '-' )? ( '0' .. '9' )+ )
+            // src/main/resources/org/drools/lang/DRL.g:1722:4: ( '-' )? ( '0' .. '9' )+
             {
             // src/main/resources/org/drools/lang/DRL.g:1722:4: ( '-' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            int alt6=2;
+            int LA6_0 = input.LA(1);
 
-            if ( (LA5_0=='-') ) {
-                alt5=1;
+            if ( (LA6_0=='-') ) {
+                alt6=1;
             }
-            switch (alt5) {
+            switch (alt6) {
                 case 1 :
                     // src/main/resources/org/drools/lang/DRL.g:1722:5: '-'
                     {
@@ -431,38 +465,6 @@
             }
 
             // src/main/resources/org/drools/lang/DRL.g:1722:10: ( '0' .. '9' )+
-            int cnt6=0;
-            loop6:
-            do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
-
-                if ( ((LA6_0>='0' && LA6_0<='9')) ) {
-                    alt6=1;
-                }
-
-
-                switch (alt6) {
-            	case 1 :
-            	    // src/main/resources/org/drools/lang/DRL.g:1722:11: '0' .. '9'
-            	    {
-            	    matchRange('0','9'); if (state.failed) return ;
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt6 >= 1 ) break loop6;
-            	    if (state.backtracking>0) {state.failed=true; return ;}
-                        EarlyExitException eee =
-                            new EarlyExitException(6, input);
-                        throw eee;
-                }
-                cnt6++;
-            } while (true);
-
-            match('.'); if (state.failed) return ;
-            // src/main/resources/org/drools/lang/DRL.g:1722:26: ( '0' .. '9' )+
             int cnt7=0;
             loop7:
             do {
@@ -476,7 +478,7 @@
 
                 switch (alt7) {
             	case 1 :
-            	    // src/main/resources/org/drools/lang/DRL.g:1722:27: '0' .. '9'
+            	    // src/main/resources/org/drools/lang/DRL.g:1722:11: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (state.failed) return ;
 
@@ -502,7 +504,7 @@
         finally {
         }
     }
-    // $ANTLR end "FLOAT"
+    // $ANTLR end "INT"
 
     // $ANTLR start "STRING"
     public final void mSTRING() throws RecognitionException {
@@ -1397,157 +1399,13 @@
     }
     // $ANTLR end "ARROW"
 
-    // $ANTLR start "ID"
-    public final void mID() throws RecognitionException {
-        try {
-            int _type = ID;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1835:2: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )* | '`' ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )+ '`' )
-            int alt16=2;
-            int LA16_0 = input.LA(1);
-
-            if ( (LA16_0=='$'||(LA16_0>='A' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='a' && LA16_0<='z')||(LA16_0>='\u00C0' && LA16_0<='\u00FF')) ) {
-                alt16=1;
-            }
-            else if ( (LA16_0=='`') ) {
-                alt16=2;
-            }
-            else {
-                if (state.backtracking>0) {state.failed=true; return ;}
-                NoViableAltException nvae =
-                    new NoViableAltException("", 16, 0, input);
-
-                throw nvae;
-            }
-            switch (alt16) {
-                case 1 :
-                    // src/main/resources/org/drools/lang/DRL.g:1835:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )*
-                    {
-                    if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00FF') ) {
-                        input.consume();
-                    state.failed=false;
-                    }
-                    else {
-                        if (state.backtracking>0) {state.failed=true; return ;}
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
-
-                    // src/main/resources/org/drools/lang/DRL.g:1835:50: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )*
-                    loop14:
-                    do {
-                        int alt14=2;
-                        int LA14_0 = input.LA(1);
-
-                        if ( ((LA14_0>='0' && LA14_0<='9')||(LA14_0>='A' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='a' && LA14_0<='z')||(LA14_0>='\u00C0' && LA14_0<='\u00FF')) ) {
-                            alt14=1;
-                        }
-
-
-                        switch (alt14) {
-                    	case 1 :
-                    	    // src/main/resources/org/drools/lang/DRL.g:
-                    	    {
-                    	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00FF') ) {
-                    	        input.consume();
-                    	    state.failed=false;
-                    	    }
-                    	    else {
-                    	        if (state.backtracking>0) {state.failed=true; return ;}
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop14;
-                        }
-                    } while (true);
-
-
-                    }
-                    break;
-                case 2 :
-                    // src/main/resources/org/drools/lang/DRL.g:1836:4: '`' ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )+ '`'
-                    {
-                    match('`'); if (state.failed) return ;
-                    if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00FF') ) {
-                        input.consume();
-                    state.failed=false;
-                    }
-                    else {
-                        if (state.backtracking>0) {state.failed=true; return ;}
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
-
-                    // src/main/resources/org/drools/lang/DRL.g:1836:54: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )+
-                    int cnt15=0;
-                    loop15:
-                    do {
-                        int alt15=2;
-                        int LA15_0 = input.LA(1);
-
-                        if ( ((LA15_0>='0' && LA15_0<='9')||(LA15_0>='A' && LA15_0<='Z')||LA15_0=='_'||(LA15_0>='a' && LA15_0<='z')||(LA15_0>='\u00C0' && LA15_0<='\u00FF')) ) {
-                            alt15=1;
-                        }
-
-
-                        switch (alt15) {
-                    	case 1 :
-                    	    // src/main/resources/org/drools/lang/DRL.g:
-                    	    {
-                    	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00FF') ) {
-                    	        input.consume();
-                    	    state.failed=false;
-                    	    }
-                    	    else {
-                    	        if (state.backtracking>0) {state.failed=true; return ;}
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    if ( cnt15 >= 1 ) break loop15;
-                    	    if (state.backtracking>0) {state.failed=true; return ;}
-                                EarlyExitException eee =
-                                    new EarlyExitException(15, input);
-                                throw eee;
-                        }
-                        cnt15++;
-                    } while (true);
-
-                    match('`'); if (state.failed) return ;
-                    if ( state.backtracking==0 ) {
-                      	state.text = getText().substring(1, getText().length() - 1);	
-                    }
-
-                    }
-                    break;
-
-            }
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "ID"
-
     // $ANTLR start "LEFT_PAREN"
     public final void mLEFT_PAREN() throws RecognitionException {
         try {
             int _type = LEFT_PAREN;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1841:9: ( '(' )
-            // src/main/resources/org/drools/lang/DRL.g:1841:11: '('
+            // src/main/resources/org/drools/lang/DRL.g:1835:9: ( '(' )
+            // src/main/resources/org/drools/lang/DRL.g:1835:11: '('
             {
             match('('); if (state.failed) return ;
 
@@ -1566,8 +1424,8 @@
         try {
             int _type = RIGHT_PAREN;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1845:9: ( ')' )
-            // src/main/resources/org/drools/lang/DRL.g:1845:11: ')'
+            // src/main/resources/org/drools/lang/DRL.g:1839:9: ( ')' )
+            // src/main/resources/org/drools/lang/DRL.g:1839:11: ')'
             {
             match(')'); if (state.failed) return ;
 
@@ -1586,8 +1444,8 @@
         try {
             int _type = LEFT_SQUARE;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1849:9: ( '[' )
-            // src/main/resources/org/drools/lang/DRL.g:1849:11: '['
+            // src/main/resources/org/drools/lang/DRL.g:1843:9: ( '[' )
+            // src/main/resources/org/drools/lang/DRL.g:1843:11: '['
             {
             match('['); if (state.failed) return ;
 
@@ -1606,8 +1464,8 @@
         try {
             int _type = RIGHT_SQUARE;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1853:9: ( ']' )
-            // src/main/resources/org/drools/lang/DRL.g:1853:11: ']'
+            // src/main/resources/org/drools/lang/DRL.g:1847:9: ( ']' )
+            // src/main/resources/org/drools/lang/DRL.g:1847:11: ']'
             {
             match(']'); if (state.failed) return ;
 
@@ -1626,8 +1484,8 @@
         try {
             int _type = LEFT_CURLY;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1857:9: ( '{' )
-            // src/main/resources/org/drools/lang/DRL.g:1857:11: '{'
+            // src/main/resources/org/drools/lang/DRL.g:1851:9: ( '{' )
+            // src/main/resources/org/drools/lang/DRL.g:1851:11: '{'
             {
             match('{'); if (state.failed) return ;
 
@@ -1646,8 +1504,8 @@
         try {
             int _type = RIGHT_CURLY;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1861:9: ( '}' )
-            // src/main/resources/org/drools/lang/DRL.g:1861:11: '}'
+            // src/main/resources/org/drools/lang/DRL.g:1855:9: ( '}' )
+            // src/main/resources/org/drools/lang/DRL.g:1855:11: '}'
             {
             match('}'); if (state.failed) return ;
 
@@ -1666,8 +1524,8 @@
         try {
             int _type = COMMA;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1864:7: ( ',' )
-            // src/main/resources/org/drools/lang/DRL.g:1864:9: ','
+            // src/main/resources/org/drools/lang/DRL.g:1858:7: ( ',' )
+            // src/main/resources/org/drools/lang/DRL.g:1858:9: ','
             {
             match(','); if (state.failed) return ;
 
@@ -1686,8 +1544,8 @@
         try {
             int _type = DOT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1867:5: ( '.' )
-            // src/main/resources/org/drools/lang/DRL.g:1867:7: '.'
+            // src/main/resources/org/drools/lang/DRL.g:1861:5: ( '.' )
+            // src/main/resources/org/drools/lang/DRL.g:1861:7: '.'
             {
             match('.'); if (state.failed) return ;
 
@@ -1706,8 +1564,8 @@
         try {
             int _type = DOUBLE_AMPER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1871:2: ( '&&' )
-            // src/main/resources/org/drools/lang/DRL.g:1871:4: '&&'
+            // src/main/resources/org/drools/lang/DRL.g:1865:2: ( '&&' )
+            // src/main/resources/org/drools/lang/DRL.g:1865:4: '&&'
             {
             match("&&"); if (state.failed) return ;
 
@@ -1727,8 +1585,8 @@
         try {
             int _type = DOUBLE_PIPE;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1875:2: ( '||' )
-            // src/main/resources/org/drools/lang/DRL.g:1875:4: '||'
+            // src/main/resources/org/drools/lang/DRL.g:1869:2: ( '||' )
+            // src/main/resources/org/drools/lang/DRL.g:1869:4: '||'
             {
             match("||"); if (state.failed) return ;
 
@@ -1748,24 +1606,24 @@
         try {
             int _type = SH_STYLE_SINGLE_LINE_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1879:2: ( '#' (~ ( '\\r' | '\\n' ) )* ( EOL )? )
-            // src/main/resources/org/drools/lang/DRL.g:1879:4: '#' (~ ( '\\r' | '\\n' ) )* ( EOL )?
+            // src/main/resources/org/drools/lang/DRL.g:1873:2: ( '#' (~ ( '\\r' | '\\n' ) )* ( EOL )? )
+            // src/main/resources/org/drools/lang/DRL.g:1873:4: '#' (~ ( '\\r' | '\\n' ) )* ( EOL )?
             {
             match('#'); if (state.failed) return ;
-            // src/main/resources/org/drools/lang/DRL.g:1879:8: (~ ( '\\r' | '\\n' ) )*
-            loop17:
+            // src/main/resources/org/drools/lang/DRL.g:1873:8: (~ ( '\\r' | '\\n' ) )*
+            loop14:
             do {
-                int alt17=2;
-                int LA17_0 = input.LA(1);
+                int alt14=2;
+                int LA14_0 = input.LA(1);
 
-                if ( ((LA17_0>='\u0000' && LA17_0<='\t')||(LA17_0>='\u000B' && LA17_0<='\f')||(LA17_0>='\u000E' && LA17_0<='\uFFFF')) ) {
-                    alt17=1;
+                if ( ((LA14_0>='\u0000' && LA14_0<='\t')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\uFFFF')) ) {
+                    alt14=1;
                 }
 
 
-                switch (alt17) {
+                switch (alt14) {
             	case 1 :
-            	    // src/main/resources/org/drools/lang/DRL.g:1879:9: ~ ( '\\r' | '\\n' )
+            	    // src/main/resources/org/drools/lang/DRL.g:1873:9: ~ ( '\\r' | '\\n' )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -1782,20 +1640,20 @@
             	    break;
 
             	default :
-            	    break loop17;
+            	    break loop14;
                 }
             } while (true);
 
-            // src/main/resources/org/drools/lang/DRL.g:1879:24: ( EOL )?
-            int alt18=2;
-            int LA18_0 = input.LA(1);
+            // src/main/resources/org/drools/lang/DRL.g:1873:24: ( EOL )?
+            int alt15=2;
+            int LA15_0 = input.LA(1);
 
-            if ( (LA18_0=='\n'||LA18_0=='\r') ) {
-                alt18=1;
+            if ( (LA15_0=='\n'||LA15_0=='\r') ) {
+                alt15=1;
             }
-            switch (alt18) {
+            switch (alt15) {
                 case 1 :
-                    // src/main/resources/org/drools/lang/DRL.g:1879:24: EOL
+                    // src/main/resources/org/drools/lang/DRL.g:1873:24: EOL
                     {
                     mEOL(); if (state.failed) return ;
 
@@ -1823,25 +1681,25 @@
         try {
             int _type = C_STYLE_SINGLE_LINE_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1885:2: ( '//' (~ ( '\\r' | '\\n' ) )* ( EOL )? )
-            // src/main/resources/org/drools/lang/DRL.g:1885:4: '//' (~ ( '\\r' | '\\n' ) )* ( EOL )?
+            // src/main/resources/org/drools/lang/DRL.g:1879:2: ( '//' (~ ( '\\r' | '\\n' ) )* ( EOL )? )
+            // src/main/resources/org/drools/lang/DRL.g:1879:4: '//' (~ ( '\\r' | '\\n' ) )* ( EOL )?
             {
             match("//"); if (state.failed) return ;
 
-            // src/main/resources/org/drools/lang/DRL.g:1885:9: (~ ( '\\r' | '\\n' ) )*
-            loop19:
+            // src/main/resources/org/drools/lang/DRL.g:1879:9: (~ ( '\\r' | '\\n' ) )*
+            loop16:
             do {
-                int alt19=2;
-                int LA19_0 = input.LA(1);
+                int alt16=2;
+                int LA16_0 = input.LA(1);
 
-                if ( ((LA19_0>='\u0000' && LA19_0<='\t')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\uFFFF')) ) {
-                    alt19=1;
+                if ( ((LA16_0>='\u0000' && LA16_0<='\t')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\uFFFF')) ) {
+                    alt16=1;
                 }
 
 
-                switch (alt19) {
+                switch (alt16) {
             	case 1 :
-            	    // src/main/resources/org/drools/lang/DRL.g:1885:10: ~ ( '\\r' | '\\n' )
+            	    // src/main/resources/org/drools/lang/DRL.g:1879:10: ~ ( '\\r' | '\\n' )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -1858,20 +1716,20 @@
             	    break;
 
             	default :
-            	    break loop19;
+            	    break loop16;
                 }
             } while (true);
 
-            // src/main/resources/org/drools/lang/DRL.g:1885:25: ( EOL )?
-            int alt20=2;
-            int LA20_0 = input.LA(1);
+            // src/main/resources/org/drools/lang/DRL.g:1879:25: ( EOL )?
+            int alt17=2;
+            int LA17_0 = input.LA(1);
 
-            if ( (LA20_0=='\n'||LA20_0=='\r') ) {
-                alt20=1;
+            if ( (LA17_0=='\n'||LA17_0=='\r') ) {
+                alt17=1;
             }
-            switch (alt20) {
+            switch (alt17) {
                 case 1 :
-                    // src/main/resources/org/drools/lang/DRL.g:1885:25: EOL
+                    // src/main/resources/org/drools/lang/DRL.g:1879:25: EOL
                     {
                     mEOL(); if (state.failed) return ;
 
@@ -1899,37 +1757,37 @@
         try {
             int _type = MULTI_LINE_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1890:2: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // src/main/resources/org/drools/lang/DRL.g:1890:4: '/*' ( options {greedy=false; } : . )* '*/'
+            // src/main/resources/org/drools/lang/DRL.g:1884:2: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // src/main/resources/org/drools/lang/DRL.g:1884:4: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); if (state.failed) return ;
 
-            // src/main/resources/org/drools/lang/DRL.g:1890:9: ( options {greedy=false; } : . )*
-            loop21:
+            // src/main/resources/org/drools/lang/DRL.g:1884:9: ( options {greedy=false; } : . )*
+            loop18:
             do {
-                int alt21=2;
-                int LA21_0 = input.LA(1);
+                int alt18=2;
+                int LA18_0 = input.LA(1);
 
-                if ( (LA21_0=='*') ) {
-                    int LA21_1 = input.LA(2);
+                if ( (LA18_0=='*') ) {
+                    int LA18_1 = input.LA(2);
 
-                    if ( (LA21_1=='/') ) {
-                        alt21=2;
+                    if ( (LA18_1=='/') ) {
+                        alt18=2;
                     }
-                    else if ( ((LA21_1>='\u0000' && LA21_1<='.')||(LA21_1>='0' && LA21_1<='\uFFFF')) ) {
-                        alt21=1;
+                    else if ( ((LA18_1>='\u0000' && LA18_1<='.')||(LA18_1>='0' && LA18_1<='\uFFFF')) ) {
+                        alt18=1;
                     }
 
 
                 }
-                else if ( ((LA21_0>='\u0000' && LA21_0<=')')||(LA21_0>='+' && LA21_0<='\uFFFF')) ) {
-                    alt21=1;
+                else if ( ((LA18_0>='\u0000' && LA18_0<=')')||(LA18_0>='+' && LA18_0<='\uFFFF')) ) {
+                    alt18=1;
                 }
 
 
-                switch (alt21) {
+                switch (alt18) {
             	case 1 :
-            	    // src/main/resources/org/drools/lang/DRL.g:1890:35: .
+            	    // src/main/resources/org/drools/lang/DRL.g:1884:35: .
             	    {
             	    matchAny(); if (state.failed) return ;
 
@@ -1937,7 +1795,7 @@
             	    break;
 
             	default :
-            	    break loop21;
+            	    break loop18;
                 }
             } while (true);
 
@@ -1957,15 +1815,117 @@
     }
     // $ANTLR end "MULTI_LINE_COMMENT"
 
+    // $ANTLR start "ID"
+    public final void mID() throws RecognitionException {
+        try {
+            int _type = ID;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // src/main/resources/org/drools/lang/DRL.g:1889:2: ( IdentifierStart ( IdentifierPart )* | '`' IdentifierStart ( IdentifierPart )* '`' )
+            int alt21=2;
+            int LA21_0 = input.LA(1);
+
+            if ( (LA21_0=='$'||(LA21_0>='A' && LA21_0<='Z')||LA21_0=='_'||(LA21_0>='a' && LA21_0<='z')||(LA21_0>='\u00A2' && LA21_0<='\u00A5')||LA21_0=='\u00AA'||LA21_0=='\u00B5'||LA21_0=='\u00BA'||(LA21_0>='\u00C0' && LA21_0<='\u00D6')||(LA21_0>='\u00D8' && LA21_0<='\u00F6')||(LA21_0>='\u00F8' && LA21_0<='\u0236')||(LA21_0>='\u0250' && LA21_0<='\u02C1')||(LA21_0>='\u02C6' && LA21_0<='\u02D1')||(LA21_0>='\u02E0' && LA21_0<='\u02E4')||LA21_0=='\u02EE'||LA21_0=='\u037A'||LA21_0=='\u0386'||(LA21_0>='\u0388' && LA21_0<='\u038A')||LA21_0=='\u038C'||(LA21_0>='\u038E' && LA21_0<='\u03A1')||(LA21_0>='\u03A3' && LA21_0<='\u03CE')||(LA21_0>='\u03D0' && LA21_0<='\u03F5')||(LA21_0>='\u03F7' && LA21_0<='\u03FB')||(LA21_0>='\u0400' && LA21_0<='\u0481')||(LA21_0>='\u048A' && LA21_0<='\u04CE')||(LA21_0>='\u04D0' && LA21_0<='\u04F5')||(LA21_0>='\u04F8' && LA21_0<='\u04F9')||(LA21_0>='\u0500' && LA21_0<='\u050F')||(LA21_0>='\u0531' && LA21_0<='\u0556')||LA21_0=='\u0559'||(LA21_0>='\u0561' &&!
  LA21_0<='\u0587')||(LA21_0>='\u05D0' && LA21_0<='\u05EA')||(LA21_0>='\u05F0' && LA21_0<='\u05F2')||(LA21_0>='\u0621' && LA21_0<='\u063A')||(LA21_0>='\u0640' && LA21_0<='\u064A')||(LA21_0>='\u066E' && LA21_0<='\u066F')||(LA21_0>='\u0671' && LA21_0<='\u06D3')||LA21_0=='\u06D5'||(LA21_0>='\u06E5' && LA21_0<='\u06E6')||(LA21_0>='\u06EE' && LA21_0<='\u06EF')||(LA21_0>='\u06FA' && LA21_0<='\u06FC')||LA21_0=='\u06FF'||LA21_0=='\u0710'||(LA21_0>='\u0712' && LA21_0<='\u072F')||(LA21_0>='\u074D' && LA21_0<='\u074F')||(LA21_0>='\u0780' && LA21_0<='\u07A5')||LA21_0=='\u07B1'||(LA21_0>='\u0904' && LA21_0<='\u0939')||LA21_0=='\u093D'||LA21_0=='\u0950'||(LA21_0>='\u0958' && LA21_0<='\u0961')||(LA21_0>='\u0985' && LA21_0<='\u098C')||(LA21_0>='\u098F' && LA21_0<='\u0990')||(LA21_0>='\u0993' && LA21_0<='\u09A8')||(LA21_0>='\u09AA' && LA21_0<='\u09B0')||LA21_0=='\u09B2'||(LA21_0>='\u09B6' && LA21_0<='\u09B9')||LA21_0=='\u09BD'||(LA21_0>='\u09DC' && LA21_0<='\u09DD')||(LA21_0>='\u09DF' && LA2!
 1_0<='\u09E1')||(LA21_0>='\u09F0' && LA21_0<='\u09F3')||(LA21_0>='\u0A
05' && LA21_0<='\u0A0A')||(LA21_0>='\u0A0F' && LA21_0<='\u0A10')||(LA21_0>='\u0A13' && LA21_0<='\u0A28')||(LA21_0>='\u0A2A' && LA21_0<='\u0A30')||(LA21_0>='\u0A32' && LA21_0<='\u0A33')||(LA21_0>='\u0A35' && LA21_0<='\u0A36')||(LA21_0>='\u0A38' && LA21_0<='\u0A39')||(LA21_0>='\u0A59' && LA21_0<='\u0A5C')||LA21_0=='\u0A5E'||(LA21_0>='\u0A72' && LA21_0<='\u0A74')||(LA21_0>='\u0A85' && LA21_0<='\u0A8D')||(LA21_0>='\u0A8F' && LA21_0<='\u0A91')||(LA21_0>='\u0A93' && LA21_0<='\u0AA8')||(LA21_0>='\u0AAA' && LA21_0<='\u0AB0')||(LA21_0>='\u0AB2' && LA21_0<='\u0AB3')||(LA21_0>='\u0AB5' && LA21_0<='\u0AB9')||LA21_0=='\u0ABD'||LA21_0=='\u0AD0'||(LA21_0>='\u0AE0' && LA21_0<='\u0AE1')||LA21_0=='\u0AF1'||(LA21_0>='\u0B05' && LA21_0<='\u0B0C')||(LA21_0>='\u0B0F' && LA21_0<='\u0B10')||(LA21_0>='\u0B13' && LA21_0<='\u0B28')||(LA21_0>='\u0B2A' && LA21_0<='\u0B30')||(LA21_0>='\u0B32' && LA21_0<='\u0B33')||(LA21_0>='\u0B35' && LA21_0<='\u0B39')||LA21_0=='\u0B3D'||(LA21_0>='\u0B5C' && LA21_0<='\u0!
 B5D')||(LA21_0>='\u0B5F' && LA21_0<='\u0B61')||LA21_0=='\u0B71'||LA21_0=='\u0B83'||(LA21_0>='\u0B85' && LA21_0<='\u0B8A')||(LA21_0>='\u0B8E' && LA21_0<='\u0B90')||(LA21_0>='\u0B92' && LA21_0<='\u0B95')||(LA21_0>='\u0B99' && LA21_0<='\u0B9A')||LA21_0=='\u0B9C'||(LA21_0>='\u0B9E' && LA21_0<='\u0B9F')||(LA21_0>='\u0BA3' && LA21_0<='\u0BA4')||(LA21_0>='\u0BA8' && LA21_0<='\u0BAA')||(LA21_0>='\u0BAE' && LA21_0<='\u0BB5')||(LA21_0>='\u0BB7' && LA21_0<='\u0BB9')||LA21_0=='\u0BF9'||(LA21_0>='\u0C05' && LA21_0<='\u0C0C')||(LA21_0>='\u0C0E' && LA21_0<='\u0C10')||(LA21_0>='\u0C12' && LA21_0<='\u0C28')||(LA21_0>='\u0C2A' && LA21_0<='\u0C33')||(LA21_0>='\u0C35' && LA21_0<='\u0C39')||(LA21_0>='\u0C60' && LA21_0<='\u0C61')||(LA21_0>='\u0C85' && LA21_0<='\u0C8C')||(LA21_0>='\u0C8E' && LA21_0<='\u0C90')||(LA21_0>='\u0C92' && LA21_0<='\u0CA8')||(LA21_0>='\u0CAA' && LA21_0<='\u0CB3')||(LA21_0>='\u0CB5' && LA21_0<='\u0CB9')||LA21_0=='\u0CBD'||LA21_0=='\u0CDE'||(LA21_0>='\u0CE0' && LA21_0<='\u0!
 CE1')||(LA21_0>='\u0D05' && LA21_0<='\u0D0C')||(LA21_0>='\u0D0E' && LA
21_0<='\u0D10')||(LA21_0>='\u0D12' && LA21_0<='\u0D28')||(LA21_0>='\u0D2A' && LA21_0<='\u0D39')||(LA21_0>='\u0D60' && LA21_0<='\u0D61')||(LA21_0>='\u0D85' && LA21_0<='\u0D96')||(LA21_0>='\u0D9A' && LA21_0<='\u0DB1')||(LA21_0>='\u0DB3' && LA21_0<='\u0DBB')||LA21_0=='\u0DBD'||(LA21_0>='\u0DC0' && LA21_0<='\u0DC6')||(LA21_0>='\u0E01' && LA21_0<='\u0E30')||(LA21_0>='\u0E32' && LA21_0<='\u0E33')||(LA21_0>='\u0E3F' && LA21_0<='\u0E46')||(LA21_0>='\u0E81' && LA21_0<='\u0E82')||LA21_0=='\u0E84'||(LA21_0>='\u0E87' && LA21_0<='\u0E88')||LA21_0=='\u0E8A'||LA21_0=='\u0E8D'||(LA21_0>='\u0E94' && LA21_0<='\u0E97')||(LA21_0>='\u0E99' && LA21_0<='\u0E9F')||(LA21_0>='\u0EA1' && LA21_0<='\u0EA3')||LA21_0=='\u0EA5'||LA21_0=='\u0EA7'||(LA21_0>='\u0EAA' && LA21_0<='\u0EAB')||(LA21_0>='\u0EAD' && LA21_0<='\u0EB0')||(LA21_0>='\u0EB2' && LA21_0<='\u0EB3')||LA21_0=='\u0EBD'||(LA21_0>='\u0EC0' && LA21_0<='\u0EC4')||LA21_0=='\u0EC6'||(LA21_0>='\u0EDC' && LA21_0<='\u0EDD')||LA21_0=='\u0F00'||(LA21_0>='!
 \u0F40' && LA21_0<='\u0F47')||(LA21_0>='\u0F49' && LA21_0<='\u0F6A')||(LA21_0>='\u0F88' && LA21_0<='\u0F8B')||(LA21_0>='\u1000' && LA21_0<='\u1021')||(LA21_0>='\u1023' && LA21_0<='\u1027')||(LA21_0>='\u1029' && LA21_0<='\u102A')||(LA21_0>='\u1050' && LA21_0<='\u1055')||(LA21_0>='\u10A0' && LA21_0<='\u10C5')||(LA21_0>='\u10D0' && LA21_0<='\u10F8')||(LA21_0>='\u1100' && LA21_0<='\u1159')||(LA21_0>='\u115F' && LA21_0<='\u11A2')||(LA21_0>='\u11A8' && LA21_0<='\u11F9')||(LA21_0>='\u1200' && LA21_0<='\u1206')||(LA21_0>='\u1208' && LA21_0<='\u1246')||LA21_0=='\u1248'||(LA21_0>='\u124A' && LA21_0<='\u124D')||(LA21_0>='\u1250' && LA21_0<='\u1256')||LA21_0=='\u1258'||(LA21_0>='\u125A' && LA21_0<='\u125D')||(LA21_0>='\u1260' && LA21_0<='\u1286')||LA21_0=='\u1288'||(LA21_0>='\u128A' && LA21_0<='\u128D')||(LA21_0>='\u1290' && LA21_0<='\u12AE')||LA21_0=='\u12B0'||(LA21_0>='\u12B2' && LA21_0<='\u12B5')||(LA21_0>='\u12B8' && LA21_0<='\u12BE')||LA21_0=='\u12C0'||(LA21_0>='\u12C2' && LA21_0<!
 ='\u12C5')||(LA21_0>='\u12C8' && LA21_0<='\u12CE')||(LA21_0>='\u12D0' 
&& LA21_0<='\u12D6')||(LA21_0>='\u12D8' && LA21_0<='\u12EE')||(LA21_0>='\u12F0' && LA21_0<='\u130E')||LA21_0=='\u1310'||(LA21_0>='\u1312' && LA21_0<='\u1315')||(LA21_0>='\u1318' && LA21_0<='\u131E')||(LA21_0>='\u1320' && LA21_0<='\u1346')||(LA21_0>='\u1348' && LA21_0<='\u135A')||(LA21_0>='\u13A0' && LA21_0<='\u13F4')||(LA21_0>='\u1401' && LA21_0<='\u166C')||(LA21_0>='\u166F' && LA21_0<='\u1676')||(LA21_0>='\u1681' && LA21_0<='\u169A')||(LA21_0>='\u16A0' && LA21_0<='\u16EA')||(LA21_0>='\u16EE' && LA21_0<='\u16F0')||(LA21_0>='\u1700' && LA21_0<='\u170C')||(LA21_0>='\u170E' && LA21_0<='\u1711')||(LA21_0>='\u1720' && LA21_0<='\u1731')||(LA21_0>='\u1740' && LA21_0<='\u1751')||(LA21_0>='\u1760' && LA21_0<='\u176C')||(LA21_0>='\u176E' && LA21_0<='\u1770')||(LA21_0>='\u1780' && LA21_0<='\u17B3')||LA21_0=='\u17D7'||(LA21_0>='\u17DB' && LA21_0<='\u17DC')||(LA21_0>='\u1820' && LA21_0<='\u1877')||(LA21_0>='\u1880' && LA21_0<='\u18A8')||(LA21_0>='\u1900' && LA21_0<='\u191C')||(LA21_0>='\!
 u1950' && LA21_0<='\u196D')||(LA21_0>='\u1970' && LA21_0<='\u1974')||(LA21_0>='\u1D00' && LA21_0<='\u1D6B')||(LA21_0>='\u1E00' && LA21_0<='\u1E9B')||(LA21_0>='\u1EA0' && LA21_0<='\u1EF9')||(LA21_0>='\u1F00' && LA21_0<='\u1F15')||(LA21_0>='\u1F18' && LA21_0<='\u1F1D')||(LA21_0>='\u1F20' && LA21_0<='\u1F45')||(LA21_0>='\u1F48' && LA21_0<='\u1F4D')||(LA21_0>='\u1F50' && LA21_0<='\u1F57')||LA21_0=='\u1F59'||LA21_0=='\u1F5B'||LA21_0=='\u1F5D'||(LA21_0>='\u1F5F' && LA21_0<='\u1F7D')||(LA21_0>='\u1F80' && LA21_0<='\u1FB4')||(LA21_0>='\u1FB6' && LA21_0<='\u1FBC')||LA21_0=='\u1FBE'||(LA21_0>='\u1FC2' && LA21_0<='\u1FC4')||(LA21_0>='\u1FC6' && LA21_0<='\u1FCC')||(LA21_0>='\u1FD0' && LA21_0<='\u1FD3')||(LA21_0>='\u1FD6' && LA21_0<='\u1FDB')||(LA21_0>='\u1FE0' && LA21_0<='\u1FEC')||(LA21_0>='\u1FF2' && LA21_0<='\u1FF4')||(LA21_0>='\u1FF6' && LA21_0<='\u1FFC')||(LA21_0>='\u203F' && LA21_0<='\u2040')||LA21_0=='\u2054'||LA21_0=='\u2071'||LA21_0=='\u207F'||(LA21_0>='\u20A0' && LA21_0<='\u2!
 0B1')||LA21_0=='\u2102'||LA21_0=='\u2107'||(LA21_0>='\u210A' && LA21_0
<='\u2113')||LA21_0=='\u2115'||(LA21_0>='\u2119' && LA21_0<='\u211D')||LA21_0=='\u2124'||LA21_0=='\u2126'||LA21_0=='\u2128'||(LA21_0>='\u212A' && LA21_0<='\u212D')||(LA21_0>='\u212F' && LA21_0<='\u2131')||(LA21_0>='\u2133' && LA21_0<='\u2139')||(LA21_0>='\u213D' && LA21_0<='\u213F')||(LA21_0>='\u2145' && LA21_0<='\u2149')||(LA21_0>='\u2160' && LA21_0<='\u2183')||(LA21_0>='\u3005' && LA21_0<='\u3007')||(LA21_0>='\u3021' && LA21_0<='\u3029')||(LA21_0>='\u3031' && LA21_0<='\u3035')||(LA21_0>='\u3038' && LA21_0<='\u303C')||(LA21_0>='\u3041' && LA21_0<='\u3096')||(LA21_0>='\u309D' && LA21_0<='\u309F')||(LA21_0>='\u30A1' && LA21_0<='\u30FF')||(LA21_0>='\u3105' && LA21_0<='\u312C')||(LA21_0>='\u3131' && LA21_0<='\u318E')||(LA21_0>='\u31A0' && LA21_0<='\u31B7')||(LA21_0>='\u31F0' && LA21_0<='\u31FF')||(LA21_0>='\u3400' && LA21_0<='\u4DB5')||(LA21_0>='\u4E00' && LA21_0<='\u9FA5')||(LA21_0>='\uA000' && LA21_0<='\uA48C')||(LA21_0>='\uAC00' && LA21_0<='\uD7A3')||(LA21_0>='\uF900' && LA2!
 1_0<='\uFA2D')||(LA21_0>='\uFA30' && LA21_0<='\uFA6A')||(LA21_0>='\uFB00' && LA21_0<='\uFB06')||(LA21_0>='\uFB13' && LA21_0<='\uFB17')||LA21_0=='\uFB1D'||(LA21_0>='\uFB1F' && LA21_0<='\uFB28')||(LA21_0>='\uFB2A' && LA21_0<='\uFB36')||(LA21_0>='\uFB38' && LA21_0<='\uFB3C')||LA21_0=='\uFB3E'||(LA21_0>='\uFB40' && LA21_0<='\uFB41')||(LA21_0>='\uFB43' && LA21_0<='\uFB44')||(LA21_0>='\uFB46' && LA21_0<='\uFBB1')||(LA21_0>='\uFBD3' && LA21_0<='\uFD3D')||(LA21_0>='\uFD50' && LA21_0<='\uFD8F')||(LA21_0>='\uFD92' && LA21_0<='\uFDC7')||(LA21_0>='\uFDF0' && LA21_0<='\uFDFC')||(LA21_0>='\uFE33' && LA21_0<='\uFE34')||(LA21_0>='\uFE4D' && LA21_0<='\uFE4F')||LA21_0=='\uFE69'||(LA21_0>='\uFE70' && LA21_0<='\uFE74')||(LA21_0>='\uFE76' && LA21_0<='\uFEFC')||LA21_0=='\uFF04'||(LA21_0>='\uFF21' && LA21_0<='\uFF3A')||LA21_0=='\uFF3F'||(LA21_0>='\uFF41' && LA21_0<='\uFF5A')||(LA21_0>='\uFF65' && LA21_0<='\uFFBE')||(LA21_0>='\uFFC2' && LA21_0<='\uFFC7')||(LA21_0>='\uFFCA' && LA21_0<='\uFFCF')||(L!
 A21_0>='\uFFD2' && LA21_0<='\uFFD7')||(LA21_0>='\uFFDA' && LA21_0<='\u
FFDC')||(LA21_0>='\uFFE0' && LA21_0<='\uFFE1')||(LA21_0>='\uFFE5' && LA21_0<='\uFFE6')) ) {
+                alt21=1;
+            }
+            else if ( (LA21_0=='`') ) {
+                alt21=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 21, 0, input);
+
+                throw nvae;
+            }
+            switch (alt21) {
+                case 1 :
+                    // src/main/resources/org/drools/lang/DRL.g:1889:4: IdentifierStart ( IdentifierPart )*
+                    {
+                    mIdentifierStart(); if (state.failed) return ;
+                    // src/main/resources/org/drools/lang/DRL.g:1889:20: ( IdentifierPart )*
+                    loop19:
+                    do {
+                        int alt19=2;
+                        int LA19_0 = input.LA(1);
+
+                        if ( ((LA19_0>='\u0000' && LA19_0<='\b')||(LA19_0>='\u000E' && LA19_0<='\u001B')||LA19_0=='$'||(LA19_0>='0' && LA19_0<='9')||(LA19_0>='A' && LA19_0<='Z')||LA19_0=='_'||(LA19_0>='a' && LA19_0<='z')||(LA19_0>='\u007F' && LA19_0<='\u009F')||(LA19_0>='\u00A2' && LA19_0<='\u00A5')||LA19_0=='\u00AA'||LA19_0=='\u00AD'||LA19_0=='\u00B5'||LA19_0=='\u00BA'||(LA19_0>='\u00C0' && LA19_0<='\u00D6')||(LA19_0>='\u00D8' && LA19_0<='\u00F6')||(LA19_0>='\u00F8' && LA19_0<='\u0236')||(LA19_0>='\u0250' && LA19_0<='\u02C1')||(LA19_0>='\u02C6' && LA19_0<='\u02D1')||(LA19_0>='\u02E0' && LA19_0<='\u02E4')||LA19_0=='\u02EE'||(LA19_0>='\u0300' && LA19_0<='\u0357')||(LA19_0>='\u035D' && LA19_0<='\u036F')||LA19_0=='\u037A'||LA19_0=='\u0386'||(LA19_0>='\u0388' && LA19_0<='\u038A')||LA19_0=='\u038C'||(LA19_0>='\u038E' && LA19_0<='\u03A1')||(LA19_0>='\u03A3' && LA19_0<='\u03CE')||(LA19_0>='\u03D0' && LA19_0<='\u03F5')||(LA19_0>='\u03F7' && LA19_0<='\u03FB')||(LA19_0>='\u0400' && L!
 A19_0<='\u0481')||(LA19_0>='\u0483' && LA19_0<='\u0486')||(LA19_0>='\u048A' && LA19_0<='\u04CE')||(LA19_0>='\u04D0' && LA19_0<='\u04F5')||(LA19_0>='\u04F8' && LA19_0<='\u04F9')||(LA19_0>='\u0500' && LA19_0<='\u050F')||(LA19_0>='\u0531' && LA19_0<='\u0556')||LA19_0=='\u0559'||(LA19_0>='\u0561' && LA19_0<='\u0587')||(LA19_0>='\u0591' && LA19_0<='\u05A1')||(LA19_0>='\u05A3' && LA19_0<='\u05B9')||(LA19_0>='\u05BB' && LA19_0<='\u05BD')||LA19_0=='\u05BF'||(LA19_0>='\u05C1' && LA19_0<='\u05C2')||LA19_0=='\u05C4'||(LA19_0>='\u05D0' && LA19_0<='\u05EA')||(LA19_0>='\u05F0' && LA19_0<='\u05F2')||(LA19_0>='\u0600' && LA19_0<='\u0603')||(LA19_0>='\u0610' && LA19_0<='\u0615')||(LA19_0>='\u0621' && LA19_0<='\u063A')||(LA19_0>='\u0640' && LA19_0<='\u0658')||(LA19_0>='\u0660' && LA19_0<='\u0669')||(LA19_0>='\u066E' && LA19_0<='\u06D3')||(LA19_0>='\u06D5' && LA19_0<='\u06DD')||(LA19_0>='\u06DF' && LA19_0<='\u06E8')||(LA19_0>='\u06EA' && LA19_0<='\u06FC')||LA19_0=='\u06FF'||(LA19_0>='\u070F' !
 && LA19_0<='\u074A')||(LA19_0>='\u074D' && LA19_0<='\u074F')||(LA19_0>
='\u0780' && LA19_0<='\u07B1')||(LA19_0>='\u0901' && LA19_0<='\u0939')||(LA19_0>='\u093C' && LA19_0<='\u094D')||(LA19_0>='\u0950' && LA19_0<='\u0954')||(LA19_0>='\u0958' && LA19_0<='\u0963')||(LA19_0>='\u0966' && LA19_0<='\u096F')||(LA19_0>='\u0981' && LA19_0<='\u0983')||(LA19_0>='\u0985' && LA19_0<='\u098C')||(LA19_0>='\u098F' && LA19_0<='\u0990')||(LA19_0>='\u0993' && LA19_0<='\u09A8')||(LA19_0>='\u09AA' && LA19_0<='\u09B0')||LA19_0=='\u09B2'||(LA19_0>='\u09B6' && LA19_0<='\u09B9')||(LA19_0>='\u09BC' && LA19_0<='\u09C4')||(LA19_0>='\u09C7' && LA19_0<='\u09C8')||(LA19_0>='\u09CB' && LA19_0<='\u09CD')||LA19_0=='\u09D7'||(LA19_0>='\u09DC' && LA19_0<='\u09DD')||(LA19_0>='\u09DF' && LA19_0<='\u09E3')||(LA19_0>='\u09E6' && LA19_0<='\u09F3')||(LA19_0>='\u0A01' && LA19_0<='\u0A03')||(LA19_0>='\u0A05' && LA19_0<='\u0A0A')||(LA19_0>='\u0A0F' && LA19_0<='\u0A10')||(LA19_0>='\u0A13' && LA19_0<='\u0A28')||(LA19_0>='\u0A2A' && LA19_0<='\u0A30')||(LA19_0>='\u0A32' && LA19_0<='\u0A33')||(!
 LA19_0>='\u0A35' && LA19_0<='\u0A36')||(LA19_0>='\u0A38' && LA19_0<='\u0A39')||LA19_0=='\u0A3C'||(LA19_0>='\u0A3E' && LA19_0<='\u0A42')||(LA19_0>='\u0A47' && LA19_0<='\u0A48')||(LA19_0>='\u0A4B' && LA19_0<='\u0A4D')||(LA19_0>='\u0A59' && LA19_0<='\u0A5C')||LA19_0=='\u0A5E'||(LA19_0>='\u0A66' && LA19_0<='\u0A74')||(LA19_0>='\u0A81' && LA19_0<='\u0A83')||(LA19_0>='\u0A85' && LA19_0<='\u0A8D')||(LA19_0>='\u0A8F' && LA19_0<='\u0A91')||(LA19_0>='\u0A93' && LA19_0<='\u0AA8')||(LA19_0>='\u0AAA' && LA19_0<='\u0AB0')||(LA19_0>='\u0AB2' && LA19_0<='\u0AB3')||(LA19_0>='\u0AB5' && LA19_0<='\u0AB9')||(LA19_0>='\u0ABC' && LA19_0<='\u0AC5')||(LA19_0>='\u0AC7' && LA19_0<='\u0AC9')||(LA19_0>='\u0ACB' && LA19_0<='\u0ACD')||LA19_0=='\u0AD0'||(LA19_0>='\u0AE0' && LA19_0<='\u0AE3')||(LA19_0>='\u0AE6' && LA19_0<='\u0AEF')||LA19_0=='\u0AF1'||(LA19_0>='\u0B01' && LA19_0<='\u0B03')||(LA19_0>='\u0B05' && LA19_0<='\u0B0C')||(LA19_0>='\u0B0F' && LA19_0<='\u0B10')||(LA19_0>='\u0B13' && LA19_0<='\u0B28'!
 )||(LA19_0>='\u0B2A' && LA19_0<='\u0B30')||(LA19_0>='\u0B32' && LA19_0
<='\u0B33')||(LA19_0>='\u0B35' && LA19_0<='\u0B39')||(LA19_0>='\u0B3C' && LA19_0<='\u0B43')||(LA19_0>='\u0B47' && LA19_0<='\u0B48')||(LA19_0>='\u0B4B' && LA19_0<='\u0B4D')||(LA19_0>='\u0B56' && LA19_0<='\u0B57')||(LA19_0>='\u0B5C' && LA19_0<='\u0B5D')||(LA19_0>='\u0B5F' && LA19_0<='\u0B61')||(LA19_0>='\u0B66' && LA19_0<='\u0B6F')||LA19_0=='\u0B71'||(LA19_0>='\u0B82' && LA19_0<='\u0B83')||(LA19_0>='\u0B85' && LA19_0<='\u0B8A')||(LA19_0>='\u0B8E' && LA19_0<='\u0B90')||(LA19_0>='\u0B92' && LA19_0<='\u0B95')||(LA19_0>='\u0B99' && LA19_0<='\u0B9A')||LA19_0=='\u0B9C'||(LA19_0>='\u0B9E' && LA19_0<='\u0B9F')||(LA19_0>='\u0BA3' && LA19_0<='\u0BA4')||(LA19_0>='\u0BA8' && LA19_0<='\u0BAA')||(LA19_0>='\u0BAE' && LA19_0<='\u0BB5')||(LA19_0>='\u0BB7' && LA19_0<='\u0BB9')||(LA19_0>='\u0BBE' && LA19_0<='\u0BC2')||(LA19_0>='\u0BC6' && LA19_0<='\u0BC8')||(LA19_0>='\u0BCA' && LA19_0<='\u0BCD')||LA19_0=='\u0BD7'||(LA19_0>='\u0BE7' && LA19_0<='\u0BEF')||LA19_0=='\u0BF9'||(LA19_0>='\u0C01' && LA1!
 9_0<='\u0C03')||(LA19_0>='\u0C05' && LA19_0<='\u0C0C')||(LA19_0>='\u0C0E' && LA19_0<='\u0C10')||(LA19_0>='\u0C12' && LA19_0<='\u0C28')||(LA19_0>='\u0C2A' && LA19_0<='\u0C33')||(LA19_0>='\u0C35' && LA19_0<='\u0C39')||(LA19_0>='\u0C3E' && LA19_0<='\u0C44')||(LA19_0>='\u0C46' && LA19_0<='\u0C48')||(LA19_0>='\u0C4A' && LA19_0<='\u0C4D')||(LA19_0>='\u0C55' && LA19_0<='\u0C56')||(LA19_0>='\u0C60' && LA19_0<='\u0C61')||(LA19_0>='\u0C66' && LA19_0<='\u0C6F')||(LA19_0>='\u0C82' && LA19_0<='\u0C83')||(LA19_0>='\u0C85' && LA19_0<='\u0C8C')||(LA19_0>='\u0C8E' && LA19_0<='\u0C90')||(LA19_0>='\u0C92' && LA19_0<='\u0CA8')||(LA19_0>='\u0CAA' && LA19_0<='\u0CB3')||(LA19_0>='\u0CB5' && LA19_0<='\u0CB9')||(LA19_0>='\u0CBC' && LA19_0<='\u0CC4')||(LA19_0>='\u0CC6' && LA19_0<='\u0CC8')||(LA19_0>='\u0CCA' && LA19_0<='\u0CCD')||(LA19_0>='\u0CD5' && LA19_0<='\u0CD6')||LA19_0=='\u0CDE'||(LA19_0>='\u0CE0' && LA19_0<='\u0CE1')||(LA19_0>='\u0CE6' && LA19_0<='\u0CEF')||(LA19_0>='\u0D02' && LA19_0<='\u0D!
 03')||(LA19_0>='\u0D05' && LA19_0<='\u0D0C')||(LA19_0>='\u0D0E' && LA1
9_0<='\u0D10')||(LA19_0>='\u0D12' && LA19_0<='\u0D28')||(LA19_0>='\u0D2A' && LA19_0<='\u0D39')||(LA19_0>='\u0D3E' && LA19_0<='\u0D43')||(LA19_0>='\u0D46' && LA19_0<='\u0D48')||(LA19_0>='\u0D4A' && LA19_0<='\u0D4D')||LA19_0=='\u0D57'||(LA19_0>='\u0D60' && LA19_0<='\u0D61')||(LA19_0>='\u0D66' && LA19_0<='\u0D6F')||(LA19_0>='\u0D82' && LA19_0<='\u0D83')||(LA19_0>='\u0D85' && LA19_0<='\u0D96')||(LA19_0>='\u0D9A' && LA19_0<='\u0DB1')||(LA19_0>='\u0DB3' && LA19_0<='\u0DBB')||LA19_0=='\u0DBD'||(LA19_0>='\u0DC0' && LA19_0<='\u0DC6')||LA19_0=='\u0DCA'||(LA19_0>='\u0DCF' && LA19_0<='\u0DD4')||LA19_0=='\u0DD6'||(LA19_0>='\u0DD8' && LA19_0<='\u0DDF')||(LA19_0>='\u0DF2' && LA19_0<='\u0DF3')||(LA19_0>='\u0E01' && LA19_0<='\u0E3A')||(LA19_0>='\u0E3F' && LA19_0<='\u0E4E')||(LA19_0>='\u0E50' && LA19_0<='\u0E59')||(LA19_0>='\u0E81' && LA19_0<='\u0E82')||LA19_0=='\u0E84'||(LA19_0>='\u0E87' && LA19_0<='\u0E88')||LA19_0=='\u0E8A'||LA19_0=='\u0E8D'||(LA19_0>='\u0E94' && LA19_0<='\u0E97')||(LA19_0!
 >='\u0E99' && LA19_0<='\u0E9F')||(LA19_0>='\u0EA1' && LA19_0<='\u0EA3')||LA19_0=='\u0EA5'||LA19_0=='\u0EA7'||(LA19_0>='\u0EAA' && LA19_0<='\u0EAB')||(LA19_0>='\u0EAD' && LA19_0<='\u0EB9')||(LA19_0>='\u0EBB' && LA19_0<='\u0EBD')||(LA19_0>='\u0EC0' && LA19_0<='\u0EC4')||LA19_0=='\u0EC6'||(LA19_0>='\u0EC8' && LA19_0<='\u0ECD')||(LA19_0>='\u0ED0' && LA19_0<='\u0ED9')||(LA19_0>='\u0EDC' && LA19_0<='\u0EDD')||LA19_0=='\u0F00'||(LA19_0>='\u0F18' && LA19_0<='\u0F19')||(LA19_0>='\u0F20' && LA19_0<='\u0F29')||LA19_0=='\u0F35'||LA19_0=='\u0F37'||LA19_0=='\u0F39'||(LA19_0>='\u0F3E' && LA19_0<='\u0F47')||(LA19_0>='\u0F49' && LA19_0<='\u0F6A')||(LA19_0>='\u0F71' && LA19_0<='\u0F84')||(LA19_0>='\u0F86' && LA19_0<='\u0F8B')||(LA19_0>='\u0F90' && LA19_0<='\u0F97')||(LA19_0>='\u0F99' && LA19_0<='\u0FBC')||LA19_0=='\u0FC6'||(LA19_0>='\u1000' && LA19_0<='\u1021')||(LA19_0>='\u1023' && LA19_0<='\u1027')||(LA19_0>='\u1029' && LA19_0<='\u102A')||(LA19_0>='\u102C' && LA19_0<='\u1032')||(LA19_0>='\!
 u1036' && LA19_0<='\u1039')||(LA19_0>='\u1040' && LA19_0<='\u1049')||(
LA19_0>='\u1050' && LA19_0<='\u1059')||(LA19_0>='\u10A0' && LA19_0<='\u10C5')||(LA19_0>='\u10D0' && LA19_0<='\u10F8')||(LA19_0>='\u1100' && LA19_0<='\u1159')||(LA19_0>='\u115F' && LA19_0<='\u11A2')||(LA19_0>='\u11A8' && LA19_0<='\u11F9')||(LA19_0>='\u1200' && LA19_0<='\u1206')||(LA19_0>='\u1208' && LA19_0<='\u1246')||LA19_0=='\u1248'||(LA19_0>='\u124A' && LA19_0<='\u124D')||(LA19_0>='\u1250' && LA19_0<='\u1256')||LA19_0=='\u1258'||(LA19_0>='\u125A' && LA19_0<='\u125D')||(LA19_0>='\u1260' && LA19_0<='\u1286')||LA19_0=='\u1288'||(LA19_0>='\u128A' && LA19_0<='\u128D')||(LA19_0>='\u1290' && LA19_0<='\u12AE')||LA19_0=='\u12B0'||(LA19_0>='\u12B2' && LA19_0<='\u12B5')||(LA19_0>='\u12B8' && LA19_0<='\u12BE')||LA19_0=='\u12C0'||(LA19_0>='\u12C2' && LA19_0<='\u12C5')||(LA19_0>='\u12C8' && LA19_0<='\u12CE')||(LA19_0>='\u12D0' && LA19_0<='\u12D6')||(LA19_0>='\u12D8' && LA19_0<='\u12EE')||(LA19_0>='\u12F0' && LA19_0<='\u130E')||LA19_0=='\u1310'||(LA19_0>='\u1312' && LA19_0<='\u1315')||(L!
 A19_0>='\u1318' && LA19_0<='\u131E')||(LA19_0>='\u1320' && LA19_0<='\u1346')||(LA19_0>='\u1348' && LA19_0<='\u135A')||(LA19_0>='\u1369' && LA19_0<='\u1371')||(LA19_0>='\u13A0' && LA19_0<='\u13F4')||(LA19_0>='\u1401' && LA19_0<='\u166C')||(LA19_0>='\u166F' && LA19_0<='\u1676')||(LA19_0>='\u1681' && LA19_0<='\u169A')||(LA19_0>='\u16A0' && LA19_0<='\u16EA')||(LA19_0>='\u16EE' && LA19_0<='\u16F0')||(LA19_0>='\u1700' && LA19_0<='\u170C')||(LA19_0>='\u170E' && LA19_0<='\u1714')||(LA19_0>='\u1720' && LA19_0<='\u1734')||(LA19_0>='\u1740' && LA19_0<='\u1753')||(LA19_0>='\u1760' && LA19_0<='\u176C')||(LA19_0>='\u176E' && LA19_0<='\u1770')||(LA19_0>='\u1772' && LA19_0<='\u1773')||(LA19_0>='\u1780' && LA19_0<='\u17D3')||LA19_0=='\u17D7'||(LA19_0>='\u17DB' && LA19_0<='\u17DD')||(LA19_0>='\u17E0' && LA19_0<='\u17E9')||(LA19_0>='\u180B' && LA19_0<='\u180D')||(LA19_0>='\u1810' && LA19_0<='\u1819')||(LA19_0>='\u1820' && LA19_0<='\u1877')||(LA19_0>='\u1880' && LA19_0<='\u18A9')||(LA19_0>='\u!
 1900' && LA19_0<='\u191C')||(LA19_0>='\u1920' && LA19_0<='\u192B')||(L
A19_0>='\u1930' && LA19_0<='\u193B')||(LA19_0>='\u1946' && LA19_0<='\u196D')||(LA19_0>='\u1970' && LA19_0<='\u1974')||(LA19_0>='\u1D00' && LA19_0<='\u1D6B')||(LA19_0>='\u1E00' && LA19_0<='\u1E9B')||(LA19_0>='\u1EA0' && LA19_0<='\u1EF9')||(LA19_0>='\u1F00' && LA19_0<='\u1F15')||(LA19_0>='\u1F18' && LA19_0<='\u1F1D')||(LA19_0>='\u1F20' && LA19_0<='\u1F45')||(LA19_0>='\u1F48' && LA19_0<='\u1F4D')||(LA19_0>='\u1F50' && LA19_0<='\u1F57')||LA19_0=='\u1F59'||LA19_0=='\u1F5B'||LA19_0=='\u1F5D'||(LA19_0>='\u1F5F' && LA19_0<='\u1F7D')||(LA19_0>='\u1F80' && LA19_0<='\u1FB4')||(LA19_0>='\u1FB6' && LA19_0<='\u1FBC')||LA19_0=='\u1FBE'||(LA19_0>='\u1FC2' && LA19_0<='\u1FC4')||(LA19_0>='\u1FC6' && LA19_0<='\u1FCC')||(LA19_0>='\u1FD0' && LA19_0<='\u1FD3')||(LA19_0>='\u1FD6' && LA19_0<='\u1FDB')||(LA19_0>='\u1FE0' && LA19_0<='\u1FEC')||(LA19_0>='\u1FF2' && LA19_0<='\u1FF4')||(LA19_0>='\u1FF6' && LA19_0<='\u1FFC')||(LA19_0>='\u200C' && LA19_0<='\u200F')||(LA19_0>='\u202A' && LA19_0<='\u202E')|!
 |(LA19_0>='\u203F' && LA19_0<='\u2040')||LA19_0=='\u2054'||(LA19_0>='\u2060' && LA19_0<='\u2063')||(LA19_0>='\u206A' && LA19_0<='\u206F')||LA19_0=='\u2071'||LA19_0=='\u207F'||(LA19_0>='\u20A0' && LA19_0<='\u20B1')||(LA19_0>='\u20D0' && LA19_0<='\u20DC')||LA19_0=='\u20E1'||(LA19_0>='\u20E5' && LA19_0<='\u20EA')||LA19_0=='\u2102'||LA19_0=='\u2107'||(LA19_0>='\u210A' && LA19_0<='\u2113')||LA19_0=='\u2115'||(LA19_0>='\u2119' && LA19_0<='\u211D')||LA19_0=='\u2124'||LA19_0=='\u2126'||LA19_0=='\u2128'||(LA19_0>='\u212A' && LA19_0<='\u212D')||(LA19_0>='\u212F' && LA19_0<='\u2131')||(LA19_0>='\u2133' && LA19_0<='\u2139')||(LA19_0>='\u213D' && LA19_0<='\u213F')||(LA19_0>='\u2145' && LA19_0<='\u2149')||(LA19_0>='\u2160' && LA19_0<='\u2183')||(LA19_0>='\u3005' && LA19_0<='\u3007')||(LA19_0>='\u3021' && LA19_0<='\u302F')||(LA19_0>='\u3031' && LA19_0<='\u3035')||(LA19_0>='\u3038' && LA19_0<='\u303C')||(LA19_0>='\u3041' && LA19_0<='\u3096')||(LA19_0>='\u3099' && LA19_0<='\u309A')||(LA19_0!
 >='\u309D' && LA19_0<='\u309F')||(LA19_0>='\u30A1' && LA19_0<='\u30FF'
)||(LA19_0>='\u3105' && LA19_0<='\u312C')||(LA19_0>='\u3131' && LA19_0<='\u318E')||(LA19_0>='\u31A0' && LA19_0<='\u31B7')||(LA19_0>='\u31F0' && LA19_0<='\u31FF')||(LA19_0>='\u3400' && LA19_0<='\u4DB5')||(LA19_0>='\u4E00' && LA19_0<='\u9FA5')||(LA19_0>='\uA000' && LA19_0<='\uA48C')||(LA19_0>='\uAC00' && LA19_0<='\uD7A3')||(LA19_0>='\uF900' && LA19_0<='\uFA2D')||(LA19_0>='\uFA30' && LA19_0<='\uFA6A')||(LA19_0>='\uFB00' && LA19_0<='\uFB06')||(LA19_0>='\uFB13' && LA19_0<='\uFB17')||(LA19_0>='\uFB1D' && LA19_0<='\uFB28')||(LA19_0>='\uFB2A' && LA19_0<='\uFB36')||(LA19_0>='\uFB38' && LA19_0<='\uFB3C')||LA19_0=='\uFB3E'||(LA19_0>='\uFB40' && LA19_0<='\uFB41')||(LA19_0>='\uFB43' && LA19_0<='\uFB44')||(LA19_0>='\uFB46' && LA19_0<='\uFBB1')||(LA19_0>='\uFBD3' && LA19_0<='\uFD3D')||(LA19_0>='\uFD50' && LA19_0<='\uFD8F')||(LA19_0>='\uFD92' && LA19_0<='\uFDC7')||(LA19_0>='\uFDF0' && LA19_0<='\uFDFC')||(LA19_0>='\uFE00' && LA19_0<='\uFE0F')||(LA19_0>='\uFE20' && LA19_0<='\uFE23')||(LA19_0>!
 ='\uFE33' && LA19_0<='\uFE34')||(LA19_0>='\uFE4D' && LA19_0<='\uFE4F')||LA19_0=='\uFE69'||(LA19_0>='\uFE70' && LA19_0<='\uFE74')||(LA19_0>='\uFE76' && LA19_0<='\uFEFC')||LA19_0=='\uFEFF'||LA19_0=='\uFF04'||(LA19_0>='\uFF10' && LA19_0<='\uFF19')||(LA19_0>='\uFF21' && LA19_0<='\uFF3A')||LA19_0=='\uFF3F'||(LA19_0>='\uFF41' && LA19_0<='\uFF5A')||(LA19_0>='\uFF65' && LA19_0<='\uFFBE')||(LA19_0>='\uFFC2' && LA19_0<='\uFFC7')||(LA19_0>='\uFFCA' && LA19_0<='\uFFCF')||(LA19_0>='\uFFD2' && LA19_0<='\uFFD7')||(LA19_0>='\uFFDA' && LA19_0<='\uFFDC')||(LA19_0>='\uFFE0' && LA19_0<='\uFFE1')||(LA19_0>='\uFFE5' && LA19_0<='\uFFE6')||(LA19_0>='\uFFF9' && LA19_0<='\uFFFB')) ) {
+                            alt19=1;
+                        }
+
+
+                        switch (alt19) {
+                    	case 1 :
+                    	    // src/main/resources/org/drools/lang/DRL.g:1889:20: IdentifierPart
+                    	    {
+                    	    mIdentifierPart(); if (state.failed) return ;
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop19;
+                        }
+                    } while (true);
+
+
+                    }
+                    break;
+                case 2 :
+                    // src/main/resources/org/drools/lang/DRL.g:1890:4: '`' IdentifierStart ( IdentifierPart )* '`'
+                    {
+                    match('`'); if (state.failed) return ;
+                    mIdentifierStart(); if (state.failed) return ;
+                    // src/main/resources/org/drools/lang/DRL.g:1890:24: ( IdentifierPart )*
+                    loop20:
+                    do {
+                        int alt20=2;
+                        int LA20_0 = input.LA(1);
+
+                        if ( ((LA20_0>='\u0000' && LA20_0<='\b')||(LA20_0>='\u000E' && LA20_0<='\u001B')||LA20_0=='$'||(LA20_0>='0' && LA20_0<='9')||(LA20_0>='A' && LA20_0<='Z')||LA20_0=='_'||(LA20_0>='a' && LA20_0<='z')||(LA20_0>='\u007F' && LA20_0<='\u009F')||(LA20_0>='\u00A2' && LA20_0<='\u00A5')||LA20_0=='\u00AA'||LA20_0=='\u00AD'||LA20_0=='\u00B5'||LA20_0=='\u00BA'||(LA20_0>='\u00C0' && LA20_0<='\u00D6')||(LA20_0>='\u00D8' && LA20_0<='\u00F6')||(LA20_0>='\u00F8' && LA20_0<='\u0236')||(LA20_0>='\u0250' && LA20_0<='\u02C1')||(LA20_0>='\u02C6' && LA20_0<='\u02D1')||(LA20_0>='\u02E0' && LA20_0<='\u02E4')||LA20_0=='\u02EE'||(LA20_0>='\u0300' && LA20_0<='\u0357')||(LA20_0>='\u035D' && LA20_0<='\u036F')||LA20_0=='\u037A'||LA20_0=='\u0386'||(LA20_0>='\u0388' && LA20_0<='\u038A')||LA20_0=='\u038C'||(LA20_0>='\u038E' && LA20_0<='\u03A1')||(LA20_0>='\u03A3' && LA20_0<='\u03CE')||(LA20_0>='\u03D0' && LA20_0<='\u03F5')||(LA20_0>='\u03F7' && LA20_0<='\u03FB')||(LA20_0>='\u0400' && L!
 A20_0<='\u0481')||(LA20_0>='\u0483' && LA20_0<='\u0486')||(LA20_0>='\u048A' && LA20_0<='\u04CE')||(LA20_0>='\u04D0' && LA20_0<='\u04F5')||(LA20_0>='\u04F8' && LA20_0<='\u04F9')||(LA20_0>='\u0500' && LA20_0<='\u050F')||(LA20_0>='\u0531' && LA20_0<='\u0556')||LA20_0=='\u0559'||(LA20_0>='\u0561' && LA20_0<='\u0587')||(LA20_0>='\u0591' && LA20_0<='\u05A1')||(LA20_0>='\u05A3' && LA20_0<='\u05B9')||(LA20_0>='\u05BB' && LA20_0<='\u05BD')||LA20_0=='\u05BF'||(LA20_0>='\u05C1' && LA20_0<='\u05C2')||LA20_0=='\u05C4'||(LA20_0>='\u05D0' && LA20_0<='\u05EA')||(LA20_0>='\u05F0' && LA20_0<='\u05F2')||(LA20_0>='\u0600' && LA20_0<='\u0603')||(LA20_0>='\u0610' && LA20_0<='\u0615')||(LA20_0>='\u0621' && LA20_0<='\u063A')||(LA20_0>='\u0640' && LA20_0<='\u0658')||(LA20_0>='\u0660' && LA20_0<='\u0669')||(LA20_0>='\u066E' && LA20_0<='\u06D3')||(LA20_0>='\u06D5' && LA20_0<='\u06DD')||(LA20_0>='\u06DF' && LA20_0<='\u06E8')||(LA20_0>='\u06EA' && LA20_0<='\u06FC')||LA20_0=='\u06FF'||(LA20_0>='\u070F' !
 && LA20_0<='\u074A')||(LA20_0>='\u074D' && LA20_0<='\u074F')||(LA20_0>
='\u0780' && LA20_0<='\u07B1')||(LA20_0>='\u0901' && LA20_0<='\u0939')||(LA20_0>='\u093C' && LA20_0<='\u094D')||(LA20_0>='\u0950' && LA20_0<='\u0954')||(LA20_0>='\u0958' && LA20_0<='\u0963')||(LA20_0>='\u0966' && LA20_0<='\u096F')||(LA20_0>='\u0981' && LA20_0<='\u0983')||(LA20_0>='\u0985' && LA20_0<='\u098C')||(LA20_0>='\u098F' && LA20_0<='\u0990')||(LA20_0>='\u0993' && LA20_0<='\u09A8')||(LA20_0>='\u09AA' && LA20_0<='\u09B0')||LA20_0=='\u09B2'||(LA20_0>='\u09B6' && LA20_0<='\u09B9')||(LA20_0>='\u09BC' && LA20_0<='\u09C4')||(LA20_0>='\u09C7' && LA20_0<='\u09C8')||(LA20_0>='\u09CB' && LA20_0<='\u09CD')||LA20_0=='\u09D7'||(LA20_0>='\u09DC' && LA20_0<='\u09DD')||(LA20_0>='\u09DF' && LA20_0<='\u09E3')||(LA20_0>='\u09E6' && LA20_0<='\u09F3')||(LA20_0>='\u0A01' && LA20_0<='\u0A03')||(LA20_0>='\u0A05' && LA20_0<='\u0A0A')||(LA20_0>='\u0A0F' && LA20_0<='\u0A10')||(LA20_0>='\u0A13' && LA20_0<='\u0A28')||(LA20_0>='\u0A2A' && LA20_0<='\u0A30')||(LA20_0>='\u0A32' && LA20_0<='\u0A33')||(!
 LA20_0>='\u0A35' && LA20_0<='\u0A36')||(LA20_0>='\u0A38' && LA20_0<='\u0A39')||LA20_0=='\u0A3C'||(LA20_0>='\u0A3E' && LA20_0<='\u0A42')||(LA20_0>='\u0A47' && LA20_0<='\u0A48')||(LA20_0>='\u0A4B' && LA20_0<='\u0A4D')||(LA20_0>='\u0A59' && LA20_0<='\u0A5C')||LA20_0=='\u0A5E'||(LA20_0>='\u0A66' && LA20_0<='\u0A74')||(LA20_0>='\u0A81' && LA20_0<='\u0A83')||(LA20_0>='\u0A85' && LA20_0<='\u0A8D')||(LA20_0>='\u0A8F' && LA20_0<='\u0A91')||(LA20_0>='\u0A93' && LA20_0<='\u0AA8')||(LA20_0>='\u0AAA' && LA20_0<='\u0AB0')||(LA20_0>='\u0AB2' && LA20_0<='\u0AB3')||(LA20_0>='\u0AB5' && LA20_0<='\u0AB9')||(LA20_0>='\u0ABC' && LA20_0<='\u0AC5')||(LA20_0>='\u0AC7' && LA20_0<='\u0AC9')||(LA20_0>='\u0ACB' && LA20_0<='\u0ACD')||LA20_0=='\u0AD0'||(LA20_0>='\u0AE0' && LA20_0<='\u0AE3')||(LA20_0>='\u0AE6' && LA20_0<='\u0AEF')||LA20_0=='\u0AF1'||(LA20_0>='\u0B01' && LA20_0<='\u0B03')||(LA20_0>='\u0B05' && LA20_0<='\u0B0C')||(LA20_0>='\u0B0F' && LA20_0<='\u0B10')||(LA20_0>='\u0B13' && LA20_0<='\u0B28'!
 )||(LA20_0>='\u0B2A' && LA20_0<='\u0B30')||(LA20_0>='\u0B32' && LA20_0
<='\u0B33')||(LA20_0>='\u0B35' && LA20_0<='\u0B39')||(LA20_0>='\u0B3C' && LA20_0<='\u0B43')||(LA20_0>='\u0B47' && LA20_0<='\u0B48')||(LA20_0>='\u0B4B' && LA20_0<='\u0B4D')||(LA20_0>='\u0B56' && LA20_0<='\u0B57')||(LA20_0>='\u0B5C' && LA20_0<='\u0B5D')||(LA20_0>='\u0B5F' && LA20_0<='\u0B61')||(LA20_0>='\u0B66' && LA20_0<='\u0B6F')||LA20_0=='\u0B71'||(LA20_0>='\u0B82' && LA20_0<='\u0B83')||(LA20_0>='\u0B85' && LA20_0<='\u0B8A')||(LA20_0>='\u0B8E' && LA20_0<='\u0B90')||(LA20_0>='\u0B92' && LA20_0<='\u0B95')||(LA20_0>='\u0B99' && LA20_0<='\u0B9A')||LA20_0=='\u0B9C'||(LA20_0>='\u0B9E' && LA20_0<='\u0B9F')||(LA20_0>='\u0BA3' && LA20_0<='\u0BA4')||(LA20_0>='\u0BA8' && LA20_0<='\u0BAA')||(LA20_0>='\u0BAE' && LA20_0<='\u0BB5')||(LA20_0>='\u0BB7' && LA20_0<='\u0BB9')||(LA20_0>='\u0BBE' && LA20_0<='\u0BC2')||(LA20_0>='\u0BC6' && LA20_0<='\u0BC8')||(LA20_0>='\u0BCA' && LA20_0<='\u0BCD')||LA20_0=='\u0BD7'||(LA20_0>='\u0BE7' && LA20_0<='\u0BEF')||LA20_0=='\u0BF9'||(LA20_0>='\u0C01' && LA2!
 0_0<='\u0C03')||(LA20_0>='\u0C05' && LA20_0<='\u0C0C')||(LA20_0>='\u0C0E' && LA20_0<='\u0C10')||(LA20_0>='\u0C12' && LA20_0<='\u0C28')||(LA20_0>='\u0C2A' && LA20_0<='\u0C33')||(LA20_0>='\u0C35' && LA20_0<='\u0C39')||(LA20_0>='\u0C3E' && LA20_0<='\u0C44')||(LA20_0>='\u0C46' && LA20_0<='\u0C48')||(LA20_0>='\u0C4A' && LA20_0<='\u0C4D')||(LA20_0>='\u0C55' && LA20_0<='\u0C56')||(LA20_0>='\u0C60' && LA20_0<='\u0C61')||(LA20_0>='\u0C66' && LA20_0<='\u0C6F')||(LA20_0>='\u0C82' && LA20_0<='\u0C83')||(LA20_0>='\u0C85' && LA20_0<='\u0C8C')||(LA20_0>='\u0C8E' && LA20_0<='\u0C90')||(LA20_0>='\u0C92' && LA20_0<='\u0CA8')||(LA20_0>='\u0CAA' && LA20_0<='\u0CB3')||(LA20_0>='\u0CB5' && LA20_0<='\u0CB9')||(LA20_0>='\u0CBC' && LA20_0<='\u0CC4')||(LA20_0>='\u0CC6' && LA20_0<='\u0CC8')||(LA20_0>='\u0CCA' && LA20_0<='\u0CCD')||(LA20_0>='\u0CD5' && LA20_0<='\u0CD6')||LA20_0=='\u0CDE'||(LA20_0>='\u0CE0' && LA20_0<='\u0CE1')||(LA20_0>='\u0CE6' && LA20_0<='\u0CEF')||(LA20_0>='\u0D02' && LA20_0<='\u0D!
 03')||(LA20_0>='\u0D05' && LA20_0<='\u0D0C')||(LA20_0>='\u0D0E' && LA2
0_0<='\u0D10')||(LA20_0>='\u0D12' && LA20_0<='\u0D28')||(LA20_0>='\u0D2A' && LA20_0<='\u0D39')||(LA20_0>='\u0D3E' && LA20_0<='\u0D43')||(LA20_0>='\u0D46' && LA20_0<='\u0D48')||(LA20_0>='\u0D4A' && LA20_0<='\u0D4D')||LA20_0=='\u0D57'||(LA20_0>='\u0D60' && LA20_0<='\u0D61')||(LA20_0>='\u0D66' && LA20_0<='\u0D6F')||(LA20_0>='\u0D82' && LA20_0<='\u0D83')||(LA20_0>='\u0D85' && LA20_0<='\u0D96')||(LA20_0>='\u0D9A' && LA20_0<='\u0DB1')||(LA20_0>='\u0DB3' && LA20_0<='\u0DBB')||LA20_0=='\u0DBD'||(LA20_0>='\u0DC0' && LA20_0<='\u0DC6')||LA20_0=='\u0DCA'||(LA20_0>='\u0DCF' && LA20_0<='\u0DD4')||LA20_0=='\u0DD6'||(LA20_0>='\u0DD8' && LA20_0<='\u0DDF')||(LA20_0>='\u0DF2' && LA20_0<='\u0DF3')||(LA20_0>='\u0E01' && LA20_0<='\u0E3A')||(LA20_0>='\u0E3F' && LA20_0<='\u0E4E')||(LA20_0>='\u0E50' && LA20_0<='\u0E59')||(LA20_0>='\u0E81' && LA20_0<='\u0E82')||LA20_0=='\u0E84'||(LA20_0>='\u0E87' && LA20_0<='\u0E88')||LA20_0=='\u0E8A'||LA20_0=='\u0E8D'||(LA20_0>='\u0E94' && LA20_0<='\u0E97')||(LA20_0!
 >='\u0E99' && LA20_0<='\u0E9F')||(LA20_0>='\u0EA1' && LA20_0<='\u0EA3')||LA20_0=='\u0EA5'||LA20_0=='\u0EA7'||(LA20_0>='\u0EAA' && LA20_0<='\u0EAB')||(LA20_0>='\u0EAD' && LA20_0<='\u0EB9')||(LA20_0>='\u0EBB' && LA20_0<='\u0EBD')||(LA20_0>='\u0EC0' && LA20_0<='\u0EC4')||LA20_0=='\u0EC6'||(LA20_0>='\u0EC8' && LA20_0<='\u0ECD')||(LA20_0>='\u0ED0' && LA20_0<='\u0ED9')||(LA20_0>='\u0EDC' && LA20_0<='\u0EDD')||LA20_0=='\u0F00'||(LA20_0>='\u0F18' && LA20_0<='\u0F19')||(LA20_0>='\u0F20' && LA20_0<='\u0F29')||LA20_0=='\u0F35'||LA20_0=='\u0F37'||LA20_0=='\u0F39'||(LA20_0>='\u0F3E' && LA20_0<='\u0F47')||(LA20_0>='\u0F49' && LA20_0<='\u0F6A')||(LA20_0>='\u0F71' && LA20_0<='\u0F84')||(LA20_0>='\u0F86' && LA20_0<='\u0F8B')||(LA20_0>='\u0F90' && LA20_0<='\u0F97')||(LA20_0>='\u0F99' && LA20_0<='\u0FBC')||LA20_0=='\u0FC6'||(LA20_0>='\u1000' && LA20_0<='\u1021')||(LA20_0>='\u1023' && LA20_0<='\u1027')||(LA20_0>='\u1029' && LA20_0<='\u102A')||(LA20_0>='\u102C' && LA20_0<='\u1032')||(LA20_0>='\!
 u1036' && LA20_0<='\u1039')||(LA20_0>='\u1040' && LA20_0<='\u1049')||(
LA20_0>='\u1050' && LA20_0<='\u1059')||(LA20_0>='\u10A0' && LA20_0<='\u10C5')||(LA20_0>='\u10D0' && LA20_0<='\u10F8')||(LA20_0>='\u1100' && LA20_0<='\u1159')||(LA20_0>='\u115F' && LA20_0<='\u11A2')||(LA20_0>='\u11A8' && LA20_0<='\u11F9')||(LA20_0>='\u1200' && LA20_0<='\u1206')||(LA20_0>='\u1208' && LA20_0<='\u1246')||LA20_0=='\u1248'||(LA20_0>='\u124A' && LA20_0<='\u124D')||(LA20_0>='\u1250' && LA20_0<='\u1256')||LA20_0=='\u1258'||(LA20_0>='\u125A' && LA20_0<='\u125D')||(LA20_0>='\u1260' && LA20_0<='\u1286')||LA20_0=='\u1288'||(LA20_0>='\u128A' && LA20_0<='\u128D')||(LA20_0>='\u1290' && LA20_0<='\u12AE')||LA20_0=='\u12B0'||(LA20_0>='\u12B2' && LA20_0<='\u12B5')||(LA20_0>='\u12B8' && LA20_0<='\u12BE')||LA20_0=='\u12C0'||(LA20_0>='\u12C2' && LA20_0<='\u12C5')||(LA20_0>='\u12C8' && LA20_0<='\u12CE')||(LA20_0>='\u12D0' && LA20_0<='\u12D6')||(LA20_0>='\u12D8' && LA20_0<='\u12EE')||(LA20_0>='\u12F0' && LA20_0<='\u130E')||LA20_0=='\u1310'||(LA20_0>='\u1312' && LA20_0<='\u1315')||(L!
 A20_0>='\u1318' && LA20_0<='\u131E')||(LA20_0>='\u1320' && LA20_0<='\u1346')||(LA20_0>='\u1348' && LA20_0<='\u135A')||(LA20_0>='\u1369' && LA20_0<='\u1371')||(LA20_0>='\u13A0' && LA20_0<='\u13F4')||(LA20_0>='\u1401' && LA20_0<='\u166C')||(LA20_0>='\u166F' && LA20_0<='\u1676')||(LA20_0>='\u1681' && LA20_0<='\u169A')||(LA20_0>='\u16A0' && LA20_0<='\u16EA')||(LA20_0>='\u16EE' && LA20_0<='\u16F0')||(LA20_0>='\u1700' && LA20_0<='\u170C')||(LA20_0>='\u170E' && LA20_0<='\u1714')||(LA20_0>='\u1720' && LA20_0<='\u1734')||(LA20_0>='\u1740' && LA20_0<='\u1753')||(LA20_0>='\u1760' && LA20_0<='\u176C')||(LA20_0>='\u176E' && LA20_0<='\u1770')||(LA20_0>='\u1772' && LA20_0<='\u1773')||(LA20_0>='\u1780' && LA20_0<='\u17D3')||LA20_0=='\u17D7'||(LA20_0>='\u17DB' && LA20_0<='\u17DD')||(LA20_0>='\u17E0' && LA20_0<='\u17E9')||(LA20_0>='\u180B' && LA20_0<='\u180D')||(LA20_0>='\u1810' && LA20_0<='\u1819')||(LA20_0>='\u1820' && LA20_0<='\u1877')||(LA20_0>='\u1880' && LA20_0<='\u18A9')||(LA20_0>='\u!
 1900' && LA20_0<='\u191C')||(LA20_0>='\u1920' && LA20_0<='\u192B')||(L
A20_0>='\u1930' && LA20_0<='\u193B')||(LA20_0>='\u1946' && LA20_0<='\u196D')||(LA20_0>='\u1970' && LA20_0<='\u1974')||(LA20_0>='\u1D00' && LA20_0<='\u1D6B')||(LA20_0>='\u1E00' && LA20_0<='\u1E9B')||(LA20_0>='\u1EA0' && LA20_0<='\u1EF9')||(LA20_0>='\u1F00' && LA20_0<='\u1F15')||(LA20_0>='\u1F18' && LA20_0<='\u1F1D')||(LA20_0>='\u1F20' && LA20_0<='\u1F45')||(LA20_0>='\u1F48' && LA20_0<='\u1F4D')||(LA20_0>='\u1F50' && LA20_0<='\u1F57')||LA20_0=='\u1F59'||LA20_0=='\u1F5B'||LA20_0=='\u1F5D'||(LA20_0>='\u1F5F' && LA20_0<='\u1F7D')||(LA20_0>='\u1F80' && LA20_0<='\u1FB4')||(LA20_0>='\u1FB6' && LA20_0<='\u1FBC')||LA20_0=='\u1FBE'||(LA20_0>='\u1FC2' && LA20_0<='\u1FC4')||(LA20_0>='\u1FC6' && LA20_0<='\u1FCC')||(LA20_0>='\u1FD0' && LA20_0<='\u1FD3')||(LA20_0>='\u1FD6' && LA20_0<='\u1FDB')||(LA20_0>='\u1FE0' && LA20_0<='\u1FEC')||(LA20_0>='\u1FF2' && LA20_0<='\u1FF4')||(LA20_0>='\u1FF6' && LA20_0<='\u1FFC')||(LA20_0>='\u200C' && LA20_0<='\u200F')||(LA20_0>='\u202A' && LA20_0<='\u202E')|!
 |(LA20_0>='\u203F' && LA20_0<='\u2040')||LA20_0=='\u2054'||(LA20_0>='\u2060' && LA20_0<='\u2063')||(LA20_0>='\u206A' && LA20_0<='\u206F')||LA20_0=='\u2071'||LA20_0=='\u207F'||(LA20_0>='\u20A0' && LA20_0<='\u20B1')||(LA20_0>='\u20D0' && LA20_0<='\u20DC')||LA20_0=='\u20E1'||(LA20_0>='\u20E5' && LA20_0<='\u20EA')||LA20_0=='\u2102'||LA20_0=='\u2107'||(LA20_0>='\u210A' && LA20_0<='\u2113')||LA20_0=='\u2115'||(LA20_0>='\u2119' && LA20_0<='\u211D')||LA20_0=='\u2124'||LA20_0=='\u2126'||LA20_0=='\u2128'||(LA20_0>='\u212A' && LA20_0<='\u212D')||(LA20_0>='\u212F' && LA20_0<='\u2131')||(LA20_0>='\u2133' && LA20_0<='\u2139')||(LA20_0>='\u213D' && LA20_0<='\u213F')||(LA20_0>='\u2145' && LA20_0<='\u2149')||(LA20_0>='\u2160' && LA20_0<='\u2183')||(LA20_0>='\u3005' && LA20_0<='\u3007')||(LA20_0>='\u3021' && LA20_0<='\u302F')||(LA20_0>='\u3031' && LA20_0<='\u3035')||(LA20_0>='\u3038' && LA20_0<='\u303C')||(LA20_0>='\u3041' && LA20_0<='\u3096')||(LA20_0>='\u3099' && LA20_0<='\u309A')||(LA20_0!
 >='\u309D' && LA20_0<='\u309F')||(LA20_0>='\u30A1' && LA20_0<='\u30FF'
)||(LA20_0>='\u3105' && LA20_0<='\u312C')||(LA20_0>='\u3131' && LA20_0<='\u318E')||(LA20_0>='\u31A0' && LA20_0<='\u31B7')||(LA20_0>='\u31F0' && LA20_0<='\u31FF')||(LA20_0>='\u3400' && LA20_0<='\u4DB5')||(LA20_0>='\u4E00' && LA20_0<='\u9FA5')||(LA20_0>='\uA000' && LA20_0<='\uA48C')||(LA20_0>='\uAC00' && LA20_0<='\uD7A3')||(LA20_0>='\uF900' && LA20_0<='\uFA2D')||(LA20_0>='\uFA30' && LA20_0<='\uFA6A')||(LA20_0>='\uFB00' && LA20_0<='\uFB06')||(LA20_0>='\uFB13' && LA20_0<='\uFB17')||(LA20_0>='\uFB1D' && LA20_0<='\uFB28')||(LA20_0>='\uFB2A' && LA20_0<='\uFB36')||(LA20_0>='\uFB38' && LA20_0<='\uFB3C')||LA20_0=='\uFB3E'||(LA20_0>='\uFB40' && LA20_0<='\uFB41')||(LA20_0>='\uFB43' && LA20_0<='\uFB44')||(LA20_0>='\uFB46' && LA20_0<='\uFBB1')||(LA20_0>='\uFBD3' && LA20_0<='\uFD3D')||(LA20_0>='\uFD50' && LA20_0<='\uFD8F')||(LA20_0>='\uFD92' && LA20_0<='\uFDC7')||(LA20_0>='\uFDF0' && LA20_0<='\uFDFC')||(LA20_0>='\uFE00' && LA20_0<='\uFE0F')||(LA20_0>='\uFE20' && LA20_0<='\uFE23')||(LA20_0>!
 ='\uFE33' && LA20_0<='\uFE34')||(LA20_0>='\uFE4D' && LA20_0<='\uFE4F')||LA20_0=='\uFE69'||(LA20_0>='\uFE70' && LA20_0<='\uFE74')||(LA20_0>='\uFE76' && LA20_0<='\uFEFC')||LA20_0=='\uFEFF'||LA20_0=='\uFF04'||(LA20_0>='\uFF10' && LA20_0<='\uFF19')||(LA20_0>='\uFF21' && LA20_0<='\uFF3A')||LA20_0=='\uFF3F'||(LA20_0>='\uFF41' && LA20_0<='\uFF5A')||(LA20_0>='\uFF65' && LA20_0<='\uFFBE')||(LA20_0>='\uFFC2' && LA20_0<='\uFFC7')||(LA20_0>='\uFFCA' && LA20_0<='\uFFCF')||(LA20_0>='\uFFD2' && LA20_0<='\uFFD7')||(LA20_0>='\uFFDA' && LA20_0<='\uFFDC')||(LA20_0>='\uFFE0' && LA20_0<='\uFFE1')||(LA20_0>='\uFFE5' && LA20_0<='\uFFE6')||(LA20_0>='\uFFF9' && LA20_0<='\uFFFB')) ) {
+                            alt20=1;
+                        }
+
+
+                        switch (alt20) {
+                    	case 1 :
+                    	    // src/main/resources/org/drools/lang/DRL.g:1890:24: IdentifierPart
+                    	    {
+                    	    mIdentifierPart(); if (state.failed) return ;
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop20;
+                        }
+                    } while (true);
+
+                    match('`'); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                      	state.text = getText().substring(1, getText().length() - 1);	
+                    }
+
+                    }
+                    break;
+
+            }
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "ID"
+
     // $ANTLR start "MISC"
     public final void mMISC() throws RecognitionException {
         try {
             int _type = MISC;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/DRL.g:1894:7: ( '!' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | '/' | '\\'' | '\\\\' | '|' | '&' )
+            // src/main/resources/org/drools/lang/DRL.g:1894:7: ( '!' | '%' | '^' | '*' | '-' | '+' | '?' | '/' | '\\'' | '\\\\' | '|' | '&' | '$' )
             // src/main/resources/org/drools/lang/DRL.g:
             {
-            if ( input.LA(1)=='!'||(input.LA(1)>='$' && input.LA(1)<='\'')||(input.LA(1)>='*' && input.LA(1)<='+')||input.LA(1)=='-'||input.LA(1)=='/'||input.LA(1)=='?'||input.LA(1)=='\\'||(input.LA(1)>='^' && input.LA(1)<='_')||input.LA(1)=='|' ) {
+            if ( input.LA(1)=='!'||(input.LA(1)>='$' && input.LA(1)<='\'')||(input.LA(1)>='*' && input.LA(1)<='+')||input.LA(1)=='-'||input.LA(1)=='/'||input.LA(1)=='?'||input.LA(1)=='\\'||input.LA(1)=='^'||input.LA(1)=='|' ) {
                 input.consume();
             state.failed=false;
             }
@@ -1986,8 +1946,58 @@
     }
     // $ANTLR end "MISC"
 
+    // $ANTLR start "IdentifierStart"
+    public final void mIdentifierStart() throws RecognitionException {
+        try {
+            // src/main/resources/org/drools/lang/DRL.g:1900:5: ( '\\u0024' | '\\u0041' .. '\\u005a' | '\\u005f' | '\\u0061' .. '\\u007a' | '\\u00a2' .. '\\u00a5' | '\\u00aa' | '\\u00b5' | '\\u00ba' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u0236' | '\\u0250' .. '\\u02c1' | '\\u02c6' .. '\\u02d1' | '\\u02e0' .. '\\u02e4' | '\\u02ee' | '\\u037a' | '\\u0386' | '\\u0388' .. '\\u038a' | '\\u038c' | '\\u038e' .. '\\u03a1' | '\\u03a3' .. '\\u03ce' | '\\u03d0' .. '\\u03f5' | '\\u03f7' .. '\\u03fb' | '\\u0400' .. '\\u0481' | '\\u048a' .. '\\u04ce' | '\\u04d0' .. '\\u04f5' | '\\u04f8' .. '\\u04f9' | '\\u0500' .. '\\u050f' | '\\u0531' .. '\\u0556' | '\\u0559' | '\\u0561' .. '\\u0587' | '\\u05d0' .. '\\u05ea' | '\\u05f0' .. '\\u05f2' | '\\u0621' .. '\\u063a' | '\\u0640' .. '\\u064a' | '\\u066e' .. '\\u066f' | '\\u0671' .. '\\u06d3' | '\\u06d5' | '\\u06e5' .. '\\u06e6' | '\\u06ee' .. '\\u06ef' | '\\u06fa' .. '\\u06fc' | '\\u06ff' | '\\u0710' | '\\u0712' .. '\\!
 u072f' | '\\u074d' .. '\\u074f' | '\\u0780' .. '\\u07a5' | '\\u07b1' | '\\u0904' .. '\\u0939' | '\\u093d' | '\\u0950' | '\\u0958' .. '\\u0961' | '\\u0985' .. '\\u098c' | '\\u098f' .. '\\u0990' | '\\u0993' .. '\\u09a8' | '\\u09aa' .. '\\u09b0' | '\\u09b2' | '\\u09b6' .. '\\u09b9' | '\\u09bd' | '\\u09dc' .. '\\u09dd' | '\\u09df' .. '\\u09e1' | '\\u09f0' .. '\\u09f3' | '\\u0a05' .. '\\u0a0a' | '\\u0a0f' .. '\\u0a10' | '\\u0a13' .. '\\u0a28' | '\\u0a2a' .. '\\u0a30' | '\\u0a32' .. '\\u0a33' | '\\u0a35' .. '\\u0a36' | '\\u0a38' .. '\\u0a39' | '\\u0a59' .. '\\u0a5c' | '\\u0a5e' | '\\u0a72' .. '\\u0a74' | '\\u0a85' .. '\\u0a8d' | '\\u0a8f' .. '\\u0a91' | '\\u0a93' .. '\\u0aa8' | '\\u0aaa' .. '\\u0ab0' | '\\u0ab2' .. '\\u0ab3' | '\\u0ab5' .. '\\u0ab9' | '\\u0abd' | '\\u0ad0' | '\\u0ae0' .. '\\u0ae1' | '\\u0af1' | '\\u0b05' .. '\\u0b0c' | '\\u0b0f' .. '\\u0b10' | '\\u0b13' .. '\\u0b28' | '\\u0b2a' .. '\\u0b30' | '\\u0b32' .. '\\u0b33' | '\\u0b35' .. '\\u0b39' | '\\u0b3d' | '\\u0b5c'!
  .. '\\u0b5d' | '\\u0b5f' .. '\\u0b61' | '\\u0b71' | '\\u0b83' | '\\u0
b85' .. '\\u0b8a' | '\\u0b8e' .. '\\u0b90' | '\\u0b92' .. '\\u0b95' | '\\u0b99' .. '\\u0b9a' | '\\u0b9c' | '\\u0b9e' .. '\\u0b9f' | '\\u0ba3' .. '\\u0ba4' | '\\u0ba8' .. '\\u0baa' | '\\u0bae' .. '\\u0bb5' | '\\u0bb7' .. '\\u0bb9' | '\\u0bf9' | '\\u0c05' .. '\\u0c0c' | '\\u0c0e' .. '\\u0c10' | '\\u0c12' .. '\\u0c28' | '\\u0c2a' .. '\\u0c33' | '\\u0c35' .. '\\u0c39' | '\\u0c60' .. '\\u0c61' | '\\u0c85' .. '\\u0c8c' | '\\u0c8e' .. '\\u0c90' | '\\u0c92' .. '\\u0ca8' | '\\u0caa' .. '\\u0cb3' | '\\u0cb5' .. '\\u0cb9' | '\\u0cbd' | '\\u0cde' | '\\u0ce0' .. '\\u0ce1' | '\\u0d05' .. '\\u0d0c' | '\\u0d0e' .. '\\u0d10' | '\\u0d12' .. '\\u0d28' | '\\u0d2a' .. '\\u0d39' | '\\u0d60' .. '\\u0d61' | '\\u0d85' .. '\\u0d96' | '\\u0d9a' .. '\\u0db1' | '\\u0db3' .. '\\u0dbb' | '\\u0dbd' | '\\u0dc0' .. '\\u0dc6' | '\\u0e01' .. '\\u0e30' | '\\u0e32' .. '\\u0e33' | '\\u0e3f' .. '\\u0e46' | '\\u0e81' .. '\\u0e82' | '\\u0e84' | '\\u0e87' .. '\\u0e88' | '\\u0e8a' | '\\u0e8d' | '\\u0e94' .. '\\u0e97' !
 | '\\u0e99' .. '\\u0e9f' | '\\u0ea1' .. '\\u0ea3' | '\\u0ea5' | '\\u0ea7' | '\\u0eaa' .. '\\u0eab' | '\\u0ead' .. '\\u0eb0' | '\\u0eb2' .. '\\u0eb3' | '\\u0ebd' | '\\u0ec0' .. '\\u0ec4' | '\\u0ec6' | '\\u0edc' .. '\\u0edd' | '\\u0f00' | '\\u0f40' .. '\\u0f47' | '\\u0f49' .. '\\u0f6a' | '\\u0f88' .. '\\u0f8b' | '\\u1000' .. '\\u1021' | '\\u1023' .. '\\u1027' | '\\u1029' .. '\\u102a' | '\\u1050' .. '\\u1055' | '\\u10a0' .. '\\u10c5' | '\\u10d0' .. '\\u10f8' | '\\u1100' .. '\\u1159' | '\\u115f' .. '\\u11a2' | '\\u11a8' .. '\\u11f9' | '\\u1200' .. '\\u1206' | '\\u1208' .. '\\u1246' | '\\u1248' | '\\u124a' .. '\\u124d' | '\\u1250' .. '\\u1256' | '\\u1258' | '\\u125a' .. '\\u125d' | '\\u1260' .. '\\u1286' | '\\u1288' | '\\u128a' .. '\\u128d' | '\\u1290' .. '\\u12ae' | '\\u12b0' | '\\u12b2' .. '\\u12b5' | '\\u12b8' .. '\\u12be' | '\\u12c0' | '\\u12c2' .. '\\u12c5' | '\\u12c8' .. '\\u12ce' | '\\u12d0' .. '\\u12d6' | '\\u12d8' .. '\\u12ee' | '\\u12f0' .. '\\u130e' | '\\u1310' | '\\u!
 1312' .. '\\u1315' | '\\u1318' .. '\\u131e' | '\\u1320' .. '\\u1346' |
 '\\u1348' .. '\\u135a' | '\\u13a0' .. '\\u13f4' | '\\u1401' .. '\\u166c' | '\\u166f' .. '\\u1676' | '\\u1681' .. '\\u169a' | '\\u16a0' .. '\\u16ea' | '\\u16ee' .. '\\u16f0' | '\\u1700' .. '\\u170c' | '\\u170e' .. '\\u1711' | '\\u1720' .. '\\u1731' | '\\u1740' .. '\\u1751' | '\\u1760' .. '\\u176c' | '\\u176e' .. '\\u1770' | '\\u1780' .. '\\u17b3' | '\\u17d7' | '\\u17db' .. '\\u17dc' | '\\u1820' .. '\\u1877' | '\\u1880' .. '\\u18a8' | '\\u1900' .. '\\u191c' | '\\u1950' .. '\\u196d' | '\\u1970' .. '\\u1974' | '\\u1d00' .. '\\u1d6b' | '\\u1e00' .. '\\u1e9b' | '\\u1ea0' .. '\\u1ef9' | '\\u1f00' .. '\\u1f15' | '\\u1f18' .. '\\u1f1d' | '\\u1f20' .. '\\u1f45' | '\\u1f48' .. '\\u1f4d' | '\\u1f50' .. '\\u1f57' | '\\u1f59' | '\\u1f5b' | '\\u1f5d' | '\\u1f5f' .. '\\u1f7d' | '\\u1f80' .. '\\u1fb4' | '\\u1fb6' .. '\\u1fbc' | '\\u1fbe' | '\\u1fc2' .. '\\u1fc4' | '\\u1fc6' .. '\\u1fcc' | '\\u1fd0' .. '\\u1fd3' | '\\u1fd6' .. '\\u1fdb' | '\\u1fe0' .. '\\u1fec' | '\\u1ff2' .. '\\u1ff4' | '\\!
 u1ff6' .. '\\u1ffc' | '\\u203f' .. '\\u2040' | '\\u2054' | '\\u2071' | '\\u207f' | '\\u20a0' .. '\\u20b1' | '\\u2102' | '\\u2107' | '\\u210a' .. '\\u2113' | '\\u2115' | '\\u2119' .. '\\u211d' | '\\u2124' | '\\u2126' | '\\u2128' | '\\u212a' .. '\\u212d' | '\\u212f' .. '\\u2131' | '\\u2133' .. '\\u2139' | '\\u213d' .. '\\u213f' | '\\u2145' .. '\\u2149' | '\\u2160' .. '\\u2183' | '\\u3005' .. '\\u3007' | '\\u3021' .. '\\u3029' | '\\u3031' .. '\\u3035' | '\\u3038' .. '\\u303c' | '\\u3041' .. '\\u3096' | '\\u309d' .. '\\u309f' | '\\u30a1' .. '\\u30ff' | '\\u3105' .. '\\u312c' | '\\u3131' .. '\\u318e' | '\\u31a0' .. '\\u31b7' | '\\u31f0' .. '\\u31ff' | '\\u3400' .. '\\u4db5' | '\\u4e00' .. '\\u9fa5' | '\\ua000' .. '\\ua48c' | '\\uac00' .. '\\ud7a3' | '\\uf900' .. '\\ufa2d' | '\\ufa30' .. '\\ufa6a' | '\\ufb00' .. '\\ufb06' | '\\ufb13' .. '\\ufb17' | '\\ufb1d' | '\\ufb1f' .. '\\ufb28' | '\\ufb2a' .. '\\ufb36' | '\\ufb38' .. '\\ufb3c' | '\\ufb3e' | '\\ufb40' .. '\\ufb41' | '\\ufb43'!
  .. '\\ufb44' | '\\ufb46' .. '\\ufbb1' | '\\ufbd3' .. '\\ufd3d' | '\\u
fd50' .. '\\ufd8f' | '\\ufd92' .. '\\ufdc7' | '\\ufdf0' .. '\\ufdfc' | '\\ufe33' .. '\\ufe34' | '\\ufe4d' .. '\\ufe4f' | '\\ufe69' | '\\ufe70' .. '\\ufe74' | '\\ufe76' .. '\\ufefc' | '\\uff04' | '\\uff21' .. '\\uff3a' | '\\uff3f' | '\\uff41' .. '\\uff5a' | '\\uff65' .. '\\uffbe' | '\\uffc2' .. '\\uffc7' | '\\uffca' .. '\\uffcf' | '\\uffd2' .. '\\uffd7' | '\\uffda' .. '\\uffdc' | '\\uffe0' .. '\\uffe1' | '\\uffe5' .. '\\uffe6' )
+            // src/main/resources/org/drools/lang/DRL.g:
+            {
+            if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00A2' && input.LA(1)<='\u00A5')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00B5'||input.LA(1)=='\u00BA'||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u0236')||(input.LA(1)>='\u0250' && input.LA(1)<='\u02C1')||(input.LA(1)>='\u02C6' && input.LA(1)<='\u02D1')||(input.LA(1)>='\u02E0' && input.LA(1)<='\u02E4')||input.LA(1)=='\u02EE'||input.LA(1)=='\u037A'||input.LA(1)=='\u0386'||(input.LA(1)>='\u0388' && input.LA(1)<='\u038A')||input.LA(1)=='\u038C'||(input.LA(1)>='\u038E' && input.LA(1)<='\u03A1')||(input.LA(1)>='\u03A3' && input.LA(1)<='\u03CE')||(input.LA(1)>='\u03D0' && input.LA(1)<='\u03F5')||(input.LA(1)>='\u03F7' && input.LA(1)<='\u03FB')||(input.LA(1)>='\u0400' && input.LA(1)<='\u0481')||(input.LA(1)>='\u048A' && input.LA(1)<='\u04!
 CE')||(input.LA(1)>='\u04D0' && input.LA(1)<='\u04F5')||(input.LA(1)>='\u04F8' && input.LA(1)<='\u04F9')||(input.LA(1)>='\u0500' && input.LA(1)<='\u050F')||(input.LA(1)>='\u0531' && input.LA(1)<='\u0556')||input.LA(1)=='\u0559'||(input.LA(1)>='\u0561' && input.LA(1)<='\u0587')||(input.LA(1)>='\u05D0' && input.LA(1)<='\u05EA')||(input.LA(1)>='\u05F0' && input.LA(1)<='\u05F2')||(input.LA(1)>='\u0621' && input.LA(1)<='\u063A')||(input.LA(1)>='\u0640' && input.LA(1)<='\u064A')||(input.LA(1)>='\u066E' && input.LA(1)<='\u066F')||(input.LA(1)>='\u0671' && input.LA(1)<='\u06D3')||input.LA(1)=='\u06D5'||(input.LA(1)>='\u06E5' && input.LA(1)<='\u06E6')||(input.LA(1)>='\u06EE' && input.LA(1)<='\u06EF')||(input.LA(1)>='\u06FA' && input.LA(1)<='\u06FC')||input.LA(1)=='\u06FF'||input.LA(1)=='\u0710'||(input.LA(1)>='\u0712' && input.LA(1)<='\u072F')||(input.LA(1)>='\u074D' && input.LA(1)<='\u074F')||(input.LA(1)>='\u0780' && input.LA(1)<='\u07A5')||input.LA(1)=='\u07B1'||(input.LA(1)>='\u!
 0904' && input.LA(1)<='\u0939')||input.LA(1)=='\u093D'||input.LA(1)=='
\u0950'||(input.LA(1)>='\u0958' && input.LA(1)<='\u0961')||(input.LA(1)>='\u0985' && input.LA(1)<='\u098C')||(input.LA(1)>='\u098F' && input.LA(1)<='\u0990')||(input.LA(1)>='\u0993' && input.LA(1)<='\u09A8')||(input.LA(1)>='\u09AA' && input.LA(1)<='\u09B0')||input.LA(1)=='\u09B2'||(input.LA(1)>='\u09B6' && input.LA(1)<='\u09B9')||input.LA(1)=='\u09BD'||(input.LA(1)>='\u09DC' && input.LA(1)<='\u09DD')||(input.LA(1)>='\u09DF' && input.LA(1)<='\u09E1')||(input.LA(1)>='\u09F0' && input.LA(1)<='\u09F3')||(input.LA(1)>='\u0A05' && input.LA(1)<='\u0A0A')||(input.LA(1)>='\u0A0F' && input.LA(1)<='\u0A10')||(input.LA(1)>='\u0A13' && input.LA(1)<='\u0A28')||(input.LA(1)>='\u0A2A' && input.LA(1)<='\u0A30')||(input.LA(1)>='\u0A32' && input.LA(1)<='\u0A33')||(input.LA(1)>='\u0A35' && input.LA(1)<='\u0A36')||(input.LA(1)>='\u0A38' && input.LA(1)<='\u0A39')||(input.LA(1)>='\u0A59' && input.LA(1)<='\u0A5C')||input.LA(1)=='\u0A5E'||(input.LA(1)>='\u0A72' && input.LA(1)<='\u0A74')||(input.LA(1!
 )>='\u0A85' && input.LA(1)<='\u0A8D')||(input.LA(1)>='\u0A8F' && input.LA(1)<='\u0A91')||(input.LA(1)>='\u0A93' && input.LA(1)<='\u0AA8')||(input.LA(1)>='\u0AAA' && input.LA(1)<='\u0AB0')||(input.LA(1)>='\u0AB2' && input.LA(1)<='\u0AB3')||(input.LA(1)>='\u0AB5' && input.LA(1)<='\u0AB9')||input.LA(1)=='\u0ABD'||input.LA(1)=='\u0AD0'||(input.LA(1)>='\u0AE0' && input.LA(1)<='\u0AE1')||input.LA(1)=='\u0AF1'||(input.LA(1)>='\u0B05' && input.LA(1)<='\u0B0C')||(input.LA(1)>='\u0B0F' && input.LA(1)<='\u0B10')||(input.LA(1)>='\u0B13' && input.LA(1)<='\u0B28')||(input.LA(1)>='\u0B2A' && input.LA(1)<='\u0B30')||(input.LA(1)>='\u0B32' && input.LA(1)<='\u0B33')||(input.LA(1)>='\u0B35' && input.LA(1)<='\u0B39')||input.LA(1)=='\u0B3D'||(input.LA(1)>='\u0B5C' && input.LA(1)<='\u0B5D')||(input.LA(1)>='\u0B5F' && input.LA(1)<='\u0B61')||input.LA(1)=='\u0B71'||input.LA(1)=='\u0B83'||(input.LA(1)>='\u0B85' && input.LA(1)<='\u0B8A')||(input.LA(1)>='\u0B8E' && input.LA(1)<='\u0B90')||(input.LA(1!
 )>='\u0B92' && input.LA(1)<='\u0B95')||(input.LA(1)>='\u0B99' && input
.LA(1)<='\u0B9A')||input.LA(1)=='\u0B9C'||(input.LA(1)>='\u0B9E' && input.LA(1)<='\u0B9F')||(input.LA(1)>='\u0BA3' && input.LA(1)<='\u0BA4')||(input.LA(1)>='\u0BA8' && input.LA(1)<='\u0BAA')||(input.LA(1)>='\u0BAE' && input.LA(1)<='\u0BB5')||(input.LA(1)>='\u0BB7' && input.LA(1)<='\u0BB9')||input.LA(1)=='\u0BF9'||(input.LA(1)>='\u0C05' && input.LA(1)<='\u0C0C')||(input.LA(1)>='\u0C0E' && input.LA(1)<='\u0C10')||(input.LA(1)>='\u0C12' && input.LA(1)<='\u0C28')||(input.LA(1)>='\u0C2A' && input.LA(1)<='\u0C33')||(input.LA(1)>='\u0C35' && input.LA(1)<='\u0C39')||(input.LA(1)>='\u0C60' && input.LA(1)<='\u0C61')||(input.LA(1)>='\u0C85' && input.LA(1)<='\u0C8C')||(input.LA(1)>='\u0C8E' && input.LA(1)<='\u0C90')||(input.LA(1)>='\u0C92' && input.LA(1)<='\u0CA8')||(input.LA(1)>='\u0CAA' && input.LA(1)<='\u0CB3')||(input.LA(1)>='\u0CB5' && input.LA(1)<='\u0CB9')||input.LA(1)=='\u0CBD'||input.LA(1)=='\u0CDE'||(input.LA(1)>='\u0CE0' && input.LA(1)<='\u0CE1')||(input.LA(1)>='\u0D05' && in!
 put.LA(1)<='\u0D0C')||(input.LA(1)>='\u0D0E' && input.LA(1)<='\u0D10')||(input.LA(1)>='\u0D12' && input.LA(1)<='\u0D28')||(input.LA(1)>='\u0D2A' && input.LA(1)<='\u0D39')||(input.LA(1)>='\u0D60' && input.LA(1)<='\u0D61')||(input.LA(1)>='\u0D85' && input.LA(1)<='\u0D96')||(input.LA(1)>='\u0D9A' && input.LA(1)<='\u0DB1')||(input.LA(1)>='\u0DB3' && input.LA(1)<='\u0DBB')||input.LA(1)=='\u0DBD'||(input.LA(1)>='\u0DC0' && input.LA(1)<='\u0DC6')||(input.LA(1)>='\u0E01' && input.LA(1)<='\u0E30')||(input.LA(1)>='\u0E32' && input.LA(1)<='\u0E33')||(input.LA(1)>='\u0E3F' && input.LA(1)<='\u0E46')||(input.LA(1)>='\u0E81' && input.LA(1)<='\u0E82')||input.LA(1)=='\u0E84'||(input.LA(1)>='\u0E87' && input.LA(1)<='\u0E88')||input.LA(1)=='\u0E8A'||input.LA(1)=='\u0E8D'||(input.LA(1)>='\u0E94' && input.LA(1)<='\u0E97')||(input.LA(1)>='\u0E99' && input.LA(1)<='\u0E9F')||(input.LA(1)>='\u0EA1' && input.LA(1)<='\u0EA3')||input.LA(1)=='\u0EA5'||input.LA(1)=='\u0EA7'||(input.LA(1)>='\u0EAA' && in!
 put.LA(1)<='\u0EAB')||(input.LA(1)>='\u0EAD' && input.LA(1)<='\u0EB0')
||(input.LA(1)>='\u0EB2' && input.LA(1)<='\u0EB3')||input.LA(1)=='\u0EBD'||(input.LA(1)>='\u0EC0' && input.LA(1)<='\u0EC4')||input.LA(1)=='\u0EC6'||(input.LA(1)>='\u0EDC' && input.LA(1)<='\u0EDD')||input.LA(1)=='\u0F00'||(input.LA(1)>='\u0F40' && input.LA(1)<='\u0F47')||(input.LA(1)>='\u0F49' && input.LA(1)<='\u0F6A')||(input.LA(1)>='\u0F88' && input.LA(1)<='\u0F8B')||(input.LA(1)>='\u1000' && input.LA(1)<='\u1021')||(input.LA(1)>='\u1023' && input.LA(1)<='\u1027')||(input.LA(1)>='\u1029' && input.LA(1)<='\u102A')||(input.LA(1)>='\u1050' && input.LA(1)<='\u1055')||(input.LA(1)>='\u10A0' && input.LA(1)<='\u10C5')||(input.LA(1)>='\u10D0' && input.LA(1)<='\u10F8')||(input.LA(1)>='\u1100' && input.LA(1)<='\u1159')||(input.LA(1)>='\u115F' && input.LA(1)<='\u11A2')||(input.LA(1)>='\u11A8' && input.LA(1)<='\u11F9')||(input.LA(1)>='\u1200' && input.LA(1)<='\u1206')||(input.LA(1)>='\u1208' && input.LA(1)<='\u1246')||input.LA(1)=='\u1248'||(input.LA(1)>='\u124A' && input.LA(1)<='\u124!
 D')||(input.LA(1)>='\u1250' && input.LA(1)<='\u1256')||input.LA(1)=='\u1258'||(input.LA(1)>='\u125A' && input.LA(1)<='\u125D')||(input.LA(1)>='\u1260' && input.LA(1)<='\u1286')||input.LA(1)=='\u1288'||(input.LA(1)>='\u128A' && input.LA(1)<='\u128D')||(input.LA(1)>='\u1290' && input.LA(1)<='\u12AE')||input.LA(1)=='\u12B0'||(input.LA(1)>='\u12B2' && input.LA(1)<='\u12B5')||(input.LA(1)>='\u12B8' && input.LA(1)<='\u12BE')||input.LA(1)=='\u12C0'||(input.LA(1)>='\u12C2' && input.LA(1)<='\u12C5')||(input.LA(1)>='\u12C8' && input.LA(1)<='\u12CE')||(input.LA(1)>='\u12D0' && input.LA(1)<='\u12D6')||(input.LA(1)>='\u12D8' && input.LA(1)<='\u12EE')||(input.LA(1)>='\u12F0' && input.LA(1)<='\u130E')||input.LA(1)=='\u1310'||(input.LA(1)>='\u1312' && input.LA(1)<='\u1315')||(input.LA(1)>='\u1318' && input.LA(1)<='\u131E')||(input.LA(1)>='\u1320' && input.LA(1)<='\u1346')||(input.LA(1)>='\u1348' && input.LA(1)<='\u135A')||(input.LA(1)>='\u13A0' && input.LA(1)<='\u13F4')||(input.LA(1)>='\u1!
 401' && input.LA(1)<='\u166C')||(input.LA(1)>='\u166F' && input.LA(1)<
='\u1676')||(input.LA(1)>='\u1681' && input.LA(1)<='\u169A')||(input.LA(1)>='\u16A0' && input.LA(1)<='\u16EA')||(input.LA(1)>='\u16EE' && input.LA(1)<='\u16F0')||(input.LA(1)>='\u1700' && input.LA(1)<='\u170C')||(input.LA(1)>='\u170E' && input.LA(1)<='\u1711')||(input.LA(1)>='\u1720' && input.LA(1)<='\u1731')||(input.LA(1)>='\u1740' && input.LA(1)<='\u1751')||(input.LA(1)>='\u1760' && input.LA(1)<='\u176C')||(input.LA(1)>='\u176E' && input.LA(1)<='\u1770')||(input.LA(1)>='\u1780' && input.LA(1)<='\u17B3')||input.LA(1)=='\u17D7'||(input.LA(1)>='\u17DB' && input.LA(1)<='\u17DC')||(input.LA(1)>='\u1820' && input.LA(1)<='\u1877')||(input.LA(1)>='\u1880' && input.LA(1)<='\u18A8')||(input.LA(1)>='\u1900' && input.LA(1)<='\u191C')||(input.LA(1)>='\u1950' && input.LA(1)<='\u196D')||(input.LA(1)>='\u1970' && input.LA(1)<='\u1974')||(input.LA(1)>='\u1D00' && input.LA(1)<='\u1D6B')||(input.LA(1)>='\u1E00' && input.LA(1)<='\u1E9B')||(input.LA(1)>='\u1EA0' && input.LA(1)<='\u1EF9')||(inp!
 ut.LA(1)>='\u1F00' && input.LA(1)<='\u1F15')||(input.LA(1)>='\u1F18' && input.LA(1)<='\u1F1D')||(input.LA(1)>='\u1F20' && input.LA(1)<='\u1F45')||(input.LA(1)>='\u1F48' && input.LA(1)<='\u1F4D')||(input.LA(1)>='\u1F50' && input.LA(1)<='\u1F57')||input.LA(1)=='\u1F59'||input.LA(1)=='\u1F5B'||input.LA(1)=='\u1F5D'||(input.LA(1)>='\u1F5F' && input.LA(1)<='\u1F7D')||(input.LA(1)>='\u1F80' && input.LA(1)<='\u1FB4')||(input.LA(1)>='\u1FB6' && input.LA(1)<='\u1FBC')||input.LA(1)=='\u1FBE'||(input.LA(1)>='\u1FC2' && input.LA(1)<='\u1FC4')||(input.LA(1)>='\u1FC6' && input.LA(1)<='\u1FCC')||(input.LA(1)>='\u1FD0' && input.LA(1)<='\u1FD3')||(input.LA(1)>='\u1FD6' && input.LA(1)<='\u1FDB')||(input.LA(1)>='\u1FE0' && input.LA(1)<='\u1FEC')||(input.LA(1)>='\u1FF2' && input.LA(1)<='\u1FF4')||(input.LA(1)>='\u1FF6' && input.LA(1)<='\u1FFC')||(input.LA(1)>='\u203F' && input.LA(1)<='\u2040')||input.LA(1)=='\u2054'||input.LA(1)=='\u2071'||input.LA(1)=='\u207F'||(input.LA(1)>='\u20A0' && input!
 .LA(1)<='\u20B1')||input.LA(1)=='\u2102'||input.LA(1)=='\u2107'||(inpu
t.LA(1)>='\u210A' && input.LA(1)<='\u2113')||input.LA(1)=='\u2115'||(input.LA(1)>='\u2119' && input.LA(1)<='\u211D')||input.LA(1)=='\u2124'||input.LA(1)=='\u2126'||input.LA(1)=='\u2128'||(input.LA(1)>='\u212A' && input.LA(1)<='\u212D')||(input.LA(1)>='\u212F' && input.LA(1)<='\u2131')||(input.LA(1)>='\u2133' && input.LA(1)<='\u2139')||(input.LA(1)>='\u213D' && input.LA(1)<='\u213F')||(input.LA(1)>='\u2145' && input.LA(1)<='\u2149')||(input.LA(1)>='\u2160' && input.LA(1)<='\u2183')||(input.LA(1)>='\u3005' && input.LA(1)<='\u3007')||(input.LA(1)>='\u3021' && input.LA(1)<='\u3029')||(input.LA(1)>='\u3031' && input.LA(1)<='\u3035')||(input.LA(1)>='\u3038' && input.LA(1)<='\u303C')||(input.LA(1)>='\u3041' && input.LA(1)<='\u3096')||(input.LA(1)>='\u309D' && input.LA(1)<='\u309F')||(input.LA(1)>='\u30A1' && input.LA(1)<='\u30FF')||(input.LA(1)>='\u3105' && input.LA(1)<='\u312C')||(input.LA(1)>='\u3131' && input.LA(1)<='\u318E')||(input.LA(1)>='\u31A0' && input.LA(1)<='\u31B7')||(i!
 nput.LA(1)>='\u31F0' && input.LA(1)<='\u31FF')||(input.LA(1)>='\u3400' && input.LA(1)<='\u4DB5')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FA5')||(input.LA(1)>='\uA000' && input.LA(1)<='\uA48C')||(input.LA(1)>='\uAC00' && input.LA(1)<='\uD7A3')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFA2D')||(input.LA(1)>='\uFA30' && input.LA(1)<='\uFA6A')||(input.LA(1)>='\uFB00' && input.LA(1)<='\uFB06')||(input.LA(1)>='\uFB13' && input.LA(1)<='\uFB17')||input.LA(1)=='\uFB1D'||(input.LA(1)>='\uFB1F' && input.LA(1)<='\uFB28')||(input.LA(1)>='\uFB2A' && input.LA(1)<='\uFB36')||(input.LA(1)>='\uFB38' && input.LA(1)<='\uFB3C')||input.LA(1)=='\uFB3E'||(input.LA(1)>='\uFB40' && input.LA(1)<='\uFB41')||(input.LA(1)>='\uFB43' && input.LA(1)<='\uFB44')||(input.LA(1)>='\uFB46' && input.LA(1)<='\uFBB1')||(input.LA(1)>='\uFBD3' && input.LA(1)<='\uFD3D')||(input.LA(1)>='\uFD50' && input.LA(1)<='\uFD8F')||(input.LA(1)>='\uFD92' && input.LA(1)<='\uFDC7')||(input.LA(1)>='\uFDF0' && input.LA(1)<='\uFD!
 FC')||(input.LA(1)>='\uFE33' && input.LA(1)<='\uFE34')||(input.LA(1)>=
'\uFE4D' && input.LA(1)<='\uFE4F')||input.LA(1)=='\uFE69'||(input.LA(1)>='\uFE70' && input.LA(1)<='\uFE74')||(input.LA(1)>='\uFE76' && input.LA(1)<='\uFEFC')||input.LA(1)=='\uFF04'||(input.LA(1)>='\uFF21' && input.LA(1)<='\uFF3A')||input.LA(1)=='\uFF3F'||(input.LA(1)>='\uFF41' && input.LA(1)<='\uFF5A')||(input.LA(1)>='\uFF65' && input.LA(1)<='\uFFBE')||(input.LA(1)>='\uFFC2' && input.LA(1)<='\uFFC7')||(input.LA(1)>='\uFFCA' && input.LA(1)<='\uFFCF')||(input.LA(1)>='\uFFD2' && input.LA(1)<='\uFFD7')||(input.LA(1)>='\uFFDA' && input.LA(1)<='\uFFDC')||(input.LA(1)>='\uFFE0' && input.LA(1)<='\uFFE1')||(input.LA(1)>='\uFFE5' && input.LA(1)<='\uFFE6') ) {
+                input.consume();
+            state.failed=false;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                MismatchedSetException mse = new MismatchedSetException(null,input);
+                recover(mse);
+                throw mse;}
+
+
+            }
+
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "IdentifierStart"
+
+    // $ANTLR start "IdentifierPart"
+    public final void mIdentifierPart() throws RecognitionException {
+        try {
+            // src/main/resources/org/drools/lang/DRL.g:2198:5: ( '\\u0000' .. '\\u0008' | '\\u000e' .. '\\u001b' | '\\u0024' | '\\u0030' .. '\\u0039' | '\\u0041' .. '\\u005a' | '\\u005f' | '\\u0061' .. '\\u007a' | '\\u007f' .. '\\u009f' | '\\u00a2' .. '\\u00a5' | '\\u00aa' | '\\u00ad' | '\\u00b5' | '\\u00ba' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u0236' | '\\u0250' .. '\\u02c1' | '\\u02c6' .. '\\u02d1' | '\\u02e0' .. '\\u02e4' | '\\u02ee' | '\\u0300' .. '\\u0357' | '\\u035d' .. '\\u036f' | '\\u037a' | '\\u0386' | '\\u0388' .. '\\u038a' | '\\u038c' | '\\u038e' .. '\\u03a1' | '\\u03a3' .. '\\u03ce' | '\\u03d0' .. '\\u03f5' | '\\u03f7' .. '\\u03fb' | '\\u0400' .. '\\u0481' | '\\u0483' .. '\\u0486' | '\\u048a' .. '\\u04ce' | '\\u04d0' .. '\\u04f5' | '\\u04f8' .. '\\u04f9' | '\\u0500' .. '\\u050f' | '\\u0531' .. '\\u0556' | '\\u0559' | '\\u0561' .. '\\u0587' | '\\u0591' .. '\\u05a1' | '\\u05a3' .. '\\u05b9' | '\\u05bb' .. '\\u05bd' | '\\u05bf' | '\\!
 u05c1' .. '\\u05c2' | '\\u05c4' | '\\u05d0' .. '\\u05ea' | '\\u05f0' .. '\\u05f2' | '\\u0600' .. '\\u0603' | '\\u0610' .. '\\u0615' | '\\u0621' .. '\\u063a' | '\\u0640' .. '\\u0658' | '\\u0660' .. '\\u0669' | '\\u066e' .. '\\u06d3' | '\\u06d5' .. '\\u06dd' | '\\u06df' .. '\\u06e8' | '\\u06ea' .. '\\u06fc' | '\\u06ff' | '\\u070f' .. '\\u074a' | '\\u074d' .. '\\u074f' | '\\u0780' .. '\\u07b1' | '\\u0901' .. '\\u0939' | '\\u093c' .. '\\u094d' | '\\u0950' .. '\\u0954' | '\\u0958' .. '\\u0963' | '\\u0966' .. '\\u096f' | '\\u0981' .. '\\u0983' | '\\u0985' .. '\\u098c' | '\\u098f' .. '\\u0990' | '\\u0993' .. '\\u09a8' | '\\u09aa' .. '\\u09b0' | '\\u09b2' | '\\u09b6' .. '\\u09b9' | '\\u09bc' .. '\\u09c4' | '\\u09c7' .. '\\u09c8' | '\\u09cb' .. '\\u09cd' | '\\u09d7' | '\\u09dc' .. '\\u09dd' | '\\u09df' .. '\\u09e3' | '\\u09e6' .. '\\u09f3' | '\\u0a01' .. '\\u0a03' | '\\u0a05' .. '\\u0a0a' | '\\u0a0f' .. '\\u0a10' | '\\u0a13' .. '\\u0a28' | '\\u0a2a' .. '\\u0a30' | '\\u0a32' .. '\\u0!
 a33' | '\\u0a35' .. '\\u0a36' | '\\u0a38' .. '\\u0a39' | '\\u0a3c' | '
\\u0a3e' .. '\\u0a42' | '\\u0a47' .. '\\u0a48' | '\\u0a4b' .. '\\u0a4d' | '\\u0a59' .. '\\u0a5c' | '\\u0a5e' | '\\u0a66' .. '\\u0a74' | '\\u0a81' .. '\\u0a83' | '\\u0a85' .. '\\u0a8d' | '\\u0a8f' .. '\\u0a91' | '\\u0a93' .. '\\u0aa8' | '\\u0aaa' .. '\\u0ab0' | '\\u0ab2' .. '\\u0ab3' | '\\u0ab5' .. '\\u0ab9' | '\\u0abc' .. '\\u0ac5' | '\\u0ac7' .. '\\u0ac9' | '\\u0acb' .. '\\u0acd' | '\\u0ad0' | '\\u0ae0' .. '\\u0ae3' | '\\u0ae6' .. '\\u0aef' | '\\u0af1' | '\\u0b01' .. '\\u0b03' | '\\u0b05' .. '\\u0b0c' | '\\u0b0f' .. '\\u0b10' | '\\u0b13' .. '\\u0b28' | '\\u0b2a' .. '\\u0b30' | '\\u0b32' .. '\\u0b33' | '\\u0b35' .. '\\u0b39' | '\\u0b3c' .. '\\u0b43' | '\\u0b47' .. '\\u0b48' | '\\u0b4b' .. '\\u0b4d' | '\\u0b56' .. '\\u0b57' | '\\u0b5c' .. '\\u0b5d' | '\\u0b5f' .. '\\u0b61' | '\\u0b66' .. '\\u0b6f' | '\\u0b71' | '\\u0b82' .. '\\u0b83' | '\\u0b85' .. '\\u0b8a' | '\\u0b8e' .. '\\u0b90' | '\\u0b92' .. '\\u0b95' | '\\u0b99' .. '\\u0b9a' | '\\u0b9c' | '\\u0b9e' .. '\\u0b9f' | '\\u0!
 ba3' .. '\\u0ba4' | '\\u0ba8' .. '\\u0baa' | '\\u0bae' .. '\\u0bb5' | '\\u0bb7' .. '\\u0bb9' | '\\u0bbe' .. '\\u0bc2' | '\\u0bc6' .. '\\u0bc8' | '\\u0bca' .. '\\u0bcd' | '\\u0bd7' | '\\u0be7' .. '\\u0bef' | '\\u0bf9' | '\\u0c01' .. '\\u0c03' | '\\u0c05' .. '\\u0c0c' | '\\u0c0e' .. '\\u0c10' | '\\u0c12' .. '\\u0c28' | '\\u0c2a' .. '\\u0c33' | '\\u0c35' .. '\\u0c39' | '\\u0c3e' .. '\\u0c44' | '\\u0c46' .. '\\u0c48' | '\\u0c4a' .. '\\u0c4d' | '\\u0c55' .. '\\u0c56' | '\\u0c60' .. '\\u0c61' | '\\u0c66' .. '\\u0c6f' | '\\u0c82' .. '\\u0c83' | '\\u0c85' .. '\\u0c8c' | '\\u0c8e' .. '\\u0c90' | '\\u0c92' .. '\\u0ca8' | '\\u0caa' .. '\\u0cb3' | '\\u0cb5' .. '\\u0cb9' | '\\u0cbc' .. '\\u0cc4' | '\\u0cc6' .. '\\u0cc8' | '\\u0cca' .. '\\u0ccd' | '\\u0cd5' .. '\\u0cd6' | '\\u0cde' | '\\u0ce0' .. '\\u0ce1' | '\\u0ce6' .. '\\u0cef' | '\\u0d02' .. '\\u0d03' | '\\u0d05' .. '\\u0d0c' | '\\u0d0e' .. '\\u0d10' | '\\u0d12' .. '\\u0d28' | '\\u0d2a' .. '\\u0d39' | '\\u0d3e' .. '\\u0d43' | '\\u0d4!
 6' .. '\\u0d48' | '\\u0d4a' .. '\\u0d4d' | '\\u0d57' | '\\u0d60' .. '\
\u0d61' | '\\u0d66' .. '\\u0d6f' | '\\u0d82' .. '\\u0d83' | '\\u0d85' .. '\\u0d96' | '\\u0d9a' .. '\\u0db1' | '\\u0db3' .. '\\u0dbb' | '\\u0dbd' | '\\u0dc0' .. '\\u0dc6' | '\\u0dca' | '\\u0dcf' .. '\\u0dd4' | '\\u0dd6' | '\\u0dd8' .. '\\u0ddf' | '\\u0df2' .. '\\u0df3' | '\\u0e01' .. '\\u0e3a' | '\\u0e3f' .. '\\u0e4e' | '\\u0e50' .. '\\u0e59' | '\\u0e81' .. '\\u0e82' | '\\u0e84' | '\\u0e87' .. '\\u0e88' | '\\u0e8a' | '\\u0e8d' | '\\u0e94' .. '\\u0e97' | '\\u0e99' .. '\\u0e9f' | '\\u0ea1' .. '\\u0ea3' | '\\u0ea5' | '\\u0ea7' | '\\u0eaa' .. '\\u0eab' | '\\u0ead' .. '\\u0eb9' | '\\u0ebb' .. '\\u0ebd' | '\\u0ec0' .. '\\u0ec4' | '\\u0ec6' | '\\u0ec8' .. '\\u0ecd' | '\\u0ed0' .. '\\u0ed9' | '\\u0edc' .. '\\u0edd' | '\\u0f00' | '\\u0f18' .. '\\u0f19' | '\\u0f20' .. '\\u0f29' | '\\u0f35' | '\\u0f37' | '\\u0f39' | '\\u0f3e' .. '\\u0f47' | '\\u0f49' .. '\\u0f6a' | '\\u0f71' .. '\\u0f84' | '\\u0f86' .. '\\u0f8b' | '\\u0f90' .. '\\u0f97' | '\\u0f99' .. '\\u0fbc' | '\\u0fc6' | '\\u1000' .!
 . '\\u1021' | '\\u1023' .. '\\u1027' | '\\u1029' .. '\\u102a' | '\\u102c' .. '\\u1032' | '\\u1036' .. '\\u1039' | '\\u1040' .. '\\u1049' | '\\u1050' .. '\\u1059' | '\\u10a0' .. '\\u10c5' | '\\u10d0' .. '\\u10f8' | '\\u1100' .. '\\u1159' | '\\u115f' .. '\\u11a2' | '\\u11a8' .. '\\u11f9' | '\\u1200' .. '\\u1206' | '\\u1208' .. '\\u1246' | '\\u1248' | '\\u124a' .. '\\u124d' | '\\u1250' .. '\\u1256' | '\\u1258' | '\\u125a' .. '\\u125d' | '\\u1260' .. '\\u1286' | '\\u1288' | '\\u128a' .. '\\u128d' | '\\u1290' .. '\\u12ae' | '\\u12b0' | '\\u12b2' .. '\\u12b5' | '\\u12b8' .. '\\u12be' | '\\u12c0' | '\\u12c2' .. '\\u12c5' | '\\u12c8' .. '\\u12ce' | '\\u12d0' .. '\\u12d6' | '\\u12d8' .. '\\u12ee' | '\\u12f0' .. '\\u130e' | '\\u1310' | '\\u1312' .. '\\u1315' | '\\u1318' .. '\\u131e' | '\\u1320' .. '\\u1346' | '\\u1348' .. '\\u135a' | '\\u1369' .. '\\u1371' | '\\u13a0' .. '\\u13f4' | '\\u1401' .. '\\u166c' | '\\u166f' .. '\\u1676' | '\\u1681' .. '\\u169a' | '\\u16a0' .. '\\u16ea' | '\!
 \u16ee' .. '\\u16f0' | '\\u1700' .. '\\u170c' | '\\u170e' .. '\\u1714'
 | '\\u1720' .. '\\u1734' | '\\u1740' .. '\\u1753' | '\\u1760' .. '\\u176c' | '\\u176e' .. '\\u1770' | '\\u1772' .. '\\u1773' | '\\u1780' .. '\\u17d3' | '\\u17d7' | '\\u17db' .. '\\u17dd' | '\\u17e0' .. '\\u17e9' | '\\u180b' .. '\\u180d' | '\\u1810' .. '\\u1819' | '\\u1820' .. '\\u1877' | '\\u1880' .. '\\u18a9' | '\\u1900' .. '\\u191c' | '\\u1920' .. '\\u192b' | '\\u1930' .. '\\u193b' | '\\u1946' .. '\\u196d' | '\\u1970' .. '\\u1974' | '\\u1d00' .. '\\u1d6b' | '\\u1e00' .. '\\u1e9b' | '\\u1ea0' .. '\\u1ef9' | '\\u1f00' .. '\\u1f15' | '\\u1f18' .. '\\u1f1d' | '\\u1f20' .. '\\u1f45' | '\\u1f48' .. '\\u1f4d' | '\\u1f50' .. '\\u1f57' | '\\u1f59' | '\\u1f5b' | '\\u1f5d' | '\\u1f5f' .. '\\u1f7d' | '\\u1f80' .. '\\u1fb4' | '\\u1fb6' .. '\\u1fbc' | '\\u1fbe' | '\\u1fc2' .. '\\u1fc4' | '\\u1fc6' .. '\\u1fcc' | '\\u1fd0' .. '\\u1fd3' | '\\u1fd6' .. '\\u1fdb' | '\\u1fe0' .. '\\u1fec' | '\\u1ff2' .. '\\u1ff4' | '\\u1ff6' .. '\\u1ffc' | '\\u200c' .. '\\u200f' | '\\u202a' .. '\\u202e' | '!
 \\u203f' .. '\\u2040' | '\\u2054' | '\\u2060' .. '\\u2063' | '\\u206a' .. '\\u206f' | '\\u2071' | '\\u207f' | '\\u20a0' .. '\\u20b1' | '\\u20d0' .. '\\u20dc' | '\\u20e1' | '\\u20e5' .. '\\u20ea' | '\\u2102' | '\\u2107' | '\\u210a' .. '\\u2113' | '\\u2115' | '\\u2119' .. '\\u211d' | '\\u2124' | '\\u2126' | '\\u2128' | '\\u212a' .. '\\u212d' | '\\u212f' .. '\\u2131' | '\\u2133' .. '\\u2139' | '\\u213d' .. '\\u213f' | '\\u2145' .. '\\u2149' | '\\u2160' .. '\\u2183' | '\\u3005' .. '\\u3007' | '\\u3021' .. '\\u302f' | '\\u3031' .. '\\u3035' | '\\u3038' .. '\\u303c' | '\\u3041' .. '\\u3096' | '\\u3099' .. '\\u309a' | '\\u309d' .. '\\u309f' | '\\u30a1' .. '\\u30ff' | '\\u3105' .. '\\u312c' | '\\u3131' .. '\\u318e' | '\\u31a0' .. '\\u31b7' | '\\u31f0' .. '\\u31ff' | '\\u3400' .. '\\u4db5' | '\\u4e00' .. '\\u9fa5' | '\\ua000' .. '\\ua48c' | '\\uac00' .. '\\ud7a3' | '\\uf900' .. '\\ufa2d' | '\\ufa30' .. '\\ufa6a' | '\\ufb00' .. '\\ufb06' | '\\ufb13' .. '\\ufb17' | '\\ufb1d' .. '\\ufb!
 28' | '\\ufb2a' .. '\\ufb36' | '\\ufb38' .. '\\ufb3c' | '\\ufb3e' | '\
\ufb40' .. '\\ufb41' | '\\ufb43' .. '\\ufb44' | '\\ufb46' .. '\\ufbb1' | '\\ufbd3' .. '\\ufd3d' | '\\ufd50' .. '\\ufd8f' | '\\ufd92' .. '\\ufdc7' | '\\ufdf0' .. '\\ufdfc' | '\\ufe00' .. '\\ufe0f' | '\\ufe20' .. '\\ufe23' | '\\ufe33' .. '\\ufe34' | '\\ufe4d' .. '\\ufe4f' | '\\ufe69' | '\\ufe70' .. '\\ufe74' | '\\ufe76' .. '\\ufefc' | '\\ufeff' | '\\uff04' | '\\uff10' .. '\\uff19' | '\\uff21' .. '\\uff3a' | '\\uff3f' | '\\uff41' .. '\\uff5a' | '\\uff65' .. '\\uffbe' | '\\uffc2' .. '\\uffc7' | '\\uffca' .. '\\uffcf' | '\\uffd2' .. '\\uffd7' | '\\uffda' .. '\\uffdc' | '\\uffe0' .. '\\uffe1' | '\\uffe5' .. '\\uffe6' | '\\ufff9' .. '\\ufffb' )
+            // src/main/resources/org/drools/lang/DRL.g:
+            {
+            if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\u000E' && input.LA(1)<='\u001B')||input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u007F' && input.LA(1)<='\u009F')||(input.LA(1)>='\u00A2' && input.LA(1)<='\u00A5')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00AD'||input.LA(1)=='\u00B5'||input.LA(1)=='\u00BA'||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u0236')||(input.LA(1)>='\u0250' && input.LA(1)<='\u02C1')||(input.LA(1)>='\u02C6' && input.LA(1)<='\u02D1')||(input.LA(1)>='\u02E0' && input.LA(1)<='\u02E4')||input.LA(1)=='\u02EE'||(input.LA(1)>='\u0300' && input.LA(1)<='\u0357')||(input.LA(1)>='\u035D' && input.LA(1)<='\u036F')||input.LA(1)=='\u037A'||input.LA(1)=='\u0386'||(input.LA(1)>='\u0388' && input.LA(1)<='\u038A')||input.LA!
 (1)=='\u038C'||(input.LA(1)>='\u038E' && input.LA(1)<='\u03A1')||(input.LA(1)>='\u03A3' && input.LA(1)<='\u03CE')||(input.LA(1)>='\u03D0' && input.LA(1)<='\u03F5')||(input.LA(1)>='\u03F7' && input.LA(1)<='\u03FB')||(input.LA(1)>='\u0400' && input.LA(1)<='\u0481')||(input.LA(1)>='\u0483' && input.LA(1)<='\u0486')||(input.LA(1)>='\u048A' && input.LA(1)<='\u04CE')||(input.LA(1)>='\u04D0' && input.LA(1)<='\u04F5')||(input.LA(1)>='\u04F8' && input.LA(1)<='\u04F9')||(input.LA(1)>='\u0500' && input.LA(1)<='\u050F')||(input.LA(1)>='\u0531' && input.LA(1)<='\u0556')||input.LA(1)=='\u0559'||(input.LA(1)>='\u0561' && input.LA(1)<='\u0587')||(input.LA(1)>='\u0591' && input.LA(1)<='\u05A1')||(input.LA(1)>='\u05A3' && input.LA(1)<='\u05B9')||(input.LA(1)>='\u05BB' && input.LA(1)<='\u05BD')||input.LA(1)=='\u05BF'||(input.LA(1)>='\u05C1' && input.LA(1)<='\u05C2')||input.LA(1)=='\u05C4'||(input.LA(1)>='\u05D0' && input.LA(1)<='\u05EA')||(input.LA(1)>='\u05F0' && input.LA(1)<='\u05F2')||(inp!
 ut.LA(1)>='\u0600' && input.LA(1)<='\u0603')||(input.LA(1)>='\u0610' &
& input.LA(1)<='\u0615')||(input.LA(1)>='\u0621' && input.LA(1)<='\u063A')||(input.LA(1)>='\u0640' && input.LA(1)<='\u0658')||(input.LA(1)>='\u0660' && input.LA(1)<='\u0669')||(input.LA(1)>='\u066E' && input.LA(1)<='\u06D3')||(input.LA(1)>='\u06D5' && input.LA(1)<='\u06DD')||(input.LA(1)>='\u06DF' && input.LA(1)<='\u06E8')||(input.LA(1)>='\u06EA' && input.LA(1)<='\u06FC')||input.LA(1)=='\u06FF'||(input.LA(1)>='\u070F' && input.LA(1)<='\u074A')||(input.LA(1)>='\u074D' && input.LA(1)<='\u074F')||(input.LA(1)>='\u0780' && input.LA(1)<='\u07B1')||(input.LA(1)>='\u0901' && input.LA(1)<='\u0939')||(input.LA(1)>='\u093C' && input.LA(1)<='\u094D')||(input.LA(1)>='\u0950' && input.LA(1)<='\u0954')||(input.LA(1)>='\u0958' && input.LA(1)<='\u0963')||(input.LA(1)>='\u0966' && input.LA(1)<='\u096F')||(input.LA(1)>='\u0981' && input.LA(1)<='\u0983')||(input.LA(1)>='\u0985' && input.LA(1)<='\u098C')||(input.LA(1)>='\u098F' && input.LA(1)<='\u0990')||(input.LA(1)>='\u0993' && input.LA(1)<='!
 \u09A8')||(input.LA(1)>='\u09AA' && input.LA(1)<='\u09B0')||input.LA(1)=='\u09B2'||(input.LA(1)>='\u09B6' && input.LA(1)<='\u09B9')||(input.LA(1)>='\u09BC' && input.LA(1)<='\u09C4')||(input.LA(1)>='\u09C7' && input.LA(1)<='\u09C8')||(input.LA(1)>='\u09CB' && input.LA(1)<='\u09CD')||input.LA(1)=='\u09D7'||(input.LA(1)>='\u09DC' && input.LA(1)<='\u09DD')||(input.LA(1)>='\u09DF' && input.LA(1)<='\u09E3')||(input.LA(1)>='\u09E6' && input.LA(1)<='\u09F3')||(input.LA(1)>='\u0A01' && input.LA(1)<='\u0A03')||(input.LA(1)>='\u0A05' && input.LA(1)<='\u0A0A')||(input.LA(1)>='\u0A0F' && input.LA(1)<='\u0A10')||(input.LA(1)>='\u0A13' && input.LA(1)<='\u0A28')||(input.LA(1)>='\u0A2A' && input.LA(1)<='\u0A30')||(input.LA(1)>='\u0A32' && input.LA(1)<='\u0A33')||(input.LA(1)>='\u0A35' && input.LA(1)<='\u0A36')||(input.LA(1)>='\u0A38' && input.LA(1)<='\u0A39')||input.LA(1)=='\u0A3C'||(input.LA(1)>='\u0A3E' && input.LA(1)<='\u0A42')||(input.LA(1)>='\u0A47' && input.LA(1)<='\u0A48')||(input.LA!
 (1)>='\u0A4B' && input.LA(1)<='\u0A4D')||(input.LA(1)>='\u0A59' && inp
ut.LA(1)<='\u0A5C')||input.LA(1)=='\u0A5E'||(input.LA(1)>='\u0A66' && input.LA(1)<='\u0A74')||(input.LA(1)>='\u0A81' && input.LA(1)<='\u0A83')||(input.LA(1)>='\u0A85' && input.LA(1)<='\u0A8D')||(input.LA(1)>='\u0A8F' && input.LA(1)<='\u0A91')||(input.LA(1)>='\u0A93' && input.LA(1)<='\u0AA8')||(input.LA(1)>='\u0AAA' && input.LA(1)<='\u0AB0')||(input.LA(1)>='\u0AB2' && input.LA(1)<='\u0AB3')||(input.LA(1)>='\u0AB5' && input.LA(1)<='\u0AB9')||(input.LA(1)>='\u0ABC' && input.LA(1)<='\u0AC5')||(input.LA(1)>='\u0AC7' && input.LA(1)<='\u0AC9')||(input.LA(1)>='\u0ACB' && input.LA(1)<='\u0ACD')||input.LA(1)=='\u0AD0'||(input.LA(1)>='\u0AE0' && input.LA(1)<='\u0AE3')||(input.LA(1)>='\u0AE6' && input.LA(1)<='\u0AEF')||input.LA(1)=='\u0AF1'||(input.LA(1)>='\u0B01' && input.LA(1)<='\u0B03')||(input.LA(1)>='\u0B05' && input.LA(1)<='\u0B0C')||(input.LA(1)>='\u0B0F' && input.LA(1)<='\u0B10')||(input.LA(1)>='\u0B13' && input.LA(1)<='\u0B28')||(input.LA(1)>='\u0B2A' && input.LA(1)<='\u0B30')|!
 |(input.LA(1)>='\u0B32' && input.LA(1)<='\u0B33')||(input.LA(1)>='\u0B35' && input.LA(1)<='\u0B39')||(input.LA(1)>='\u0B3C' && input.LA(1)<='\u0B43')||(input.LA(1)>='\u0B47' && input.LA(1)<='\u0B48')||(input.LA(1)>='\u0B4B' && input.LA(1)<='\u0B4D')||(input.LA(1)>='\u0B56' && input.LA(1)<='\u0B57')||(input.LA(1)>='\u0B5C' && input.LA(1)<='\u0B5D')||(input.LA(1)>='\u0B5F' && input.LA(1)<='\u0B61')||(input.LA(1)>='\u0B66' && input.LA(1)<='\u0B6F')||input.LA(1)=='\u0B71'||(input.LA(1)>='\u0B82' && input.LA(1)<='\u0B83')||(input.LA(1)>='\u0B85' && input.LA(1)<='\u0B8A')||(input.LA(1)>='\u0B8E' && input.LA(1)<='\u0B90')||(input.LA(1)>='\u0B92' && input.LA(1)<='\u0B95')||(input.LA(1)>='\u0B99' && input.LA(1)<='\u0B9A')||input.LA(1)=='\u0B9C'||(input.LA(1)>='\u0B9E' && input.LA(1)<='\u0B9F')||(input.LA(1)>='\u0BA3' && input.LA(1)<='\u0BA4')||(input.LA(1)>='\u0BA8' && input.LA(1)<='\u0BAA')||(input.LA(1)>='\u0BAE' && input.LA(1)<='\u0BB5')||(input.LA(1)>='\u0BB7' && input.LA(1)<='\!
 u0BB9')||(input.LA(1)>='\u0BBE' && input.LA(1)<='\u0BC2')||(input.LA(1
)>='\u0BC6' && input.LA(1)<='\u0BC8')||(input.LA(1)>='\u0BCA' && input.LA(1)<='\u0BCD')||input.LA(1)=='\u0BD7'||(input.LA(1)>='\u0BE7' && input.LA(1)<='\u0BEF')||input.LA(1)=='\u0BF9'||(input.LA(1)>='\u0C01' && input.LA(1)<='\u0C03')||(input.LA(1)>='\u0C05' && input.LA(1)<='\u0C0C')||(input.LA(1)>='\u0C0E' && input.LA(1)<='\u0C10')||(input.LA(1)>='\u0C12' && input.LA(1)<='\u0C28')||(input.LA(1)>='\u0C2A' && input.LA(1)<='\u0C33')||(input.LA(1)>='\u0C35' && input.LA(1)<='\u0C39')||(input.LA(1)>='\u0C3E' && input.LA(1)<='\u0C44')||(input.LA(1)>='\u0C46' && input.LA(1)<='\u0C48')||(input.LA(1)>='\u0C4A' && input.LA(1)<='\u0C4D')||(input.LA(1)>='\u0C55' && input.LA(1)<='\u0C56')||(input.LA(1)>='\u0C60' && input.LA(1)<='\u0C61')||(input.LA(1)>='\u0C66' && input.LA(1)<='\u0C6F')||(input.LA(1)>='\u0C82' && input.LA(1)<='\u0C83')||(input.LA(1)>='\u0C85' && input.LA(1)<='\u0C8C')||(input.LA(1)>='\u0C8E' && input.LA(1)<='\u0C90')||(input.LA(1)>='\u0C92' && input.LA(1)<='\u0CA8')||(inp!
 ut.LA(1)>='\u0CAA' && input.LA(1)<='\u0CB3')||(input.LA(1)>='\u0CB5' && input.LA(1)<='\u0CB9')||(input.LA(1)>='\u0CBC' && input.LA(1)<='\u0CC4')||(input.LA(1)>='\u0CC6' && input.LA(1)<='\u0CC8')||(input.LA(1)>='\u0CCA' && input.LA(1)<='\u0CCD')||(input.LA(1)>='\u0CD5' && input.LA(1)<='\u0CD6')||input.LA(1)=='\u0CDE'||(input.LA(1)>='\u0CE0' && input.LA(1)<='\u0CE1')||(input.LA(1)>='\u0CE6' && input.LA(1)<='\u0CEF')||(input.LA(1)>='\u0D02' && input.LA(1)<='\u0D03')||(input.LA(1)>='\u0D05' && input.LA(1)<='\u0D0C')||(input.LA(1)>='\u0D0E' && input.LA(1)<='\u0D10')||(input.LA(1)>='\u0D12' && input.LA(1)<='\u0D28')||(input.LA(1)>='\u0D2A' && input.LA(1)<='\u0D39')||(input.LA(1)>='\u0D3E' && input.LA(1)<='\u0D43')||(input.LA(1)>='\u0D46' && input.LA(1)<='\u0D48')||(input.LA(1)>='\u0D4A' && input.LA(1)<='\u0D4D')||input.LA(1)=='\u0D57'||(input.LA(1)>='\u0D60' && input.LA(1)<='\u0D61')||(input.LA(1)>='\u0D66' && input.LA(1)<='\u0D6F')||(input.LA(1)>='\u0D82' && input.LA(1)<='\u0D83!
 ')||(input.LA(1)>='\u0D85' && input.LA(1)<='\u0D96')||(input.LA(1)>='\
u0D9A' && input.LA(1)<='\u0DB1')||(input.LA(1)>='\u0DB3' && input.LA(1)<='\u0DBB')||input.LA(1)=='\u0DBD'||(input.LA(1)>='\u0DC0' && input.LA(1)<='\u0DC6')||input.LA(1)=='\u0DCA'||(input.LA(1)>='\u0DCF' && input.LA(1)<='\u0DD4')||input.LA(1)=='\u0DD6'||(input.LA(1)>='\u0DD8' && input.LA(1)<='\u0DDF')||(input.LA(1)>='\u0DF2' && input.LA(1)<='\u0DF3')||(input.LA(1)>='\u0E01' && input.LA(1)<='\u0E3A')||(input.LA(1)>='\u0E3F' && input.LA(1)<='\u0E4E')||(input.LA(1)>='\u0E50' && input.LA(1)<='\u0E59')||(input.LA(1)>='\u0E81' && input.LA(1)<='\u0E82')||input.LA(1)=='\u0E84'||(input.LA(1)>='\u0E87' && input.LA(1)<='\u0E88')||input.LA(1)=='\u0E8A'||input.LA(1)=='\u0E8D'||(input.LA(1)>='\u0E94' && input.LA(1)<='\u0E97')||(input.LA(1)>='\u0E99' && input.LA(1)<='\u0E9F')||(input.LA(1)>='\u0EA1' && input.LA(1)<='\u0EA3')||input.LA(1)=='\u0EA5'||input.LA(1)=='\u0EA7'||(input.LA(1)>='\u0EAA' && input.LA(1)<='\u0EAB')||(input.LA(1)>='\u0EAD' && input.LA(1)<='\u0EB9')||(input.LA(1)>='\u0EBB!
 ' && input.LA(1)<='\u0EBD')||(input.LA(1)>='\u0EC0' && input.LA(1)<='\u0EC4')||input.LA(1)=='\u0EC6'||(input.LA(1)>='\u0EC8' && input.LA(1)<='\u0ECD')||(input.LA(1)>='\u0ED0' && input.LA(1)<='\u0ED9')||(input.LA(1)>='\u0EDC' && input.LA(1)<='\u0EDD')||input.LA(1)=='\u0F00'||(input.LA(1)>='\u0F18' && input.LA(1)<='\u0F19')||(input.LA(1)>='\u0F20' && input.LA(1)<='\u0F29')||input.LA(1)=='\u0F35'||input.LA(1)=='\u0F37'||input.LA(1)=='\u0F39'||(input.LA(1)>='\u0F3E' && input.LA(1)<='\u0F47')||(input.LA(1)>='\u0F49' && input.LA(1)<='\u0F6A')||(input.LA(1)>='\u0F71' && input.LA(1)<='\u0F84')||(input.LA(1)>='\u0F86' && input.LA(1)<='\u0F8B')||(input.LA(1)>='\u0F90' && input.LA(1)<='\u0F97')||(input.LA(1)>='\u0F99' && input.LA(1)<='\u0FBC')||input.LA(1)=='\u0FC6'||(input.LA(1)>='\u1000' && input.LA(1)<='\u1021')||(input.LA(1)>='\u1023' && input.LA(1)<='\u1027')||(input.LA(1)>='\u1029' && input.LA(1)<='\u102A')||(input.LA(1)>='\u102C' && input.LA(1)<='\u1032')||(input.LA(1)>='\u1036!
 ' && input.LA(1)<='\u1039')||(input.LA(1)>='\u1040' && input.LA(1)<='\
u1049')||(input.LA(1)>='\u1050' && input.LA(1)<='\u1059')||(input.LA(1)>='\u10A0' && input.LA(1)<='\u10C5')||(input.LA(1)>='\u10D0' && input.LA(1)<='\u10F8')||(input.LA(1)>='\u1100' && input.LA(1)<='\u1159')||(input.LA(1)>='\u115F' && input.LA(1)<='\u11A2')||(input.LA(1)>='\u11A8' && input.LA(1)<='\u11F9')||(input.LA(1)>='\u1200' && input.LA(1)<='\u1206')||(input.LA(1)>='\u1208' && input.LA(1)<='\u1246')||input.LA(1)=='\u1248'||(input.LA(1)>='\u124A' && input.LA(1)<='\u124D')||(input.LA(1)>='\u1250' && input.LA(1)<='\u1256')||input.LA(1)=='\u1258'||(input.LA(1)>='\u125A' && input.LA(1)<='\u125D')||(input.LA(1)>='\u1260' && input.LA(1)<='\u1286')||input.LA(1)=='\u1288'||(input.LA(1)>='\u128A' && input.LA(1)<='\u128D')||(input.LA(1)>='\u1290' && input.LA(1)<='\u12AE')||input.LA(1)=='\u12B0'||(input.LA(1)>='\u12B2' && input.LA(1)<='\u12B5')||(input.LA(1)>='\u12B8' && input.LA(1)<='\u12BE')||input.LA(1)=='\u12C0'||(input.LA(1)>='\u12C2' && input.LA(1)<='\u12C5')||(input.LA(1)>='!
 \u12C8' && input.LA(1)<='\u12CE')||(input.LA(1)>='\u12D0' && input.LA(1)<='\u12D6')||(input.LA(1)>='\u12D8' && input.LA(1)<='\u12EE')||(input.LA(1)>='\u12F0' && input.LA(1)<='\u130E')||input.LA(1)=='\u1310'||(input.LA(1)>='\u1312' && input.LA(1)<='\u1315')||(input.LA(1)>='\u1318' && input.LA(1)<='\u131E')||(input.LA(1)>='\u1320' && input.LA(1)<='\u1346')||(input.LA(1)>='\u1348' && input.LA(1)<='\u135A')||(input.LA(1)>='\u1369' && input.LA(1)<='\u1371')||(input.LA(1)>='\u13A0' && input.LA(1)<='\u13F4')||(input.LA(1)>='\u1401' && input.LA(1)<='\u166C')||(input.LA(1)>='\u166F' && input.LA(1)<='\u1676')||(input.LA(1)>='\u1681' && input.LA(1)<='\u169A')||(input.LA(1)>='\u16A0' && input.LA(1)<='\u16EA')||(input.LA(1)>='\u16EE' && input.LA(1)<='\u16F0')||(input.LA(1)>='\u1700' && input.LA(1)<='\u170C')||(input.LA(1)>='\u170E' && input.LA(1)<='\u1714')||(input.LA(1)>='\u1720' && input.LA(1)<='\u1734')||(input.LA(1)>='\u1740' && input.LA(1)<='\u1753')||(input.LA(1)>='\u1760' && inpu!
 t.LA(1)<='\u176C')||(input.LA(1)>='\u176E' && input.LA(1)<='\u1770')||
(input.LA(1)>='\u1772' && input.LA(1)<='\u1773')||(input.LA(1)>='\u1780' && input.LA(1)<='\u17D3')||input.LA(1)=='\u17D7'||(input.LA(1)>='\u17DB' && input.LA(1)<='\u17DD')||(input.LA(1)>='\u17E0' && input.LA(1)<='\u17E9')||(input.LA(1)>='\u180B' && input.LA(1)<='\u180D')||(input.LA(1)>='\u1810' && input.LA(1)<='\u1819')||(input.LA(1)>='\u1820' && input.LA(1)<='\u1877')||(input.LA(1)>='\u1880' && input.LA(1)<='\u18A9')||(input.LA(1)>='\u1900' && input.LA(1)<='\u191C')||(input.LA(1)>='\u1920' && input.LA(1)<='\u192B')||(input.LA(1)>='\u1930' && input.LA(1)<='\u193B')||(input.LA(1)>='\u1946' && input.LA(1)<='\u196D')||(input.LA(1)>='\u1970' && input.LA(1)<='\u1974')||(input.LA(1)>='\u1D00' && input.LA(1)<='\u1D6B')||(input.LA(1)>='\u1E00' && input.LA(1)<='\u1E9B')||(input.LA(1)>='\u1EA0' && input.LA(1)<='\u1EF9')||(input.LA(1)>='\u1F00' && input.LA(1)<='\u1F15')||(input.LA(1)>='\u1F18' && input.LA(1)<='\u1F1D')||(input.LA(1)>='\u1F20' && input.LA(1)<='\u1F45')||(input.LA(1)>='\!
 u1F48' && input.LA(1)<='\u1F4D')||(input.LA(1)>='\u1F50' && input.LA(1)<='\u1F57')||input.LA(1)=='\u1F59'||input.LA(1)=='\u1F5B'||input.LA(1)=='\u1F5D'||(input.LA(1)>='\u1F5F' && input.LA(1)<='\u1F7D')||(input.LA(1)>='\u1F80' && input.LA(1)<='\u1FB4')||(input.LA(1)>='\u1FB6' && input.LA(1)<='\u1FBC')||input.LA(1)=='\u1FBE'||(input.LA(1)>='\u1FC2' && input.LA(1)<='\u1FC4')||(input.LA(1)>='\u1FC6' && input.LA(1)<='\u1FCC')||(input.LA(1)>='\u1FD0' && input.LA(1)<='\u1FD3')||(input.LA(1)>='\u1FD6' && input.LA(1)<='\u1FDB')||(input.LA(1)>='\u1FE0' && input.LA(1)<='\u1FEC')||(input.LA(1)>='\u1FF2' && input.LA(1)<='\u1FF4')||(input.LA(1)>='\u1FF6' && input.LA(1)<='\u1FFC')||(input.LA(1)>='\u200C' && input.LA(1)<='\u200F')||(input.LA(1)>='\u202A' && input.LA(1)<='\u202E')||(input.LA(1)>='\u203F' && input.LA(1)<='\u2040')||input.LA(1)=='\u2054'||(input.LA(1)>='\u2060' && input.LA(1)<='\u2063')||(input.LA(1)>='\u206A' && input.LA(1)<='\u206F')||input.LA(1)=='\u2071'||input.LA(1)=='\u!
 207F'||(input.LA(1)>='\u20A0' && input.LA(1)<='\u20B1')||(input.LA(1)>
='\u20D0' && input.LA(1)<='\u20DC')||input.LA(1)=='\u20E1'||(input.LA(1)>='\u20E5' && input.LA(1)<='\u20EA')||input.LA(1)=='\u2102'||input.LA(1)=='\u2107'||(input.LA(1)>='\u210A' && input.LA(1)<='\u2113')||input.LA(1)=='\u2115'||(input.LA(1)>='\u2119' && input.LA(1)<='\u211D')||input.LA(1)=='\u2124'||input.LA(1)=='\u2126'||input.LA(1)=='\u2128'||(input.LA(1)>='\u212A' && input.LA(1)<='\u212D')||(input.LA(1)>='\u212F' && input.LA(1)<='\u2131')||(input.LA(1)>='\u2133' && input.LA(1)<='\u2139')||(input.LA(1)>='\u213D' && input.LA(1)<='\u213F')||(input.LA(1)>='\u2145' && input.LA(1)<='\u2149')||(input.LA(1)>='\u2160' && input.LA(1)<='\u2183')||(input.LA(1)>='\u3005' && input.LA(1)<='\u3007')||(input.LA(1)>='\u3021' && input.LA(1)<='\u302F')||(input.LA(1)>='\u3031' && input.LA(1)<='\u3035')||(input.LA(1)>='\u3038' && input.LA(1)<='\u303C')||(input.LA(1)>='\u3041' && input.LA(1)<='\u3096')||(input.LA(1)>='\u3099' && input.LA(1)<='\u309A')||(input.LA(1)>='\u309D' && input.LA(1)<='\!
 u309F')||(input.LA(1)>='\u30A1' && input.LA(1)<='\u30FF')||(input.LA(1)>='\u3105' && input.LA(1)<='\u312C')||(input.LA(1)>='\u3131' && input.LA(1)<='\u318E')||(input.LA(1)>='\u31A0' && input.LA(1)<='\u31B7')||(input.LA(1)>='\u31F0' && input.LA(1)<='\u31FF')||(input.LA(1)>='\u3400' && input.LA(1)<='\u4DB5')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FA5')||(input.LA(1)>='\uA000' && input.LA(1)<='\uA48C')||(input.LA(1)>='\uAC00' && input.LA(1)<='\uD7A3')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFA2D')||(input.LA(1)>='\uFA30' && input.LA(1)<='\uFA6A')||(input.LA(1)>='\uFB00' && input.LA(1)<='\uFB06')||(input.LA(1)>='\uFB13' && input.LA(1)<='\uFB17')||(input.LA(1)>='\uFB1D' && input.LA(1)<='\uFB28')||(input.LA(1)>='\uFB2A' && input.LA(1)<='\uFB36')||(input.LA(1)>='\uFB38' && input.LA(1)<='\uFB3C')||input.LA(1)=='\uFB3E'||(input.LA(1)>='\uFB40' && input.LA(1)<='\uFB41')||(input.LA(1)>='\uFB43' && input.LA(1)<='\uFB44')||(input.LA(1)>='\uFB46' && input.LA(1)<='\uFBB1')||(input!
 .LA(1)>='\uFBD3' && input.LA(1)<='\uFD3D')||(input.LA(1)>='\uFD50' && 
input.LA(1)<='\uFD8F')||(input.LA(1)>='\uFD92' && input.LA(1)<='\uFDC7')||(input.LA(1)>='\uFDF0' && input.LA(1)<='\uFDFC')||(input.LA(1)>='\uFE00' && input.LA(1)<='\uFE0F')||(input.LA(1)>='\uFE20' && input.LA(1)<='\uFE23')||(input.LA(1)>='\uFE33' && input.LA(1)<='\uFE34')||(input.LA(1)>='\uFE4D' && input.LA(1)<='\uFE4F')||input.LA(1)=='\uFE69'||(input.LA(1)>='\uFE70' && input.LA(1)<='\uFE74')||(input.LA(1)>='\uFE76' && input.LA(1)<='\uFEFC')||input.LA(1)=='\uFEFF'||input.LA(1)=='\uFF04'||(input.LA(1)>='\uFF10' && input.LA(1)<='\uFF19')||(input.LA(1)>='\uFF21' && input.LA(1)<='\uFF3A')||input.LA(1)=='\uFF3F'||(input.LA(1)>='\uFF41' && input.LA(1)<='\uFF5A')||(input.LA(1)>='\uFF65' && input.LA(1)<='\uFFBE')||(input.LA(1)>='\uFFC2' && input.LA(1)<='\uFFC7')||(input.LA(1)>='\uFFCA' && input.LA(1)<='\uFFCF')||(input.LA(1)>='\uFFD2' && input.LA(1)<='\uFFD7')||(input.LA(1)>='\uFFDA' && input.LA(1)<='\uFFDC')||(input.LA(1)>='\uFFE0' && input.LA(1)<='\uFFE1')||(input.LA(1)>='\uFFE5' !
 && input.LA(1)<='\uFFE6')||(input.LA(1)>='\uFFF9' && input.LA(1)<='\uFFFB') ) {
+                input.consume();
+            state.failed=false;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                MismatchedSetException mse = new MismatchedSetException(null,input);
+                recover(mse);
+                throw mse;}
+
+
+            }
+
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "IdentifierPart"
+
     public void mTokens() throws RecognitionException {
-        // src/main/resources/org/drools/lang/DRL.g:1:8: ( WS | INT | FLOAT | STRING | BOOL | ACCUMULATE | COLLECT | FROM | NULL | OVER | THEN | WHEN | AT | EQUALS | SEMICOLON | DOT_STAR | COLON | EQUAL | NOT_EQUAL | GREATER | GREATER_EQUAL | LESS | LESS_EQUAL | ARROW | ID | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | DOUBLE_AMPER | DOUBLE_PIPE | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | MISC )
+        // src/main/resources/org/drools/lang/DRL.g:1:8: ( WS | FLOAT | INT | STRING | BOOL | ACCUMULATE | COLLECT | FROM | NULL | OVER | THEN | WHEN | AT | EQUALS | SEMICOLON | DOT_STAR | COLON | EQUAL | NOT_EQUAL | GREATER | GREATER_EQUAL | LESS | LESS_EQUAL | ARROW | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | DOUBLE_AMPER | DOUBLE_PIPE | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | ID | MISC )
         int alt22=39;
         alt22 = dfa22.predict(input);
         switch (alt22) {
@@ -1999,16 +2009,16 @@
                 }
                 break;
             case 2 :
-                // src/main/resources/org/drools/lang/DRL.g:1:13: INT
+                // src/main/resources/org/drools/lang/DRL.g:1:13: FLOAT
                 {
-                mINT(); if (state.failed) return ;
+                mFLOAT(); if (state.failed) return ;
 
                 }
                 break;
             case 3 :
-                // src/main/resources/org/drools/lang/DRL.g:1:17: FLOAT
+                // src/main/resources/org/drools/lang/DRL.g:1:19: INT
                 {
-                mFLOAT(); if (state.failed) return ;
+                mINT(); if (state.failed) return ;
 
                 }
                 break;
@@ -2160,100 +2170,100 @@
                 }
                 break;
             case 25 :
-                // src/main/resources/org/drools/lang/DRL.g:1:174: ID
+                // src/main/resources/org/drools/lang/DRL.g:1:174: LEFT_PAREN
                 {
-                mID(); if (state.failed) return ;
+                mLEFT_PAREN(); if (state.failed) return ;
 
                 }
                 break;
             case 26 :
-                // src/main/resources/org/drools/lang/DRL.g:1:177: LEFT_PAREN
+                // src/main/resources/org/drools/lang/DRL.g:1:185: RIGHT_PAREN
                 {
-                mLEFT_PAREN(); if (state.failed) return ;
+                mRIGHT_PAREN(); if (state.failed) return ;
 
                 }
                 break;
             case 27 :
-                // src/main/resources/org/drools/lang/DRL.g:1:188: RIGHT_PAREN
+                // src/main/resources/org/drools/lang/DRL.g:1:197: LEFT_SQUARE
                 {
-                mRIGHT_PAREN(); if (state.failed) return ;
+                mLEFT_SQUARE(); if (state.failed) return ;
 
                 }
                 break;
             case 28 :
-                // src/main/resources/org/drools/lang/DRL.g:1:200: LEFT_SQUARE
+                // src/main/resources/org/drools/lang/DRL.g:1:209: RIGHT_SQUARE
                 {
-                mLEFT_SQUARE(); if (state.failed) return ;
+                mRIGHT_SQUARE(); if (state.failed) return ;
 
                 }
                 break;
             case 29 :
-                // src/main/resources/org/drools/lang/DRL.g:1:212: RIGHT_SQUARE
+                // src/main/resources/org/drools/lang/DRL.g:1:222: LEFT_CURLY
                 {
-                mRIGHT_SQUARE(); if (state.failed) return ;
+                mLEFT_CURLY(); if (state.failed) return ;
 
                 }
                 break;
             case 30 :
-                // src/main/resources/org/drools/lang/DRL.g:1:225: LEFT_CURLY
+                // src/main/resources/org/drools/lang/DRL.g:1:233: RIGHT_CURLY
                 {
-                mLEFT_CURLY(); if (state.failed) return ;
+                mRIGHT_CURLY(); if (state.failed) return ;
 
                 }
                 break;
             case 31 :
-                // src/main/resources/org/drools/lang/DRL.g:1:236: RIGHT_CURLY
+                // src/main/resources/org/drools/lang/DRL.g:1:245: COMMA
                 {
-                mRIGHT_CURLY(); if (state.failed) return ;
+                mCOMMA(); if (state.failed) return ;
 
                 }
                 break;
             case 32 :
-                // src/main/resources/org/drools/lang/DRL.g:1:248: COMMA
+                // src/main/resources/org/drools/lang/DRL.g:1:251: DOT
                 {
-                mCOMMA(); if (state.failed) return ;
+                mDOT(); if (state.failed) return ;
 
                 }
                 break;
             case 33 :
-                // src/main/resources/org/drools/lang/DRL.g:1:254: DOT
+                // src/main/resources/org/drools/lang/DRL.g:1:255: DOUBLE_AMPER
                 {
-                mDOT(); if (state.failed) return ;
+                mDOUBLE_AMPER(); if (state.failed) return ;
 
                 }
                 break;
             case 34 :
-                // src/main/resources/org/drools/lang/DRL.g:1:258: DOUBLE_AMPER
+                // src/main/resources/org/drools/lang/DRL.g:1:268: DOUBLE_PIPE
                 {
-                mDOUBLE_AMPER(); if (state.failed) return ;
+                mDOUBLE_PIPE(); if (state.failed) return ;
 
                 }
                 break;
             case 35 :
-                // src/main/resources/org/drools/lang/DRL.g:1:271: DOUBLE_PIPE
+                // src/main/resources/org/drools/lang/DRL.g:1:280: SH_STYLE_SINGLE_LINE_COMMENT
                 {
-                mDOUBLE_PIPE(); if (state.failed) return ;
+                mSH_STYLE_SINGLE_LINE_COMMENT(); if (state.failed) return ;
 
                 }
                 break;
             case 36 :
-                // src/main/resources/org/drools/lang/DRL.g:1:283: SH_STYLE_SINGLE_LINE_COMMENT
+                // src/main/resources/org/drools/lang/DRL.g:1:309: C_STYLE_SINGLE_LINE_COMMENT
                 {
-                mSH_STYLE_SINGLE_LINE_COMMENT(); if (state.failed) return ;
+                mC_STYLE_SINGLE_LINE_COMMENT(); if (state.failed) return ;
 
                 }
                 break;
             case 37 :
-                // src/main/resources/org/drools/lang/DRL.g:1:312: C_STYLE_SINGLE_LINE_COMMENT
+                // src/main/resources/org/drools/lang/DRL.g:1:337: MULTI_LINE_COMMENT
                 {
-                mC_STYLE_SINGLE_LINE_COMMENT(); if (state.failed) return ;
+                mMULTI_LINE_COMMENT(); if (state.failed) return ;
 
                 }
                 break;
             case 38 :
-                // src/main/resources/org/drools/lang/DRL.g:1:340: MULTI_LINE_COMMENT
+                // src/main/resources/org/drools/lang/DRL.g:1:356: ID
                 {
-                mMULTI_LINE_COMMENT(); if (state.failed) return ;
+                mID(); if (state.failed) return ;
 
                 }
                 break;
@@ -2299,45 +2309,112 @@
 
     protected DFA22 dfa22 = new DFA22(this);
     static final String DFA22_eotS =
-        "\2\uffff\1\42\1\45\1\uffff\1\42\7\26\1\uffff\1\60\1\uffff\1\62"+
-        "\1\uffff\1\42\1\65\1\67\11\uffff\2\42\1\uffff\1\42\4\uffff\11\26"+
-        "\15\uffff\11\26\1\116\1\117\1\26\1\121\2\26\1\124\1\125\1\126\2"+
-        "\uffff\1\116\1\uffff\2\26\3\uffff\3\26\1\134\1\26\1\uffff\1\26\1"+
+        "\2\uffff\1\42\1\44\1\uffff\1\42\7\41\1\uffff\1\60\1\uffff\1\62"+
+        "\1\uffff\1\42\1\65\1\67\7\uffff\2\42\1\uffff\1\42\6\uffff\11\41"+
+        "\15\uffff\11\41\1\116\1\117\1\41\1\121\2\41\1\124\1\125\1\126\2"+
+        "\uffff\1\116\1\uffff\2\41\3\uffff\3\41\1\134\1\41\1\uffff\1\41\1"+
         "\137\1\uffff";
     static final String DFA22_eofS =
         "\140\uffff";
     static final String DFA22_minS =
         "\1\11\1\uffff\1\60\1\56\1\uffff\1\0\1\150\1\141\1\143\1\157\1\165"+
-        "\1\166\1\150\1\uffff\1\75\1\uffff\1\52\1\uffff\3\75\11\uffff\1\46"+
-        "\1\174\1\uffff\1\52\4\uffff\1\165\1\145\1\154\1\157\1\143\2\154"+
+        "\1\166\1\150\1\uffff\1\75\1\uffff\1\52\1\uffff\3\75\7\uffff\1\46"+
+        "\1\174\1\uffff\1\52\6\uffff\1\165\1\145\1\154\1\157\1\143\2\154"+
         "\2\145\15\uffff\1\145\1\156\1\163\1\155\1\165\2\154\1\162\1\156"+
-        "\2\60\1\145\1\60\1\155\1\145\3\60\2\uffff\1\60\1\uffff\1\165\1\143"+
-        "\3\uffff\1\154\1\164\1\141\1\60\1\164\1\uffff\1\145\1\60\1\uffff";
+        "\2\0\1\145\1\0\1\155\1\145\3\0\2\uffff\1\0\1\uffff\1\165\1\143\3"+
+        "\uffff\1\154\1\164\1\141\1\0\1\164\1\uffff\1\145\1\0\1\uffff";
     static final String DFA22_maxS =
-        "\1\u00ff\1\uffff\1\76\1\71\1\uffff\1\uffff\2\162\1\143\1\157\1"+
-        "\165\1\166\1\150\1\uffff\1\75\1\uffff\1\52\1\uffff\3\75\11\uffff"+
-        "\1\46\1\174\1\uffff\1\57\4\uffff\1\165\1\145\1\154\1\157\1\143\2"+
+        "\1\uffe6\1\uffff\1\76\1\71\1\uffff\1\uffff\2\162\1\143\1\157\1"+
+        "\165\1\166\1\150\1\uffff\1\75\1\uffff\1\52\1\uffff\3\75\7\uffff"+
+        "\1\46\1\174\1\uffff\1\57\6\uffff\1\165\1\145\1\154\1\157\1\143\2"+
         "\154\2\145\15\uffff\1\145\1\156\1\163\1\155\1\165\2\154\1\162\1"+
-        "\156\2\u00ff\1\145\1\u00ff\1\155\1\145\3\u00ff\2\uffff\1\u00ff\1"+
-        "\uffff\1\165\1\143\3\uffff\1\154\1\164\1\141\1\u00ff\1\164\1\uffff"+
-        "\1\145\1\u00ff\1\uffff";
+        "\156\2\ufffb\1\145\1\ufffb\1\155\1\145\3\ufffb\2\uffff\1\ufffb\1"+
+        "\uffff\1\165\1\143\3\uffff\1\154\1\164\1\141\1\ufffb\1\164\1\uffff"+
+        "\1\145\1\ufffb\1\uffff";
     static final String DFA22_acceptS =
         "\1\uffff\1\1\2\uffff\1\4\10\uffff\1\15\1\uffff\1\17\1\uffff\1\21"+
-        "\3\uffff\2\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\2\uffff\1\44\1"+
-        "\uffff\1\47\1\30\1\3\1\2\11\uffff\1\22\1\16\1\20\1\41\1\23\1\25"+
-        "\1\24\1\27\1\26\1\42\1\43\1\45\1\46\22\uffff\1\5\1\13\1\uffff\1"+
-        "\10\2\uffff\1\11\1\12\1\14\5\uffff\1\7\2\uffff\1\6";
+        "\3\uffff\1\31\1\32\1\33\1\34\1\35\1\36\1\37\2\uffff\1\43\1\uffff"+
+        "\2\46\1\47\1\30\1\3\1\2\11\uffff\1\22\1\16\1\20\1\40\1\23\1\25\1"+
+        "\24\1\27\1\26\1\41\1\42\1\44\1\45\22\uffff\1\5\1\13\1\uffff\1\10"+
+        "\2\uffff\1\11\1\12\1\14\5\uffff\1\7\2\uffff\1\6";
     static final String DFA22_specialS =
         "\5\uffff\1\0\132\uffff}>";
     static final String[] DFA22_transitionS = {
-            "\2\1\1\uffff\2\1\22\uffff\1\1\1\22\1\4\1\40\1\25\1\42\1\36"+
-            "\1\5\1\27\1\30\2\42\1\35\1\2\1\20\1\41\12\3\1\21\1\17\1\24\1"+
-            "\16\1\23\1\42\1\15\32\26\1\31\1\42\1\32\1\42\1\25\1\26\1\10"+
-            "\1\26\1\11\2\26\1\7\7\26\1\12\1\13\4\26\1\6\2\26\1\14\3\26\1"+
-            "\33\1\37\1\34\102\uffff\100\26",
+            "\2\1\1\uffff\2\1\22\uffff\1\1\1\22\1\4\1\36\1\40\1\42\1\34"+
+            "\1\5\1\25\1\26\2\42\1\33\1\2\1\20\1\37\12\3\1\21\1\17\1\24\1"+
+            "\16\1\23\1\42\1\15\32\41\1\27\1\42\1\30\1\42\2\41\1\10\1\41"+
+            "\1\11\2\41\1\7\7\41\1\12\1\13\4\41\1\6\2\41\1\14\3\41\1\31\1"+
+            "\35\1\32\44\uffff\4\41\4\uffff\1\41\12\uffff\1\41\4\uffff\1"+
+            "\41\5\uffff\27\41\1\uffff\37\41\1\uffff\u013f\41\31\uffff\162"+
+            "\41\4\uffff\14\41\16\uffff\5\41\11\uffff\1\41\u008b\uffff\1"+
+            "\41\13\uffff\1\41\1\uffff\3\41\1\uffff\1\41\1\uffff\24\41\1"+
+            "\uffff\54\41\1\uffff\46\41\1\uffff\5\41\4\uffff\u0082\41\10"+
+            "\uffff\105\41\1\uffff\46\41\2\uffff\2\41\6\uffff\20\41\41\uffff"+
+            "\46\41\2\uffff\1\41\7\uffff\47\41\110\uffff\33\41\5\uffff\3"+
+            "\41\56\uffff\32\41\5\uffff\13\41\43\uffff\2\41\1\uffff\143\41"+
+            "\1\uffff\1\41\17\uffff\2\41\7\uffff\2\41\12\uffff\3\41\2\uffff"+
+            "\1\41\20\uffff\1\41\1\uffff\36\41\35\uffff\3\41\60\uffff\46"+
+            "\41\13\uffff\1\41\u0152\uffff\66\41\3\uffff\1\41\22\uffff\1"+
+            "\41\7\uffff\12\41\43\uffff\10\41\2\uffff\2\41\2\uffff\26\41"+
+            "\1\uffff\7\41\1\uffff\1\41\3\uffff\4\41\3\uffff\1\41\36\uffff"+
+            "\2\41\1\uffff\3\41\16\uffff\4\41\21\uffff\6\41\4\uffff\2\41"+
+            "\2\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff\2\41\1\uffff"+
+            "\2\41\37\uffff\4\41\1\uffff\1\41\23\uffff\3\41\20\uffff\11\41"+
+            "\1\uffff\3\41\1\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff"+
+            "\5\41\3\uffff\1\41\22\uffff\1\41\17\uffff\2\41\17\uffff\1\41"+
+            "\23\uffff\10\41\2\uffff\2\41\2\uffff\26\41\1\uffff\7\41\1\uffff"+
+            "\2\41\1\uffff\5\41\3\uffff\1\41\36\uffff\2\41\1\uffff\3\41\17"+
+            "\uffff\1\41\21\uffff\1\41\1\uffff\6\41\3\uffff\3\41\1\uffff"+
+            "\4\41\3\uffff\2\41\1\uffff\1\41\1\uffff\2\41\3\uffff\2\41\3"+
+            "\uffff\3\41\3\uffff\10\41\1\uffff\3\41\77\uffff\1\41\13\uffff"+
+            "\10\41\1\uffff\3\41\1\uffff\27\41\1\uffff\12\41\1\uffff\5\41"+
+            "\46\uffff\2\41\43\uffff\10\41\1\uffff\3\41\1\uffff\27\41\1\uffff"+
+            "\12\41\1\uffff\5\41\3\uffff\1\41\40\uffff\1\41\1\uffff\2\41"+
+            "\43\uffff\10\41\1\uffff\3\41\1\uffff\27\41\1\uffff\20\41\46"+
+            "\uffff\2\41\43\uffff\22\41\3\uffff\30\41\1\uffff\11\41\1\uffff"+
+            "\1\41\2\uffff\7\41\72\uffff\60\41\1\uffff\2\41\13\uffff\10\41"+
+            "\72\uffff\2\41\1\uffff\1\41\2\uffff\2\41\1\uffff\1\41\2\uffff"+
+            "\1\41\6\uffff\4\41\1\uffff\7\41\1\uffff\3\41\1\uffff\1\41\1"+
+            "\uffff\1\41\2\uffff\2\41\1\uffff\4\41\1\uffff\2\41\11\uffff"+
+            "\1\41\2\uffff\5\41\1\uffff\1\41\25\uffff\2\41\42\uffff\1\41"+
+            "\77\uffff\10\41\1\uffff\42\41\35\uffff\4\41\164\uffff\42\41"+
+            "\1\uffff\5\41\1\uffff\2\41\45\uffff\6\41\112\uffff\46\41\12"+
+            "\uffff\51\41\7\uffff\132\41\5\uffff\104\41\5\uffff\122\41\6"+
+            "\uffff\7\41\1\uffff\77\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff\47\41\1\uffff\1\41\1"+
+            "\uffff\4\41\2\uffff\37\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff\7\41\1\uffff\7\41\1"+
+            "\uffff\27\41\1\uffff\37\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\7\41\1\uffff\47\41\1\uffff\23\41\105\uffff\125\41\14\uffff"+
+            "\u026c\41\2\uffff\10\41\12\uffff\32\41\5\uffff\113\41\3\uffff"+
+            "\3\41\17\uffff\15\41\1\uffff\4\41\16\uffff\22\41\16\uffff\22"+
+            "\41\16\uffff\15\41\1\uffff\3\41\17\uffff\64\41\43\uffff\1\41"+
+            "\3\uffff\2\41\103\uffff\130\41\10\uffff\51\41\127\uffff\35\41"+
+            "\63\uffff\36\41\2\uffff\5\41\u038b\uffff\154\41\u0094\uffff"+
+            "\u009c\41\4\uffff\132\41\6\uffff\26\41\2\uffff\6\41\2\uffff"+
+            "\46\41\2\uffff\6\41\2\uffff\10\41\1\uffff\1\41\1\uffff\1\41"+
+            "\1\uffff\1\41\1\uffff\37\41\2\uffff\65\41\1\uffff\7\41\1\uffff"+
+            "\1\41\3\uffff\3\41\1\uffff\7\41\3\uffff\4\41\2\uffff\6\41\4"+
+            "\uffff\15\41\5\uffff\3\41\1\uffff\7\41\102\uffff\2\41\23\uffff"+
+            "\1\41\34\uffff\1\41\15\uffff\1\41\40\uffff\22\41\120\uffff\1"+
+            "\41\4\uffff\1\41\2\uffff\12\41\1\uffff\1\41\3\uffff\5\41\6\uffff"+
+            "\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff\4\41\1\uffff\3\41\1"+
+            "\uffff\7\41\3\uffff\3\41\5\uffff\5\41\26\uffff\44\41\u0e81\uffff"+
+            "\3\41\31\uffff\11\41\7\uffff\5\41\2\uffff\5\41\4\uffff\126\41"+
+            "\6\uffff\3\41\1\uffff\137\41\5\uffff\50\41\4\uffff\136\41\21"+
+            "\uffff\30\41\70\uffff\20\41\u0200\uffff\u19b6\41\112\uffff\u51a6"+
+            "\41\132\uffff\u048d\41\u0773\uffff\u2ba4\41\u215c\uffff\u012e"+
+            "\41\2\uffff\73\41\u0095\uffff\7\41\14\uffff\5\41\5\uffff\1\41"+
+            "\1\uffff\12\41\1\uffff\15\41\1\uffff\5\41\1\uffff\1\41\1\uffff"+
+            "\2\41\1\uffff\2\41\1\uffff\154\41\41\uffff\u016b\41\22\uffff"+
+            "\100\41\2\uffff\66\41\50\uffff\15\41\66\uffff\2\41\30\uffff"+
+            "\3\41\31\uffff\1\41\6\uffff\5\41\1\uffff\u0087\41\7\uffff\1"+
+            "\41\34\uffff\32\41\4\uffff\1\41\1\uffff\32\41\12\uffff\132\41"+
+            "\3\uffff\6\41\2\uffff\6\41\2\uffff\6\41\2\uffff\3\41\3\uffff"+
+            "\2\41\3\uffff\2\41",
             "",
             "\12\3\4\uffff\1\43",
-            "\1\44\1\uffff\12\3",
+            "\1\45\1\uffff\12\3",
             "",
             "\0\4",
             "\1\47\11\uffff\1\46",
@@ -2362,8 +2439,6 @@
             "",
             "",
             "",
-            "",
-            "",
             "\1\70",
             "\1\71",
             "",
@@ -2372,6 +2447,8 @@
             "",
             "",
             "",
+            "",
+            "",
             "\1\74",
             "\1\75",
             "\1\76",
@@ -2403,25 +2480,627 @@
             "\1\113",
             "\1\114",
             "\1\115",
-            "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26\105\uffff"+
-            "\100\26",
-            "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26\105\uffff"+
-            "\100\26",
+            "\11\41\5\uffff\16\41\10\uffff\1\41\13\uffff\12\41\7\uffff"+
+            "\32\41\4\uffff\1\41\1\uffff\32\41\4\uffff\41\41\2\uffff\4\41"+
+            "\4\uffff\1\41\2\uffff\1\41\7\uffff\1\41\4\uffff\1\41\5\uffff"+
+            "\27\41\1\uffff\37\41\1\uffff\u013f\41\31\uffff\162\41\4\uffff"+
+            "\14\41\16\uffff\5\41\11\uffff\1\41\21\uffff\130\41\5\uffff\23"+
+            "\41\12\uffff\1\41\13\uffff\1\41\1\uffff\3\41\1\uffff\1\41\1"+
+            "\uffff\24\41\1\uffff\54\41\1\uffff\46\41\1\uffff\5\41\4\uffff"+
+            "\u0082\41\1\uffff\4\41\3\uffff\105\41\1\uffff\46\41\2\uffff"+
+            "\2\41\6\uffff\20\41\41\uffff\46\41\2\uffff\1\41\7\uffff\47\41"+
+            "\11\uffff\21\41\1\uffff\27\41\1\uffff\3\41\1\uffff\1\41\1\uffff"+
+            "\2\41\1\uffff\1\41\13\uffff\33\41\5\uffff\3\41\15\uffff\4\41"+
+            "\14\uffff\6\41\13\uffff\32\41\5\uffff\31\41\7\uffff\12\41\4"+
+            "\uffff\146\41\1\uffff\11\41\1\uffff\12\41\1\uffff\23\41\2\uffff"+
+            "\1\41\17\uffff\74\41\2\uffff\3\41\60\uffff\62\41\u014f\uffff"+
+            "\71\41\2\uffff\22\41\2\uffff\5\41\3\uffff\14\41\2\uffff\12\41"+
+            "\21\uffff\3\41\1\uffff\10\41\2\uffff\2\41\2\uffff\26\41\1\uffff"+
+            "\7\41\1\uffff\1\41\3\uffff\4\41\2\uffff\11\41\2\uffff\2\41\2"+
+            "\uffff\3\41\11\uffff\1\41\4\uffff\2\41\1\uffff\5\41\2\uffff"+
+            "\16\41\15\uffff\3\41\1\uffff\6\41\4\uffff\2\41\2\uffff\26\41"+
+            "\1\uffff\7\41\1\uffff\2\41\1\uffff\2\41\1\uffff\2\41\2\uffff"+
+            "\1\41\1\uffff\5\41\4\uffff\2\41\2\uffff\3\41\13\uffff\4\41\1"+
+            "\uffff\1\41\7\uffff\17\41\14\uffff\3\41\1\uffff\11\41\1\uffff"+
+            "\3\41\1\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff\5\41\2"+
+            "\uffff\12\41\1\uffff\3\41\1\uffff\3\41\2\uffff\1\41\17\uffff"+
+            "\4\41\2\uffff\12\41\1\uffff\1\41\17\uffff\3\41\1\uffff\10\41"+
+            "\2\uffff\2\41\2\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff"+
+            "\5\41\2\uffff\10\41\3\uffff\2\41\2\uffff\3\41\10\uffff\2\41"+
+            "\4\uffff\2\41\1\uffff\3\41\4\uffff\12\41\1\uffff\1\41\20\uffff"+
+            "\2\41\1\uffff\6\41\3\uffff\3\41\1\uffff\4\41\3\uffff\2\41\1"+
+            "\uffff\1\41\1\uffff\2\41\3\uffff\2\41\3\uffff\3\41\3\uffff\10"+
+            "\41\1\uffff\3\41\4\uffff\5\41\3\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\17\uffff\11\41\11\uffff\1\41\7\uffff\3\41\1\uffff\10\41"+
+            "\1\uffff\3\41\1\uffff\27\41\1\uffff\12\41\1\uffff\5\41\4\uffff"+
+            "\7\41\1\uffff\3\41\1\uffff\4\41\7\uffff\2\41\11\uffff\2\41\4"+
+            "\uffff\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff"+
+            "\27\41\1\uffff\12\41\1\uffff\5\41\2\uffff\11\41\1\uffff\3\41"+
+            "\1\uffff\4\41\7\uffff\2\41\7\uffff\1\41\1\uffff\2\41\4\uffff"+
+            "\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff\27\41"+
+            "\1\uffff\20\41\4\uffff\6\41\2\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\10\uffff\2\41\4\uffff\12\41\22\uffff\2\41\1\uffff\22\41"+
+            "\3\uffff\30\41\1\uffff\11\41\1\uffff\1\41\2\uffff\7\41\3\uffff"+
+            "\1\41\4\uffff\6\41\1\uffff\1\41\1\uffff\10\41\22\uffff\2\41"+
+            "\15\uffff\72\41\4\uffff\20\41\1\uffff\12\41\47\uffff\2\41\1"+
+            "\uffff\1\41\2\uffff\2\41\1\uffff\1\41\2\uffff\1\41\6\uffff\4"+
+            "\41\1\uffff\7\41\1\uffff\3\41\1\uffff\1\41\1\uffff\1\41\2\uffff"+
+            "\2\41\1\uffff\15\41\1\uffff\3\41\2\uffff\5\41\1\uffff\1\41\1"+
+            "\uffff\6\41\2\uffff\12\41\2\uffff\2\41\42\uffff\1\41\27\uffff"+
+            "\2\41\6\uffff\12\41\13\uffff\1\41\1\uffff\1\41\1\uffff\1\41"+
+            "\4\uffff\12\41\1\uffff\42\41\6\uffff\24\41\1\uffff\6\41\4\uffff"+
+            "\10\41\1\uffff\44\41\11\uffff\1\41\71\uffff\42\41\1\uffff\5"+
+            "\41\1\uffff\2\41\1\uffff\7\41\3\uffff\4\41\6\uffff\12\41\6\uffff"+
+            "\12\41\106\uffff\46\41\12\uffff\51\41\7\uffff\132\41\5\uffff"+
+            "\104\41\5\uffff\122\41\6\uffff\7\41\1\uffff\77\41\1\uffff\1"+
+            "\41\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\47\41\1\uffff\1\41\1\uffff\4\41\2\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\7\41\1\uffff\7\41\1\uffff\27\41\1\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\47\41\1\uffff\23\41\16\uffff"+
+            "\11\41\56\uffff\125\41\14\uffff\u026c\41\2\uffff\10\41\12\uffff"+
+            "\32\41\5\uffff\113\41\3\uffff\3\41\17\uffff\15\41\1\uffff\7"+
+            "\41\13\uffff\25\41\13\uffff\24\41\14\uffff\15\41\1\uffff\3\41"+
+            "\1\uffff\2\41\14\uffff\124\41\3\uffff\1\41\3\uffff\3\41\2\uffff"+
+            "\12\41\41\uffff\3\41\2\uffff\12\41\6\uffff\130\41\10\uffff\52"+
+            "\41\126\uffff\35\41\3\uffff\14\41\4\uffff\14\41\12\uffff\50"+
+            "\41\2\uffff\5\41\u038b\uffff\154\41\u0094\uffff\u009c\41\4\uffff"+
+            "\132\41\6\uffff\26\41\2\uffff\6\41\2\uffff\46\41\2\uffff\6\41"+
+            "\2\uffff\10\41\1\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff"+
+            "\37\41\2\uffff\65\41\1\uffff\7\41\1\uffff\1\41\3\uffff\3\41"+
+            "\1\uffff\7\41\3\uffff\4\41\2\uffff\6\41\4\uffff\15\41\5\uffff"+
+            "\3\41\1\uffff\7\41\17\uffff\4\41\32\uffff\5\41\20\uffff\2\41"+
+            "\23\uffff\1\41\13\uffff\4\41\6\uffff\6\41\1\uffff\1\41\15\uffff"+
+            "\1\41\40\uffff\22\41\36\uffff\15\41\4\uffff\1\41\3\uffff\6\41"+
+            "\27\uffff\1\41\4\uffff\1\41\2\uffff\12\41\1\uffff\1\41\3\uffff"+
+            "\5\41\6\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff\4\41\1"+
+            "\uffff\3\41\1\uffff\7\41\3\uffff\3\41\5\uffff\5\41\26\uffff"+
+            "\44\41\u0e81\uffff\3\41\31\uffff\17\41\1\uffff\5\41\2\uffff"+
+            "\5\41\4\uffff\126\41\2\uffff\2\41\2\uffff\3\41\1\uffff\137\41"+
+            "\5\uffff\50\41\4\uffff\136\41\21\uffff\30\41\70\uffff\20\41"+
+            "\u0200\uffff\u19b6\41\112\uffff\u51a6\41\132\uffff\u048d\41"+
+            "\u0773\uffff\u2ba4\41\u215c\uffff\u012e\41\2\uffff\73\41\u0095"+
+            "\uffff\7\41\14\uffff\5\41\5\uffff\14\41\1\uffff\15\41\1\uffff"+
+            "\5\41\1\uffff\1\41\1\uffff\2\41\1\uffff\2\41\1\uffff\154\41"+
+            "\41\uffff\u016b\41\22\uffff\100\41\2\uffff\66\41\50\uffff\15"+
+            "\41\3\uffff\20\41\20\uffff\4\41\17\uffff\2\41\30\uffff\3\41"+
+            "\31\uffff\1\41\6\uffff\5\41\1\uffff\u0087\41\2\uffff\1\41\4"+
+            "\uffff\1\41\13\uffff\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff"+
+            "\32\41\12\uffff\132\41\3\uffff\6\41\2\uffff\6\41\2\uffff\6\41"+
+            "\2\uffff\3\41\3\uffff\2\41\3\uffff\2\41\22\uffff\3\41",
+            "\11\41\5\uffff\16\41\10\uffff\1\41\13\uffff\12\41\7\uffff"+
+            "\32\41\4\uffff\1\41\1\uffff\32\41\4\uffff\41\41\2\uffff\4\41"+
+            "\4\uffff\1\41\2\uffff\1\41\7\uffff\1\41\4\uffff\1\41\5\uffff"+
+            "\27\41\1\uffff\37\41\1\uffff\u013f\41\31\uffff\162\41\4\uffff"+
+            "\14\41\16\uffff\5\41\11\uffff\1\41\21\uffff\130\41\5\uffff\23"+
+            "\41\12\uffff\1\41\13\uffff\1\41\1\uffff\3\41\1\uffff\1\41\1"+
+            "\uffff\24\41\1\uffff\54\41\1\uffff\46\41\1\uffff\5\41\4\uffff"+
+            "\u0082\41\1\uffff\4\41\3\uffff\105\41\1\uffff\46\41\2\uffff"+
+            "\2\41\6\uffff\20\41\41\uffff\46\41\2\uffff\1\41\7\uffff\47\41"+
+            "\11\uffff\21\41\1\uffff\27\41\1\uffff\3\41\1\uffff\1\41\1\uffff"+
+            "\2\41\1\uffff\1\41\13\uffff\33\41\5\uffff\3\41\15\uffff\4\41"+
+            "\14\uffff\6\41\13\uffff\32\41\5\uffff\31\41\7\uffff\12\41\4"+
+            "\uffff\146\41\1\uffff\11\41\1\uffff\12\41\1\uffff\23\41\2\uffff"+
+            "\1\41\17\uffff\74\41\2\uffff\3\41\60\uffff\62\41\u014f\uffff"+
+            "\71\41\2\uffff\22\41\2\uffff\5\41\3\uffff\14\41\2\uffff\12\41"+
+            "\21\uffff\3\41\1\uffff\10\41\2\uffff\2\41\2\uffff\26\41\1\uffff"+
+            "\7\41\1\uffff\1\41\3\uffff\4\41\2\uffff\11\41\2\uffff\2\41\2"+
+            "\uffff\3\41\11\uffff\1\41\4\uffff\2\41\1\uffff\5\41\2\uffff"+
+            "\16\41\15\uffff\3\41\1\uffff\6\41\4\uffff\2\41\2\uffff\26\41"+
+            "\1\uffff\7\41\1\uffff\2\41\1\uffff\2\41\1\uffff\2\41\2\uffff"+
+            "\1\41\1\uffff\5\41\4\uffff\2\41\2\uffff\3\41\13\uffff\4\41\1"+
+            "\uffff\1\41\7\uffff\17\41\14\uffff\3\41\1\uffff\11\41\1\uffff"+
+            "\3\41\1\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff\5\41\2"+
+            "\uffff\12\41\1\uffff\3\41\1\uffff\3\41\2\uffff\1\41\17\uffff"+
+            "\4\41\2\uffff\12\41\1\uffff\1\41\17\uffff\3\41\1\uffff\10\41"+
+            "\2\uffff\2\41\2\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff"+
+            "\5\41\2\uffff\10\41\3\uffff\2\41\2\uffff\3\41\10\uffff\2\41"+
+            "\4\uffff\2\41\1\uffff\3\41\4\uffff\12\41\1\uffff\1\41\20\uffff"+
+            "\2\41\1\uffff\6\41\3\uffff\3\41\1\uffff\4\41\3\uffff\2\41\1"+
+            "\uffff\1\41\1\uffff\2\41\3\uffff\2\41\3\uffff\3\41\3\uffff\10"+
+            "\41\1\uffff\3\41\4\uffff\5\41\3\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\17\uffff\11\41\11\uffff\1\41\7\uffff\3\41\1\uffff\10\41"+
+            "\1\uffff\3\41\1\uffff\27\41\1\uffff\12\41\1\uffff\5\41\4\uffff"+
+            "\7\41\1\uffff\3\41\1\uffff\4\41\7\uffff\2\41\11\uffff\2\41\4"+
+            "\uffff\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff"+
+            "\27\41\1\uffff\12\41\1\uffff\5\41\2\uffff\11\41\1\uffff\3\41"+
+            "\1\uffff\4\41\7\uffff\2\41\7\uffff\1\41\1\uffff\2\41\4\uffff"+
+            "\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff\27\41"+
+            "\1\uffff\20\41\4\uffff\6\41\2\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\10\uffff\2\41\4\uffff\12\41\22\uffff\2\41\1\uffff\22\41"+
+            "\3\uffff\30\41\1\uffff\11\41\1\uffff\1\41\2\uffff\7\41\3\uffff"+
+            "\1\41\4\uffff\6\41\1\uffff\1\41\1\uffff\10\41\22\uffff\2\41"+
+            "\15\uffff\72\41\4\uffff\20\41\1\uffff\12\41\47\uffff\2\41\1"+
+            "\uffff\1\41\2\uffff\2\41\1\uffff\1\41\2\uffff\1\41\6\uffff\4"+
+            "\41\1\uffff\7\41\1\uffff\3\41\1\uffff\1\41\1\uffff\1\41\2\uffff"+
+            "\2\41\1\uffff\15\41\1\uffff\3\41\2\uffff\5\41\1\uffff\1\41\1"+
+            "\uffff\6\41\2\uffff\12\41\2\uffff\2\41\42\uffff\1\41\27\uffff"+
+            "\2\41\6\uffff\12\41\13\uffff\1\41\1\uffff\1\41\1\uffff\1\41"+
+            "\4\uffff\12\41\1\uffff\42\41\6\uffff\24\41\1\uffff\6\41\4\uffff"+
+            "\10\41\1\uffff\44\41\11\uffff\1\41\71\uffff\42\41\1\uffff\5"+
+            "\41\1\uffff\2\41\1\uffff\7\41\3\uffff\4\41\6\uffff\12\41\6\uffff"+
+            "\12\41\106\uffff\46\41\12\uffff\51\41\7\uffff\132\41\5\uffff"+
+            "\104\41\5\uffff\122\41\6\uffff\7\41\1\uffff\77\41\1\uffff\1"+
+            "\41\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\47\41\1\uffff\1\41\1\uffff\4\41\2\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\7\41\1\uffff\7\41\1\uffff\27\41\1\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\47\41\1\uffff\23\41\16\uffff"+
+            "\11\41\56\uffff\125\41\14\uffff\u026c\41\2\uffff\10\41\12\uffff"+
+            "\32\41\5\uffff\113\41\3\uffff\3\41\17\uffff\15\41\1\uffff\7"+
+            "\41\13\uffff\25\41\13\uffff\24\41\14\uffff\15\41\1\uffff\3\41"+
+            "\1\uffff\2\41\14\uffff\124\41\3\uffff\1\41\3\uffff\3\41\2\uffff"+
+            "\12\41\41\uffff\3\41\2\uffff\12\41\6\uffff\130\41\10\uffff\52"+
+            "\41\126\uffff\35\41\3\uffff\14\41\4\uffff\14\41\12\uffff\50"+
+            "\41\2\uffff\5\41\u038b\uffff\154\41\u0094\uffff\u009c\41\4\uffff"+
+            "\132\41\6\uffff\26\41\2\uffff\6\41\2\uffff\46\41\2\uffff\6\41"+
+            "\2\uffff\10\41\1\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff"+
+            "\37\41\2\uffff\65\41\1\uffff\7\41\1\uffff\1\41\3\uffff\3\41"+
+            "\1\uffff\7\41\3\uffff\4\41\2\uffff\6\41\4\uffff\15\41\5\uffff"+
+            "\3\41\1\uffff\7\41\17\uffff\4\41\32\uffff\5\41\20\uffff\2\41"+
+            "\23\uffff\1\41\13\uffff\4\41\6\uffff\6\41\1\uffff\1\41\15\uffff"+
+            "\1\41\40\uffff\22\41\36\uffff\15\41\4\uffff\1\41\3\uffff\6\41"+
+            "\27\uffff\1\41\4\uffff\1\41\2\uffff\12\41\1\uffff\1\41\3\uffff"+
+            "\5\41\6\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff\4\41\1"+
+            "\uffff\3\41\1\uffff\7\41\3\uffff\3\41\5\uffff\5\41\26\uffff"+
+            "\44\41\u0e81\uffff\3\41\31\uffff\17\41\1\uffff\5\41\2\uffff"+
+            "\5\41\4\uffff\126\41\2\uffff\2\41\2\uffff\3\41\1\uffff\137\41"+
+            "\5\uffff\50\41\4\uffff\136\41\21\uffff\30\41\70\uffff\20\41"+
+            "\u0200\uffff\u19b6\41\112\uffff\u51a6\41\132\uffff\u048d\41"+
+            "\u0773\uffff\u2ba4\41\u215c\uffff\u012e\41\2\uffff\73\41\u0095"+
+            "\uffff\7\41\14\uffff\5\41\5\uffff\14\41\1\uffff\15\41\1\uffff"+
+            "\5\41\1\uffff\1\41\1\uffff\2\41\1\uffff\2\41\1\uffff\154\41"+
+            "\41\uffff\u016b\41\22\uffff\100\41\2\uffff\66\41\50\uffff\15"+
+            "\41\3\uffff\20\41\20\uffff\4\41\17\uffff\2\41\30\uffff\3\41"+
+            "\31\uffff\1\41\6\uffff\5\41\1\uffff\u0087\41\2\uffff\1\41\4"+
+            "\uffff\1\41\13\uffff\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff"+
+            "\32\41\12\uffff\132\41\3\uffff\6\41\2\uffff\6\41\2\uffff\6\41"+
+            "\2\uffff\3\41\3\uffff\2\41\3\uffff\2\41\22\uffff\3\41",
             "\1\120",
-            "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26\105\uffff"+
-            "\100\26",
+            "\11\41\5\uffff\16\41\10\uffff\1\41\13\uffff\12\41\7\uffff"+
+            "\32\41\4\uffff\1\41\1\uffff\32\41\4\uffff\41\41\2\uffff\4\41"+
+            "\4\uffff\1\41\2\uffff\1\41\7\uffff\1\41\4\uffff\1\41\5\uffff"+
+            "\27\41\1\uffff\37\41\1\uffff\u013f\41\31\uffff\162\41\4\uffff"+
+            "\14\41\16\uffff\5\41\11\uffff\1\41\21\uffff\130\41\5\uffff\23"+
+            "\41\12\uffff\1\41\13\uffff\1\41\1\uffff\3\41\1\uffff\1\41\1"+
+            "\uffff\24\41\1\uffff\54\41\1\uffff\46\41\1\uffff\5\41\4\uffff"+
+            "\u0082\41\1\uffff\4\41\3\uffff\105\41\1\uffff\46\41\2\uffff"+
+            "\2\41\6\uffff\20\41\41\uffff\46\41\2\uffff\1\41\7\uffff\47\41"+
+            "\11\uffff\21\41\1\uffff\27\41\1\uffff\3\41\1\uffff\1\41\1\uffff"+
+            "\2\41\1\uffff\1\41\13\uffff\33\41\5\uffff\3\41\15\uffff\4\41"+
+            "\14\uffff\6\41\13\uffff\32\41\5\uffff\31\41\7\uffff\12\41\4"+
+            "\uffff\146\41\1\uffff\11\41\1\uffff\12\41\1\uffff\23\41\2\uffff"+
+            "\1\41\17\uffff\74\41\2\uffff\3\41\60\uffff\62\41\u014f\uffff"+
+            "\71\41\2\uffff\22\41\2\uffff\5\41\3\uffff\14\41\2\uffff\12\41"+
+            "\21\uffff\3\41\1\uffff\10\41\2\uffff\2\41\2\uffff\26\41\1\uffff"+
+            "\7\41\1\uffff\1\41\3\uffff\4\41\2\uffff\11\41\2\uffff\2\41\2"+
+            "\uffff\3\41\11\uffff\1\41\4\uffff\2\41\1\uffff\5\41\2\uffff"+
+            "\16\41\15\uffff\3\41\1\uffff\6\41\4\uffff\2\41\2\uffff\26\41"+
+            "\1\uffff\7\41\1\uffff\2\41\1\uffff\2\41\1\uffff\2\41\2\uffff"+
+            "\1\41\1\uffff\5\41\4\uffff\2\41\2\uffff\3\41\13\uffff\4\41\1"+
+            "\uffff\1\41\7\uffff\17\41\14\uffff\3\41\1\uffff\11\41\1\uffff"+
+            "\3\41\1\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff\5\41\2"+
+            "\uffff\12\41\1\uffff\3\41\1\uffff\3\41\2\uffff\1\41\17\uffff"+
+            "\4\41\2\uffff\12\41\1\uffff\1\41\17\uffff\3\41\1\uffff\10\41"+
+            "\2\uffff\2\41\2\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff"+
+            "\5\41\2\uffff\10\41\3\uffff\2\41\2\uffff\3\41\10\uffff\2\41"+
+            "\4\uffff\2\41\1\uffff\3\41\4\uffff\12\41\1\uffff\1\41\20\uffff"+
+            "\2\41\1\uffff\6\41\3\uffff\3\41\1\uffff\4\41\3\uffff\2\41\1"+
+            "\uffff\1\41\1\uffff\2\41\3\uffff\2\41\3\uffff\3\41\3\uffff\10"+
+            "\41\1\uffff\3\41\4\uffff\5\41\3\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\17\uffff\11\41\11\uffff\1\41\7\uffff\3\41\1\uffff\10\41"+
+            "\1\uffff\3\41\1\uffff\27\41\1\uffff\12\41\1\uffff\5\41\4\uffff"+
+            "\7\41\1\uffff\3\41\1\uffff\4\41\7\uffff\2\41\11\uffff\2\41\4"+
+            "\uffff\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff"+
+            "\27\41\1\uffff\12\41\1\uffff\5\41\2\uffff\11\41\1\uffff\3\41"+
+            "\1\uffff\4\41\7\uffff\2\41\7\uffff\1\41\1\uffff\2\41\4\uffff"+
+            "\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff\27\41"+
+            "\1\uffff\20\41\4\uffff\6\41\2\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\10\uffff\2\41\4\uffff\12\41\22\uffff\2\41\1\uffff\22\41"+
+            "\3\uffff\30\41\1\uffff\11\41\1\uffff\1\41\2\uffff\7\41\3\uffff"+
+            "\1\41\4\uffff\6\41\1\uffff\1\41\1\uffff\10\41\22\uffff\2\41"+
+            "\15\uffff\72\41\4\uffff\20\41\1\uffff\12\41\47\uffff\2\41\1"+
+            "\uffff\1\41\2\uffff\2\41\1\uffff\1\41\2\uffff\1\41\6\uffff\4"+
+            "\41\1\uffff\7\41\1\uffff\3\41\1\uffff\1\41\1\uffff\1\41\2\uffff"+
+            "\2\41\1\uffff\15\41\1\uffff\3\41\2\uffff\5\41\1\uffff\1\41\1"+
+            "\uffff\6\41\2\uffff\12\41\2\uffff\2\41\42\uffff\1\41\27\uffff"+
+            "\2\41\6\uffff\12\41\13\uffff\1\41\1\uffff\1\41\1\uffff\1\41"+
+            "\4\uffff\12\41\1\uffff\42\41\6\uffff\24\41\1\uffff\6\41\4\uffff"+
+            "\10\41\1\uffff\44\41\11\uffff\1\41\71\uffff\42\41\1\uffff\5"+
+            "\41\1\uffff\2\41\1\uffff\7\41\3\uffff\4\41\6\uffff\12\41\6\uffff"+
+            "\12\41\106\uffff\46\41\12\uffff\51\41\7\uffff\132\41\5\uffff"+
+            "\104\41\5\uffff\122\41\6\uffff\7\41\1\uffff\77\41\1\uffff\1"+
+            "\41\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\47\41\1\uffff\1\41\1\uffff\4\41\2\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\7\41\1\uffff\7\41\1\uffff\27\41\1\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\47\41\1\uffff\23\41\16\uffff"+
+            "\11\41\56\uffff\125\41\14\uffff\u026c\41\2\uffff\10\41\12\uffff"+
+            "\32\41\5\uffff\113\41\3\uffff\3\41\17\uffff\15\41\1\uffff\7"+
+            "\41\13\uffff\25\41\13\uffff\24\41\14\uffff\15\41\1\uffff\3\41"+
+            "\1\uffff\2\41\14\uffff\124\41\3\uffff\1\41\3\uffff\3\41\2\uffff"+
+            "\12\41\41\uffff\3\41\2\uffff\12\41\6\uffff\130\41\10\uffff\52"+
+            "\41\126\uffff\35\41\3\uffff\14\41\4\uffff\14\41\12\uffff\50"+
+            "\41\2\uffff\5\41\u038b\uffff\154\41\u0094\uffff\u009c\41\4\uffff"+
+            "\132\41\6\uffff\26\41\2\uffff\6\41\2\uffff\46\41\2\uffff\6\41"+
+            "\2\uffff\10\41\1\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff"+
+            "\37\41\2\uffff\65\41\1\uffff\7\41\1\uffff\1\41\3\uffff\3\41"+
+            "\1\uffff\7\41\3\uffff\4\41\2\uffff\6\41\4\uffff\15\41\5\uffff"+
+            "\3\41\1\uffff\7\41\17\uffff\4\41\32\uffff\5\41\20\uffff\2\41"+
+            "\23\uffff\1\41\13\uffff\4\41\6\uffff\6\41\1\uffff\1\41\15\uffff"+
+            "\1\41\40\uffff\22\41\36\uffff\15\41\4\uffff\1\41\3\uffff\6\41"+
+            "\27\uffff\1\41\4\uffff\1\41\2\uffff\12\41\1\uffff\1\41\3\uffff"+
+            "\5\41\6\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff\4\41\1"+
+            "\uffff\3\41\1\uffff\7\41\3\uffff\3\41\5\uffff\5\41\26\uffff"+
+            "\44\41\u0e81\uffff\3\41\31\uffff\17\41\1\uffff\5\41\2\uffff"+
+            "\5\41\4\uffff\126\41\2\uffff\2\41\2\uffff\3\41\1\uffff\137\41"+
+            "\5\uffff\50\41\4\uffff\136\41\21\uffff\30\41\70\uffff\20\41"+
+            "\u0200\uffff\u19b6\41\112\uffff\u51a6\41\132\uffff\u048d\41"+
+            "\u0773\uffff\u2ba4\41\u215c\uffff\u012e\41\2\uffff\73\41\u0095"+
+            "\uffff\7\41\14\uffff\5\41\5\uffff\14\41\1\uffff\15\41\1\uffff"+
+            "\5\41\1\uffff\1\41\1\uffff\2\41\1\uffff\2\41\1\uffff\154\41"+
+            "\41\uffff\u016b\41\22\uffff\100\41\2\uffff\66\41\50\uffff\15"+
+            "\41\3\uffff\20\41\20\uffff\4\41\17\uffff\2\41\30\uffff\3\41"+
+            "\31\uffff\1\41\6\uffff\5\41\1\uffff\u0087\41\2\uffff\1\41\4"+
+            "\uffff\1\41\13\uffff\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff"+
+            "\32\41\12\uffff\132\41\3\uffff\6\41\2\uffff\6\41\2\uffff\6\41"+
+            "\2\uffff\3\41\3\uffff\2\41\3\uffff\2\41\22\uffff\3\41",
             "\1\122",
             "\1\123",
-            "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26\105\uffff"+
-            "\100\26",
-            "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26\105\uffff"+
-            "\100\26",
-            "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26\105\uffff"+
-            "\100\26",
+            "\11\41\5\uffff\16\41\10\uffff\1\41\13\uffff\12\41\7\uffff"+
+            "\32\41\4\uffff\1\41\1\uffff\32\41\4\uffff\41\41\2\uffff\4\41"+
+            "\4\uffff\1\41\2\uffff\1\41\7\uffff\1\41\4\uffff\1\41\5\uffff"+
+            "\27\41\1\uffff\37\41\1\uffff\u013f\41\31\uffff\162\41\4\uffff"+
+            "\14\41\16\uffff\5\41\11\uffff\1\41\21\uffff\130\41\5\uffff\23"+
+            "\41\12\uffff\1\41\13\uffff\1\41\1\uffff\3\41\1\uffff\1\41\1"+
+            "\uffff\24\41\1\uffff\54\41\1\uffff\46\41\1\uffff\5\41\4\uffff"+
+            "\u0082\41\1\uffff\4\41\3\uffff\105\41\1\uffff\46\41\2\uffff"+
+            "\2\41\6\uffff\20\41\41\uffff\46\41\2\uffff\1\41\7\uffff\47\41"+
+            "\11\uffff\21\41\1\uffff\27\41\1\uffff\3\41\1\uffff\1\41\1\uffff"+
+            "\2\41\1\uffff\1\41\13\uffff\33\41\5\uffff\3\41\15\uffff\4\41"+
+            "\14\uffff\6\41\13\uffff\32\41\5\uffff\31\41\7\uffff\12\41\4"+
+            "\uffff\146\41\1\uffff\11\41\1\uffff\12\41\1\uffff\23\41\2\uffff"+
+            "\1\41\17\uffff\74\41\2\uffff\3\41\60\uffff\62\41\u014f\uffff"+
+            "\71\41\2\uffff\22\41\2\uffff\5\41\3\uffff\14\41\2\uffff\12\41"+
+            "\21\uffff\3\41\1\uffff\10\41\2\uffff\2\41\2\uffff\26\41\1\uffff"+
+            "\7\41\1\uffff\1\41\3\uffff\4\41\2\uffff\11\41\2\uffff\2\41\2"+
+            "\uffff\3\41\11\uffff\1\41\4\uffff\2\41\1\uffff\5\41\2\uffff"+
+            "\16\41\15\uffff\3\41\1\uffff\6\41\4\uffff\2\41\2\uffff\26\41"+
+            "\1\uffff\7\41\1\uffff\2\41\1\uffff\2\41\1\uffff\2\41\2\uffff"+
+            "\1\41\1\uffff\5\41\4\uffff\2\41\2\uffff\3\41\13\uffff\4\41\1"+
+            "\uffff\1\41\7\uffff\17\41\14\uffff\3\41\1\uffff\11\41\1\uffff"+
+            "\3\41\1\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff\5\41\2"+
+            "\uffff\12\41\1\uffff\3\41\1\uffff\3\41\2\uffff\1\41\17\uffff"+
+            "\4\41\2\uffff\12\41\1\uffff\1\41\17\uffff\3\41\1\uffff\10\41"+
+            "\2\uffff\2\41\2\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff"+
+            "\5\41\2\uffff\10\41\3\uffff\2\41\2\uffff\3\41\10\uffff\2\41"+
+            "\4\uffff\2\41\1\uffff\3\41\4\uffff\12\41\1\uffff\1\41\20\uffff"+
+            "\2\41\1\uffff\6\41\3\uffff\3\41\1\uffff\4\41\3\uffff\2\41\1"+
+            "\uffff\1\41\1\uffff\2\41\3\uffff\2\41\3\uffff\3\41\3\uffff\10"+
+            "\41\1\uffff\3\41\4\uffff\5\41\3\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\17\uffff\11\41\11\uffff\1\41\7\uffff\3\41\1\uffff\10\41"+
+            "\1\uffff\3\41\1\uffff\27\41\1\uffff\12\41\1\uffff\5\41\4\uffff"+
+            "\7\41\1\uffff\3\41\1\uffff\4\41\7\uffff\2\41\11\uffff\2\41\4"+
+            "\uffff\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff"+
+            "\27\41\1\uffff\12\41\1\uffff\5\41\2\uffff\11\41\1\uffff\3\41"+
+            "\1\uffff\4\41\7\uffff\2\41\7\uffff\1\41\1\uffff\2\41\4\uffff"+
+            "\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff\27\41"+
+            "\1\uffff\20\41\4\uffff\6\41\2\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\10\uffff\2\41\4\uffff\12\41\22\uffff\2\41\1\uffff\22\41"+
+            "\3\uffff\30\41\1\uffff\11\41\1\uffff\1\41\2\uffff\7\41\3\uffff"+
+            "\1\41\4\uffff\6\41\1\uffff\1\41\1\uffff\10\41\22\uffff\2\41"+
+            "\15\uffff\72\41\4\uffff\20\41\1\uffff\12\41\47\uffff\2\41\1"+
+            "\uffff\1\41\2\uffff\2\41\1\uffff\1\41\2\uffff\1\41\6\uffff\4"+
+            "\41\1\uffff\7\41\1\uffff\3\41\1\uffff\1\41\1\uffff\1\41\2\uffff"+
+            "\2\41\1\uffff\15\41\1\uffff\3\41\2\uffff\5\41\1\uffff\1\41\1"+
+            "\uffff\6\41\2\uffff\12\41\2\uffff\2\41\42\uffff\1\41\27\uffff"+
+            "\2\41\6\uffff\12\41\13\uffff\1\41\1\uffff\1\41\1\uffff\1\41"+
+            "\4\uffff\12\41\1\uffff\42\41\6\uffff\24\41\1\uffff\6\41\4\uffff"+
+            "\10\41\1\uffff\44\41\11\uffff\1\41\71\uffff\42\41\1\uffff\5"+
+            "\41\1\uffff\2\41\1\uffff\7\41\3\uffff\4\41\6\uffff\12\41\6\uffff"+
+            "\12\41\106\uffff\46\41\12\uffff\51\41\7\uffff\132\41\5\uffff"+
+            "\104\41\5\uffff\122\41\6\uffff\7\41\1\uffff\77\41\1\uffff\1"+
+            "\41\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\47\41\1\uffff\1\41\1\uffff\4\41\2\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\7\41\1\uffff\7\41\1\uffff\27\41\1\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\47\41\1\uffff\23\41\16\uffff"+
+            "\11\41\56\uffff\125\41\14\uffff\u026c\41\2\uffff\10\41\12\uffff"+
+            "\32\41\5\uffff\113\41\3\uffff\3\41\17\uffff\15\41\1\uffff\7"+
+            "\41\13\uffff\25\41\13\uffff\24\41\14\uffff\15\41\1\uffff\3\41"+
+            "\1\uffff\2\41\14\uffff\124\41\3\uffff\1\41\3\uffff\3\41\2\uffff"+
+            "\12\41\41\uffff\3\41\2\uffff\12\41\6\uffff\130\41\10\uffff\52"+
+            "\41\126\uffff\35\41\3\uffff\14\41\4\uffff\14\41\12\uffff\50"+
+            "\41\2\uffff\5\41\u038b\uffff\154\41\u0094\uffff\u009c\41\4\uffff"+
+            "\132\41\6\uffff\26\41\2\uffff\6\41\2\uffff\46\41\2\uffff\6\41"+
+            "\2\uffff\10\41\1\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff"+
+            "\37\41\2\uffff\65\41\1\uffff\7\41\1\uffff\1\41\3\uffff\3\41"+
+            "\1\uffff\7\41\3\uffff\4\41\2\uffff\6\41\4\uffff\15\41\5\uffff"+
+            "\3\41\1\uffff\7\41\17\uffff\4\41\32\uffff\5\41\20\uffff\2\41"+
+            "\23\uffff\1\41\13\uffff\4\41\6\uffff\6\41\1\uffff\1\41\15\uffff"+
+            "\1\41\40\uffff\22\41\36\uffff\15\41\4\uffff\1\41\3\uffff\6\41"+
+            "\27\uffff\1\41\4\uffff\1\41\2\uffff\12\41\1\uffff\1\41\3\uffff"+
+            "\5\41\6\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff\4\41\1"+
+            "\uffff\3\41\1\uffff\7\41\3\uffff\3\41\5\uffff\5\41\26\uffff"+
+            "\44\41\u0e81\uffff\3\41\31\uffff\17\41\1\uffff\5\41\2\uffff"+
+            "\5\41\4\uffff\126\41\2\uffff\2\41\2\uffff\3\41\1\uffff\137\41"+
+            "\5\uffff\50\41\4\uffff\136\41\21\uffff\30\41\70\uffff\20\41"+
+            "\u0200\uffff\u19b6\41\112\uffff\u51a6\41\132\uffff\u048d\41"+
+            "\u0773\uffff\u2ba4\41\u215c\uffff\u012e\41\2\uffff\73\41\u0095"+
+            "\uffff\7\41\14\uffff\5\41\5\uffff\14\41\1\uffff\15\41\1\uffff"+
+            "\5\41\1\uffff\1\41\1\uffff\2\41\1\uffff\2\41\1\uffff\154\41"+
+            "\41\uffff\u016b\41\22\uffff\100\41\2\uffff\66\41\50\uffff\15"+
+            "\41\3\uffff\20\41\20\uffff\4\41\17\uffff\2\41\30\uffff\3\41"+
+            "\31\uffff\1\41\6\uffff\5\41\1\uffff\u0087\41\2\uffff\1\41\4"+
+            "\uffff\1\41\13\uffff\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff"+
+            "\32\41\12\uffff\132\41\3\uffff\6\41\2\uffff\6\41\2\uffff\6\41"+
+            "\2\uffff\3\41\3\uffff\2\41\3\uffff\2\41\22\uffff\3\41",
+            "\11\41\5\uffff\16\41\10\uffff\1\41\13\uffff\12\41\7\uffff"+
+            "\32\41\4\uffff\1\41\1\uffff\32\41\4\uffff\41\41\2\uffff\4\41"+
+            "\4\uffff\1\41\2\uffff\1\41\7\uffff\1\41\4\uffff\1\41\5\uffff"+
+            "\27\41\1\uffff\37\41\1\uffff\u013f\41\31\uffff\162\41\4\uffff"+
+            "\14\41\16\uffff\5\41\11\uffff\1\41\21\uffff\130\41\5\uffff\23"+
+            "\41\12\uffff\1\41\13\uffff\1\41\1\uffff\3\41\1\uffff\1\41\1"+
+            "\uffff\24\41\1\uffff\54\41\1\uffff\46\41\1\uffff\5\41\4\uffff"+
+            "\u0082\41\1\uffff\4\41\3\uffff\105\41\1\uffff\46\41\2\uffff"+
+            "\2\41\6\uffff\20\41\41\uffff\46\41\2\uffff\1\41\7\uffff\47\41"+
+            "\11\uffff\21\41\1\uffff\27\41\1\uffff\3\41\1\uffff\1\41\1\uffff"+
+            "\2\41\1\uffff\1\41\13\uffff\33\41\5\uffff\3\41\15\uffff\4\41"+
+            "\14\uffff\6\41\13\uffff\32\41\5\uffff\31\41\7\uffff\12\41\4"+
+            "\uffff\146\41\1\uffff\11\41\1\uffff\12\41\1\uffff\23\41\2\uffff"+
+            "\1\41\17\uffff\74\41\2\uffff\3\41\60\uffff\62\41\u014f\uffff"+
+            "\71\41\2\uffff\22\41\2\uffff\5\41\3\uffff\14\41\2\uffff\12\41"+
+            "\21\uffff\3\41\1\uffff\10\41\2\uffff\2\41\2\uffff\26\41\1\uffff"+
+            "\7\41\1\uffff\1\41\3\uffff\4\41\2\uffff\11\41\2\uffff\2\41\2"+
+            "\uffff\3\41\11\uffff\1\41\4\uffff\2\41\1\uffff\5\41\2\uffff"+
+            "\16\41\15\uffff\3\41\1\uffff\6\41\4\uffff\2\41\2\uffff\26\41"+
+            "\1\uffff\7\41\1\uffff\2\41\1\uffff\2\41\1\uffff\2\41\2\uffff"+
+            "\1\41\1\uffff\5\41\4\uffff\2\41\2\uffff\3\41\13\uffff\4\41\1"+
+            "\uffff\1\41\7\uffff\17\41\14\uffff\3\41\1\uffff\11\41\1\uffff"+
+            "\3\41\1\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff\5\41\2"+
+            "\uffff\12\41\1\uffff\3\41\1\uffff\3\41\2\uffff\1\41\17\uffff"+
+            "\4\41\2\uffff\12\41\1\uffff\1\41\17\uffff\3\41\1\uffff\10\41"+
+            "\2\uffff\2\41\2\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff"+
+            "\5\41\2\uffff\10\41\3\uffff\2\41\2\uffff\3\41\10\uffff\2\41"+
+            "\4\uffff\2\41\1\uffff\3\41\4\uffff\12\41\1\uffff\1\41\20\uffff"+
+            "\2\41\1\uffff\6\41\3\uffff\3\41\1\uffff\4\41\3\uffff\2\41\1"+
+            "\uffff\1\41\1\uffff\2\41\3\uffff\2\41\3\uffff\3\41\3\uffff\10"+
+            "\41\1\uffff\3\41\4\uffff\5\41\3\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\17\uffff\11\41\11\uffff\1\41\7\uffff\3\41\1\uffff\10\41"+
+            "\1\uffff\3\41\1\uffff\27\41\1\uffff\12\41\1\uffff\5\41\4\uffff"+
+            "\7\41\1\uffff\3\41\1\uffff\4\41\7\uffff\2\41\11\uffff\2\41\4"+
+            "\uffff\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff"+
+            "\27\41\1\uffff\12\41\1\uffff\5\41\2\uffff\11\41\1\uffff\3\41"+
+            "\1\uffff\4\41\7\uffff\2\41\7\uffff\1\41\1\uffff\2\41\4\uffff"+
+            "\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff\27\41"+
+            "\1\uffff\20\41\4\uffff\6\41\2\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\10\uffff\2\41\4\uffff\12\41\22\uffff\2\41\1\uffff\22\41"+
+            "\3\uffff\30\41\1\uffff\11\41\1\uffff\1\41\2\uffff\7\41\3\uffff"+
+            "\1\41\4\uffff\6\41\1\uffff\1\41\1\uffff\10\41\22\uffff\2\41"+
+            "\15\uffff\72\41\4\uffff\20\41\1\uffff\12\41\47\uffff\2\41\1"+
+            "\uffff\1\41\2\uffff\2\41\1\uffff\1\41\2\uffff\1\41\6\uffff\4"+
+            "\41\1\uffff\7\41\1\uffff\3\41\1\uffff\1\41\1\uffff\1\41\2\uffff"+
+            "\2\41\1\uffff\15\41\1\uffff\3\41\2\uffff\5\41\1\uffff\1\41\1"+
+            "\uffff\6\41\2\uffff\12\41\2\uffff\2\41\42\uffff\1\41\27\uffff"+
+            "\2\41\6\uffff\12\41\13\uffff\1\41\1\uffff\1\41\1\uffff\1\41"+
+            "\4\uffff\12\41\1\uffff\42\41\6\uffff\24\41\1\uffff\6\41\4\uffff"+
+            "\10\41\1\uffff\44\41\11\uffff\1\41\71\uffff\42\41\1\uffff\5"+
+            "\41\1\uffff\2\41\1\uffff\7\41\3\uffff\4\41\6\uffff\12\41\6\uffff"+
+            "\12\41\106\uffff\46\41\12\uffff\51\41\7\uffff\132\41\5\uffff"+
+            "\104\41\5\uffff\122\41\6\uffff\7\41\1\uffff\77\41\1\uffff\1"+
+            "\41\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\47\41\1\uffff\1\41\1\uffff\4\41\2\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\7\41\1\uffff\7\41\1\uffff\27\41\1\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\47\41\1\uffff\23\41\16\uffff"+
+            "\11\41\56\uffff\125\41\14\uffff\u026c\41\2\uffff\10\41\12\uffff"+
+            "\32\41\5\uffff\113\41\3\uffff\3\41\17\uffff\15\41\1\uffff\7"+
+            "\41\13\uffff\25\41\13\uffff\24\41\14\uffff\15\41\1\uffff\3\41"+
+            "\1\uffff\2\41\14\uffff\124\41\3\uffff\1\41\3\uffff\3\41\2\uffff"+
+            "\12\41\41\uffff\3\41\2\uffff\12\41\6\uffff\130\41\10\uffff\52"+
+            "\41\126\uffff\35\41\3\uffff\14\41\4\uffff\14\41\12\uffff\50"+
+            "\41\2\uffff\5\41\u038b\uffff\154\41\u0094\uffff\u009c\41\4\uffff"+
+            "\132\41\6\uffff\26\41\2\uffff\6\41\2\uffff\46\41\2\uffff\6\41"+
+            "\2\uffff\10\41\1\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff"+
+            "\37\41\2\uffff\65\41\1\uffff\7\41\1\uffff\1\41\3\uffff\3\41"+
+            "\1\uffff\7\41\3\uffff\4\41\2\uffff\6\41\4\uffff\15\41\5\uffff"+
+            "\3\41\1\uffff\7\41\17\uffff\4\41\32\uffff\5\41\20\uffff\2\41"+
+            "\23\uffff\1\41\13\uffff\4\41\6\uffff\6\41\1\uffff\1\41\15\uffff"+
+            "\1\41\40\uffff\22\41\36\uffff\15\41\4\uffff\1\41\3\uffff\6\41"+
+            "\27\uffff\1\41\4\uffff\1\41\2\uffff\12\41\1\uffff\1\41\3\uffff"+
+            "\5\41\6\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff\4\41\1"+
+            "\uffff\3\41\1\uffff\7\41\3\uffff\3\41\5\uffff\5\41\26\uffff"+
+            "\44\41\u0e81\uffff\3\41\31\uffff\17\41\1\uffff\5\41\2\uffff"+
+            "\5\41\4\uffff\126\41\2\uffff\2\41\2\uffff\3\41\1\uffff\137\41"+
+            "\5\uffff\50\41\4\uffff\136\41\21\uffff\30\41\70\uffff\20\41"+
+            "\u0200\uffff\u19b6\41\112\uffff\u51a6\41\132\uffff\u048d\41"+
+            "\u0773\uffff\u2ba4\41\u215c\uffff\u012e\41\2\uffff\73\41\u0095"+
+            "\uffff\7\41\14\uffff\5\41\5\uffff\14\41\1\uffff\15\41\1\uffff"+
+            "\5\41\1\uffff\1\41\1\uffff\2\41\1\uffff\2\41\1\uffff\154\41"+
+            "\41\uffff\u016b\41\22\uffff\100\41\2\uffff\66\41\50\uffff\15"+
+            "\41\3\uffff\20\41\20\uffff\4\41\17\uffff\2\41\30\uffff\3\41"+
+            "\31\uffff\1\41\6\uffff\5\41\1\uffff\u0087\41\2\uffff\1\41\4"+
+            "\uffff\1\41\13\uffff\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff"+
+            "\32\41\12\uffff\132\41\3\uffff\6\41\2\uffff\6\41\2\uffff\6\41"+
+            "\2\uffff\3\41\3\uffff\2\41\3\uffff\2\41\22\uffff\3\41",
+            "\11\41\5\uffff\16\41\10\uffff\1\41\13\uffff\12\41\7\uffff"+
+            "\32\41\4\uffff\1\41\1\uffff\32\41\4\uffff\41\41\2\uffff\4\41"+
+            "\4\uffff\1\41\2\uffff\1\41\7\uffff\1\41\4\uffff\1\41\5\uffff"+
+            "\27\41\1\uffff\37\41\1\uffff\u013f\41\31\uffff\162\41\4\uffff"+
+            "\14\41\16\uffff\5\41\11\uffff\1\41\21\uffff\130\41\5\uffff\23"+
+            "\41\12\uffff\1\41\13\uffff\1\41\1\uffff\3\41\1\uffff\1\41\1"+
+            "\uffff\24\41\1\uffff\54\41\1\uffff\46\41\1\uffff\5\41\4\uffff"+
+            "\u0082\41\1\uffff\4\41\3\uffff\105\41\1\uffff\46\41\2\uffff"+
+            "\2\41\6\uffff\20\41\41\uffff\46\41\2\uffff\1\41\7\uffff\47\41"+
+            "\11\uffff\21\41\1\uffff\27\41\1\uffff\3\41\1\uffff\1\41\1\uffff"+
+            "\2\41\1\uffff\1\41\13\uffff\33\41\5\uffff\3\41\15\uffff\4\41"+
+            "\14\uffff\6\41\13\uffff\32\41\5\uffff\31\41\7\uffff\12\41\4"+
+            "\uffff\146\41\1\uffff\11\41\1\uffff\12\41\1\uffff\23\41\2\uffff"+
+            "\1\41\17\uffff\74\41\2\uffff\3\41\60\uffff\62\41\u014f\uffff"+
+            "\71\41\2\uffff\22\41\2\uffff\5\41\3\uffff\14\41\2\uffff\12\41"+
+            "\21\uffff\3\41\1\uffff\10\41\2\uffff\2\41\2\uffff\26\41\1\uffff"+
+            "\7\41\1\uffff\1\41\3\uffff\4\41\2\uffff\11\41\2\uffff\2\41\2"+
+            "\uffff\3\41\11\uffff\1\41\4\uffff\2\41\1\uffff\5\41\2\uffff"+
+            "\16\41\15\uffff\3\41\1\uffff\6\41\4\uffff\2\41\2\uffff\26\41"+
+            "\1\uffff\7\41\1\uffff\2\41\1\uffff\2\41\1\uffff\2\41\2\uffff"+
+            "\1\41\1\uffff\5\41\4\uffff\2\41\2\uffff\3\41\13\uffff\4\41\1"+
+            "\uffff\1\41\7\uffff\17\41\14\uffff\3\41\1\uffff\11\41\1\uffff"+
+            "\3\41\1\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff\5\41\2"+
+            "\uffff\12\41\1\uffff\3\41\1\uffff\3\41\2\uffff\1\41\17\uffff"+
+            "\4\41\2\uffff\12\41\1\uffff\1\41\17\uffff\3\41\1\uffff\10\41"+
+            "\2\uffff\2\41\2\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff"+
+            "\5\41\2\uffff\10\41\3\uffff\2\41\2\uffff\3\41\10\uffff\2\41"+
+            "\4\uffff\2\41\1\uffff\3\41\4\uffff\12\41\1\uffff\1\41\20\uffff"+
+            "\2\41\1\uffff\6\41\3\uffff\3\41\1\uffff\4\41\3\uffff\2\41\1"+
+            "\uffff\1\41\1\uffff\2\41\3\uffff\2\41\3\uffff\3\41\3\uffff\10"+
+            "\41\1\uffff\3\41\4\uffff\5\41\3\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\17\uffff\11\41\11\uffff\1\41\7\uffff\3\41\1\uffff\10\41"+
+            "\1\uffff\3\41\1\uffff\27\41\1\uffff\12\41\1\uffff\5\41\4\uffff"+
+            "\7\41\1\uffff\3\41\1\uffff\4\41\7\uffff\2\41\11\uffff\2\41\4"+
+            "\uffff\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff"+
+            "\27\41\1\uffff\12\41\1\uffff\5\41\2\uffff\11\41\1\uffff\3\41"+
+            "\1\uffff\4\41\7\uffff\2\41\7\uffff\1\41\1\uffff\2\41\4\uffff"+
+            "\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff\27\41"+
+            "\1\uffff\20\41\4\uffff\6\41\2\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\10\uffff\2\41\4\uffff\12\41\22\uffff\2\41\1\uffff\22\41"+
+            "\3\uffff\30\41\1\uffff\11\41\1\uffff\1\41\2\uffff\7\41\3\uffff"+
+            "\1\41\4\uffff\6\41\1\uffff\1\41\1\uffff\10\41\22\uffff\2\41"+
+            "\15\uffff\72\41\4\uffff\20\41\1\uffff\12\41\47\uffff\2\41\1"+
+            "\uffff\1\41\2\uffff\2\41\1\uffff\1\41\2\uffff\1\41\6\uffff\4"+
+            "\41\1\uffff\7\41\1\uffff\3\41\1\uffff\1\41\1\uffff\1\41\2\uffff"+
+            "\2\41\1\uffff\15\41\1\uffff\3\41\2\uffff\5\41\1\uffff\1\41\1"+
+            "\uffff\6\41\2\uffff\12\41\2\uffff\2\41\42\uffff\1\41\27\uffff"+
+            "\2\41\6\uffff\12\41\13\uffff\1\41\1\uffff\1\41\1\uffff\1\41"+
+            "\4\uffff\12\41\1\uffff\42\41\6\uffff\24\41\1\uffff\6\41\4\uffff"+
+            "\10\41\1\uffff\44\41\11\uffff\1\41\71\uffff\42\41\1\uffff\5"+
+            "\41\1\uffff\2\41\1\uffff\7\41\3\uffff\4\41\6\uffff\12\41\6\uffff"+
+            "\12\41\106\uffff\46\41\12\uffff\51\41\7\uffff\132\41\5\uffff"+
+            "\104\41\5\uffff\122\41\6\uffff\7\41\1\uffff\77\41\1\uffff\1"+
+            "\41\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\47\41\1\uffff\1\41\1\uffff\4\41\2\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\7\41\1\uffff\7\41\1\uffff\27\41\1\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\47\41\1\uffff\23\41\16\uffff"+
+            "\11\41\56\uffff\125\41\14\uffff\u026c\41\2\uffff\10\41\12\uffff"+
+            "\32\41\5\uffff\113\41\3\uffff\3\41\17\uffff\15\41\1\uffff\7"+
+            "\41\13\uffff\25\41\13\uffff\24\41\14\uffff\15\41\1\uffff\3\41"+
+            "\1\uffff\2\41\14\uffff\124\41\3\uffff\1\41\3\uffff\3\41\2\uffff"+
+            "\12\41\41\uffff\3\41\2\uffff\12\41\6\uffff\130\41\10\uffff\52"+
+            "\41\126\uffff\35\41\3\uffff\14\41\4\uffff\14\41\12\uffff\50"+
+            "\41\2\uffff\5\41\u038b\uffff\154\41\u0094\uffff\u009c\41\4\uffff"+
+            "\132\41\6\uffff\26\41\2\uffff\6\41\2\uffff\46\41\2\uffff\6\41"+
+            "\2\uffff\10\41\1\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff"+
+            "\37\41\2\uffff\65\41\1\uffff\7\41\1\uffff\1\41\3\uffff\3\41"+
+            "\1\uffff\7\41\3\uffff\4\41\2\uffff\6\41\4\uffff\15\41\5\uffff"+
+            "\3\41\1\uffff\7\41\17\uffff\4\41\32\uffff\5\41\20\uffff\2\41"+
+            "\23\uffff\1\41\13\uffff\4\41\6\uffff\6\41\1\uffff\1\41\15\uffff"+
+            "\1\41\40\uffff\22\41\36\uffff\15\41\4\uffff\1\41\3\uffff\6\41"+
+            "\27\uffff\1\41\4\uffff\1\41\2\uffff\12\41\1\uffff\1\41\3\uffff"+
+            "\5\41\6\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff\4\41\1"+
+            "\uffff\3\41\1\uffff\7\41\3\uffff\3\41\5\uffff\5\41\26\uffff"+
+            "\44\41\u0e81\uffff\3\41\31\uffff\17\41\1\uffff\5\41\2\uffff"+
+            "\5\41\4\uffff\126\41\2\uffff\2\41\2\uffff\3\41\1\uffff\137\41"+
+            "\5\uffff\50\41\4\uffff\136\41\21\uffff\30\41\70\uffff\20\41"+
+            "\u0200\uffff\u19b6\41\112\uffff\u51a6\41\132\uffff\u048d\41"+
+            "\u0773\uffff\u2ba4\41\u215c\uffff\u012e\41\2\uffff\73\41\u0095"+
+            "\uffff\7\41\14\uffff\5\41\5\uffff\14\41\1\uffff\15\41\1\uffff"+
+            "\5\41\1\uffff\1\41\1\uffff\2\41\1\uffff\2\41\1\uffff\154\41"+
+            "\41\uffff\u016b\41\22\uffff\100\41\2\uffff\66\41\50\uffff\15"+
+            "\41\3\uffff\20\41\20\uffff\4\41\17\uffff\2\41\30\uffff\3\41"+
+            "\31\uffff\1\41\6\uffff\5\41\1\uffff\u0087\41\2\uffff\1\41\4"+
+            "\uffff\1\41\13\uffff\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff"+
+            "\32\41\12\uffff\132\41\3\uffff\6\41\2\uffff\6\41\2\uffff\6\41"+
+            "\2\uffff\3\41\3\uffff\2\41\3\uffff\2\41\22\uffff\3\41",
             "",
             "",
-            "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26\105\uffff"+
-            "\100\26",
+            "\11\41\5\uffff\16\41\10\uffff\1\41\13\uffff\12\41\7\uffff"+
+            "\32\41\4\uffff\1\41\1\uffff\32\41\4\uffff\41\41\2\uffff\4\41"+
+            "\4\uffff\1\41\2\uffff\1\41\7\uffff\1\41\4\uffff\1\41\5\uffff"+
+            "\27\41\1\uffff\37\41\1\uffff\u013f\41\31\uffff\162\41\4\uffff"+
+            "\14\41\16\uffff\5\41\11\uffff\1\41\21\uffff\130\41\5\uffff\23"+
+            "\41\12\uffff\1\41\13\uffff\1\41\1\uffff\3\41\1\uffff\1\41\1"+
+            "\uffff\24\41\1\uffff\54\41\1\uffff\46\41\1\uffff\5\41\4\uffff"+
+            "\u0082\41\1\uffff\4\41\3\uffff\105\41\1\uffff\46\41\2\uffff"+
+            "\2\41\6\uffff\20\41\41\uffff\46\41\2\uffff\1\41\7\uffff\47\41"+
+            "\11\uffff\21\41\1\uffff\27\41\1\uffff\3\41\1\uffff\1\41\1\uffff"+
+            "\2\41\1\uffff\1\41\13\uffff\33\41\5\uffff\3\41\15\uffff\4\41"+
+            "\14\uffff\6\41\13\uffff\32\41\5\uffff\31\41\7\uffff\12\41\4"+
+            "\uffff\146\41\1\uffff\11\41\1\uffff\12\41\1\uffff\23\41\2\uffff"+
+            "\1\41\17\uffff\74\41\2\uffff\3\41\60\uffff\62\41\u014f\uffff"+
+            "\71\41\2\uffff\22\41\2\uffff\5\41\3\uffff\14\41\2\uffff\12\41"+
+            "\21\uffff\3\41\1\uffff\10\41\2\uffff\2\41\2\uffff\26\41\1\uffff"+
+            "\7\41\1\uffff\1\41\3\uffff\4\41\2\uffff\11\41\2\uffff\2\41\2"+
+            "\uffff\3\41\11\uffff\1\41\4\uffff\2\41\1\uffff\5\41\2\uffff"+
+            "\16\41\15\uffff\3\41\1\uffff\6\41\4\uffff\2\41\2\uffff\26\41"+
+            "\1\uffff\7\41\1\uffff\2\41\1\uffff\2\41\1\uffff\2\41\2\uffff"+
+            "\1\41\1\uffff\5\41\4\uffff\2\41\2\uffff\3\41\13\uffff\4\41\1"+
+            "\uffff\1\41\7\uffff\17\41\14\uffff\3\41\1\uffff\11\41\1\uffff"+
+            "\3\41\1\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff\5\41\2"+
+            "\uffff\12\41\1\uffff\3\41\1\uffff\3\41\2\uffff\1\41\17\uffff"+
+            "\4\41\2\uffff\12\41\1\uffff\1\41\17\uffff\3\41\1\uffff\10\41"+
+            "\2\uffff\2\41\2\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff"+
+            "\5\41\2\uffff\10\41\3\uffff\2\41\2\uffff\3\41\10\uffff\2\41"+
+            "\4\uffff\2\41\1\uffff\3\41\4\uffff\12\41\1\uffff\1\41\20\uffff"+
+            "\2\41\1\uffff\6\41\3\uffff\3\41\1\uffff\4\41\3\uffff\2\41\1"+
+            "\uffff\1\41\1\uffff\2\41\3\uffff\2\41\3\uffff\3\41\3\uffff\10"+
+            "\41\1\uffff\3\41\4\uffff\5\41\3\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\17\uffff\11\41\11\uffff\1\41\7\uffff\3\41\1\uffff\10\41"+
+            "\1\uffff\3\41\1\uffff\27\41\1\uffff\12\41\1\uffff\5\41\4\uffff"+
+            "\7\41\1\uffff\3\41\1\uffff\4\41\7\uffff\2\41\11\uffff\2\41\4"+
+            "\uffff\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff"+
+            "\27\41\1\uffff\12\41\1\uffff\5\41\2\uffff\11\41\1\uffff\3\41"+
+            "\1\uffff\4\41\7\uffff\2\41\7\uffff\1\41\1\uffff\2\41\4\uffff"+
+            "\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff\27\41"+
+            "\1\uffff\20\41\4\uffff\6\41\2\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\10\uffff\2\41\4\uffff\12\41\22\uffff\2\41\1\uffff\22\41"+
+            "\3\uffff\30\41\1\uffff\11\41\1\uffff\1\41\2\uffff\7\41\3\uffff"+
+            "\1\41\4\uffff\6\41\1\uffff\1\41\1\uffff\10\41\22\uffff\2\41"+
+            "\15\uffff\72\41\4\uffff\20\41\1\uffff\12\41\47\uffff\2\41\1"+
+            "\uffff\1\41\2\uffff\2\41\1\uffff\1\41\2\uffff\1\41\6\uffff\4"+
+            "\41\1\uffff\7\41\1\uffff\3\41\1\uffff\1\41\1\uffff\1\41\2\uffff"+
+            "\2\41\1\uffff\15\41\1\uffff\3\41\2\uffff\5\41\1\uffff\1\41\1"+
+            "\uffff\6\41\2\uffff\12\41\2\uffff\2\41\42\uffff\1\41\27\uffff"+
+            "\2\41\6\uffff\12\41\13\uffff\1\41\1\uffff\1\41\1\uffff\1\41"+
+            "\4\uffff\12\41\1\uffff\42\41\6\uffff\24\41\1\uffff\6\41\4\uffff"+
+            "\10\41\1\uffff\44\41\11\uffff\1\41\71\uffff\42\41\1\uffff\5"+
+            "\41\1\uffff\2\41\1\uffff\7\41\3\uffff\4\41\6\uffff\12\41\6\uffff"+
+            "\12\41\106\uffff\46\41\12\uffff\51\41\7\uffff\132\41\5\uffff"+
+            "\104\41\5\uffff\122\41\6\uffff\7\41\1\uffff\77\41\1\uffff\1"+
+            "\41\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\47\41\1\uffff\1\41\1\uffff\4\41\2\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\7\41\1\uffff\7\41\1\uffff\27\41\1\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\47\41\1\uffff\23\41\16\uffff"+
+            "\11\41\56\uffff\125\41\14\uffff\u026c\41\2\uffff\10\41\12\uffff"+
+            "\32\41\5\uffff\113\41\3\uffff\3\41\17\uffff\15\41\1\uffff\7"+
+            "\41\13\uffff\25\41\13\uffff\24\41\14\uffff\15\41\1\uffff\3\41"+
+            "\1\uffff\2\41\14\uffff\124\41\3\uffff\1\41\3\uffff\3\41\2\uffff"+
+            "\12\41\41\uffff\3\41\2\uffff\12\41\6\uffff\130\41\10\uffff\52"+
+            "\41\126\uffff\35\41\3\uffff\14\41\4\uffff\14\41\12\uffff\50"+
+            "\41\2\uffff\5\41\u038b\uffff\154\41\u0094\uffff\u009c\41\4\uffff"+
+            "\132\41\6\uffff\26\41\2\uffff\6\41\2\uffff\46\41\2\uffff\6\41"+
+            "\2\uffff\10\41\1\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff"+
+            "\37\41\2\uffff\65\41\1\uffff\7\41\1\uffff\1\41\3\uffff\3\41"+
+            "\1\uffff\7\41\3\uffff\4\41\2\uffff\6\41\4\uffff\15\41\5\uffff"+
+            "\3\41\1\uffff\7\41\17\uffff\4\41\32\uffff\5\41\20\uffff\2\41"+
+            "\23\uffff\1\41\13\uffff\4\41\6\uffff\6\41\1\uffff\1\41\15\uffff"+
+            "\1\41\40\uffff\22\41\36\uffff\15\41\4\uffff\1\41\3\uffff\6\41"+
+            "\27\uffff\1\41\4\uffff\1\41\2\uffff\12\41\1\uffff\1\41\3\uffff"+
+            "\5\41\6\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff\4\41\1"+
+            "\uffff\3\41\1\uffff\7\41\3\uffff\3\41\5\uffff\5\41\26\uffff"+
+            "\44\41\u0e81\uffff\3\41\31\uffff\17\41\1\uffff\5\41\2\uffff"+
+            "\5\41\4\uffff\126\41\2\uffff\2\41\2\uffff\3\41\1\uffff\137\41"+
+            "\5\uffff\50\41\4\uffff\136\41\21\uffff\30\41\70\uffff\20\41"+
+            "\u0200\uffff\u19b6\41\112\uffff\u51a6\41\132\uffff\u048d\41"+
+            "\u0773\uffff\u2ba4\41\u215c\uffff\u012e\41\2\uffff\73\41\u0095"+
+            "\uffff\7\41\14\uffff\5\41\5\uffff\14\41\1\uffff\15\41\1\uffff"+
+            "\5\41\1\uffff\1\41\1\uffff\2\41\1\uffff\2\41\1\uffff\154\41"+
+            "\41\uffff\u016b\41\22\uffff\100\41\2\uffff\66\41\50\uffff\15"+
+            "\41\3\uffff\20\41\20\uffff\4\41\17\uffff\2\41\30\uffff\3\41"+
+            "\31\uffff\1\41\6\uffff\5\41\1\uffff\u0087\41\2\uffff\1\41\4"+
+            "\uffff\1\41\13\uffff\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff"+
+            "\32\41\12\uffff\132\41\3\uffff\6\41\2\uffff\6\41\2\uffff\6\41"+
+            "\2\uffff\3\41\3\uffff\2\41\3\uffff\2\41\22\uffff\3\41",
             "",
             "\1\127",
             "\1\130",
@@ -2431,13 +3110,185 @@
             "\1\131",
             "\1\132",
             "\1\133",
-            "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26\105\uffff"+
-            "\100\26",
+            "\11\41\5\uffff\16\41\10\uffff\1\41\13\uffff\12\41\7\uffff"+
+            "\32\41\4\uffff\1\41\1\uffff\32\41\4\uffff\41\41\2\uffff\4\41"+
+            "\4\uffff\1\41\2\uffff\1\41\7\uffff\1\41\4\uffff\1\41\5\uffff"+
+            "\27\41\1\uffff\37\41\1\uffff\u013f\41\31\uffff\162\41\4\uffff"+
+            "\14\41\16\uffff\5\41\11\uffff\1\41\21\uffff\130\41\5\uffff\23"+
+            "\41\12\uffff\1\41\13\uffff\1\41\1\uffff\3\41\1\uffff\1\41\1"+
+            "\uffff\24\41\1\uffff\54\41\1\uffff\46\41\1\uffff\5\41\4\uffff"+
+            "\u0082\41\1\uffff\4\41\3\uffff\105\41\1\uffff\46\41\2\uffff"+
+            "\2\41\6\uffff\20\41\41\uffff\46\41\2\uffff\1\41\7\uffff\47\41"+
+            "\11\uffff\21\41\1\uffff\27\41\1\uffff\3\41\1\uffff\1\41\1\uffff"+
+            "\2\41\1\uffff\1\41\13\uffff\33\41\5\uffff\3\41\15\uffff\4\41"+
+            "\14\uffff\6\41\13\uffff\32\41\5\uffff\31\41\7\uffff\12\41\4"+
+            "\uffff\146\41\1\uffff\11\41\1\uffff\12\41\1\uffff\23\41\2\uffff"+
+            "\1\41\17\uffff\74\41\2\uffff\3\41\60\uffff\62\41\u014f\uffff"+
+            "\71\41\2\uffff\22\41\2\uffff\5\41\3\uffff\14\41\2\uffff\12\41"+
+            "\21\uffff\3\41\1\uffff\10\41\2\uffff\2\41\2\uffff\26\41\1\uffff"+
+            "\7\41\1\uffff\1\41\3\uffff\4\41\2\uffff\11\41\2\uffff\2\41\2"+
+            "\uffff\3\41\11\uffff\1\41\4\uffff\2\41\1\uffff\5\41\2\uffff"+
+            "\16\41\15\uffff\3\41\1\uffff\6\41\4\uffff\2\41\2\uffff\26\41"+
+            "\1\uffff\7\41\1\uffff\2\41\1\uffff\2\41\1\uffff\2\41\2\uffff"+
+            "\1\41\1\uffff\5\41\4\uffff\2\41\2\uffff\3\41\13\uffff\4\41\1"+
+            "\uffff\1\41\7\uffff\17\41\14\uffff\3\41\1\uffff\11\41\1\uffff"+
+            "\3\41\1\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff\5\41\2"+
+            "\uffff\12\41\1\uffff\3\41\1\uffff\3\41\2\uffff\1\41\17\uffff"+
+            "\4\41\2\uffff\12\41\1\uffff\1\41\17\uffff\3\41\1\uffff\10\41"+
+            "\2\uffff\2\41\2\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff"+
+            "\5\41\2\uffff\10\41\3\uffff\2\41\2\uffff\3\41\10\uffff\2\41"+
+            "\4\uffff\2\41\1\uffff\3\41\4\uffff\12\41\1\uffff\1\41\20\uffff"+
+            "\2\41\1\uffff\6\41\3\uffff\3\41\1\uffff\4\41\3\uffff\2\41\1"+
+            "\uffff\1\41\1\uffff\2\41\3\uffff\2\41\3\uffff\3\41\3\uffff\10"+
+            "\41\1\uffff\3\41\4\uffff\5\41\3\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\17\uffff\11\41\11\uffff\1\41\7\uffff\3\41\1\uffff\10\41"+
+            "\1\uffff\3\41\1\uffff\27\41\1\uffff\12\41\1\uffff\5\41\4\uffff"+
+            "\7\41\1\uffff\3\41\1\uffff\4\41\7\uffff\2\41\11\uffff\2\41\4"+
+            "\uffff\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff"+
+            "\27\41\1\uffff\12\41\1\uffff\5\41\2\uffff\11\41\1\uffff\3\41"+
+            "\1\uffff\4\41\7\uffff\2\41\7\uffff\1\41\1\uffff\2\41\4\uffff"+
+            "\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff\27\41"+
+            "\1\uffff\20\41\4\uffff\6\41\2\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\10\uffff\2\41\4\uffff\12\41\22\uffff\2\41\1\uffff\22\41"+
+            "\3\uffff\30\41\1\uffff\11\41\1\uffff\1\41\2\uffff\7\41\3\uffff"+
+            "\1\41\4\uffff\6\41\1\uffff\1\41\1\uffff\10\41\22\uffff\2\41"+
+            "\15\uffff\72\41\4\uffff\20\41\1\uffff\12\41\47\uffff\2\41\1"+
+            "\uffff\1\41\2\uffff\2\41\1\uffff\1\41\2\uffff\1\41\6\uffff\4"+
+            "\41\1\uffff\7\41\1\uffff\3\41\1\uffff\1\41\1\uffff\1\41\2\uffff"+
+            "\2\41\1\uffff\15\41\1\uffff\3\41\2\uffff\5\41\1\uffff\1\41\1"+
+            "\uffff\6\41\2\uffff\12\41\2\uffff\2\41\42\uffff\1\41\27\uffff"+
+            "\2\41\6\uffff\12\41\13\uffff\1\41\1\uffff\1\41\1\uffff\1\41"+
+            "\4\uffff\12\41\1\uffff\42\41\6\uffff\24\41\1\uffff\6\41\4\uffff"+
+            "\10\41\1\uffff\44\41\11\uffff\1\41\71\uffff\42\41\1\uffff\5"+
+            "\41\1\uffff\2\41\1\uffff\7\41\3\uffff\4\41\6\uffff\12\41\6\uffff"+
+            "\12\41\106\uffff\46\41\12\uffff\51\41\7\uffff\132\41\5\uffff"+
+            "\104\41\5\uffff\122\41\6\uffff\7\41\1\uffff\77\41\1\uffff\1"+
+            "\41\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\47\41\1\uffff\1\41\1\uffff\4\41\2\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\7\41\1\uffff\7\41\1\uffff\27\41\1\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\47\41\1\uffff\23\41\16\uffff"+
+            "\11\41\56\uffff\125\41\14\uffff\u026c\41\2\uffff\10\41\12\uffff"+
+            "\32\41\5\uffff\113\41\3\uffff\3\41\17\uffff\15\41\1\uffff\7"+
+            "\41\13\uffff\25\41\13\uffff\24\41\14\uffff\15\41\1\uffff\3\41"+
+            "\1\uffff\2\41\14\uffff\124\41\3\uffff\1\41\3\uffff\3\41\2\uffff"+
+            "\12\41\41\uffff\3\41\2\uffff\12\41\6\uffff\130\41\10\uffff\52"+
+            "\41\126\uffff\35\41\3\uffff\14\41\4\uffff\14\41\12\uffff\50"+
+            "\41\2\uffff\5\41\u038b\uffff\154\41\u0094\uffff\u009c\41\4\uffff"+
+            "\132\41\6\uffff\26\41\2\uffff\6\41\2\uffff\46\41\2\uffff\6\41"+
+            "\2\uffff\10\41\1\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff"+
+            "\37\41\2\uffff\65\41\1\uffff\7\41\1\uffff\1\41\3\uffff\3\41"+
+            "\1\uffff\7\41\3\uffff\4\41\2\uffff\6\41\4\uffff\15\41\5\uffff"+
+            "\3\41\1\uffff\7\41\17\uffff\4\41\32\uffff\5\41\20\uffff\2\41"+
+            "\23\uffff\1\41\13\uffff\4\41\6\uffff\6\41\1\uffff\1\41\15\uffff"+
+            "\1\41\40\uffff\22\41\36\uffff\15\41\4\uffff\1\41\3\uffff\6\41"+
+            "\27\uffff\1\41\4\uffff\1\41\2\uffff\12\41\1\uffff\1\41\3\uffff"+
+            "\5\41\6\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff\4\41\1"+
+            "\uffff\3\41\1\uffff\7\41\3\uffff\3\41\5\uffff\5\41\26\uffff"+
+            "\44\41\u0e81\uffff\3\41\31\uffff\17\41\1\uffff\5\41\2\uffff"+
+            "\5\41\4\uffff\126\41\2\uffff\2\41\2\uffff\3\41\1\uffff\137\41"+
+            "\5\uffff\50\41\4\uffff\136\41\21\uffff\30\41\70\uffff\20\41"+
+            "\u0200\uffff\u19b6\41\112\uffff\u51a6\41\132\uffff\u048d\41"+
+            "\u0773\uffff\u2ba4\41\u215c\uffff\u012e\41\2\uffff\73\41\u0095"+
+            "\uffff\7\41\14\uffff\5\41\5\uffff\14\41\1\uffff\15\41\1\uffff"+
+            "\5\41\1\uffff\1\41\1\uffff\2\41\1\uffff\2\41\1\uffff\154\41"+
+            "\41\uffff\u016b\41\22\uffff\100\41\2\uffff\66\41\50\uffff\15"+
+            "\41\3\uffff\20\41\20\uffff\4\41\17\uffff\2\41\30\uffff\3\41"+
+            "\31\uffff\1\41\6\uffff\5\41\1\uffff\u0087\41\2\uffff\1\41\4"+
+            "\uffff\1\41\13\uffff\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff"+
+            "\32\41\12\uffff\132\41\3\uffff\6\41\2\uffff\6\41\2\uffff\6\41"+
+            "\2\uffff\3\41\3\uffff\2\41\3\uffff\2\41\22\uffff\3\41",
             "\1\135",
             "",
             "\1\136",
-            "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26\105\uffff"+
-            "\100\26",
+            "\11\41\5\uffff\16\41\10\uffff\1\41\13\uffff\12\41\7\uffff"+
+            "\32\41\4\uffff\1\41\1\uffff\32\41\4\uffff\41\41\2\uffff\4\41"+
+            "\4\uffff\1\41\2\uffff\1\41\7\uffff\1\41\4\uffff\1\41\5\uffff"+
+            "\27\41\1\uffff\37\41\1\uffff\u013f\41\31\uffff\162\41\4\uffff"+
+            "\14\41\16\uffff\5\41\11\uffff\1\41\21\uffff\130\41\5\uffff\23"+
+            "\41\12\uffff\1\41\13\uffff\1\41\1\uffff\3\41\1\uffff\1\41\1"+
+            "\uffff\24\41\1\uffff\54\41\1\uffff\46\41\1\uffff\5\41\4\uffff"+
+            "\u0082\41\1\uffff\4\41\3\uffff\105\41\1\uffff\46\41\2\uffff"+
+            "\2\41\6\uffff\20\41\41\uffff\46\41\2\uffff\1\41\7\uffff\47\41"+
+            "\11\uffff\21\41\1\uffff\27\41\1\uffff\3\41\1\uffff\1\41\1\uffff"+
+            "\2\41\1\uffff\1\41\13\uffff\33\41\5\uffff\3\41\15\uffff\4\41"+
+            "\14\uffff\6\41\13\uffff\32\41\5\uffff\31\41\7\uffff\12\41\4"+
+            "\uffff\146\41\1\uffff\11\41\1\uffff\12\41\1\uffff\23\41\2\uffff"+
+            "\1\41\17\uffff\74\41\2\uffff\3\41\60\uffff\62\41\u014f\uffff"+
+            "\71\41\2\uffff\22\41\2\uffff\5\41\3\uffff\14\41\2\uffff\12\41"+
+            "\21\uffff\3\41\1\uffff\10\41\2\uffff\2\41\2\uffff\26\41\1\uffff"+
+            "\7\41\1\uffff\1\41\3\uffff\4\41\2\uffff\11\41\2\uffff\2\41\2"+
+            "\uffff\3\41\11\uffff\1\41\4\uffff\2\41\1\uffff\5\41\2\uffff"+
+            "\16\41\15\uffff\3\41\1\uffff\6\41\4\uffff\2\41\2\uffff\26\41"+
+            "\1\uffff\7\41\1\uffff\2\41\1\uffff\2\41\1\uffff\2\41\2\uffff"+
+            "\1\41\1\uffff\5\41\4\uffff\2\41\2\uffff\3\41\13\uffff\4\41\1"+
+            "\uffff\1\41\7\uffff\17\41\14\uffff\3\41\1\uffff\11\41\1\uffff"+
+            "\3\41\1\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff\5\41\2"+
+            "\uffff\12\41\1\uffff\3\41\1\uffff\3\41\2\uffff\1\41\17\uffff"+
+            "\4\41\2\uffff\12\41\1\uffff\1\41\17\uffff\3\41\1\uffff\10\41"+
+            "\2\uffff\2\41\2\uffff\26\41\1\uffff\7\41\1\uffff\2\41\1\uffff"+
+            "\5\41\2\uffff\10\41\3\uffff\2\41\2\uffff\3\41\10\uffff\2\41"+
+            "\4\uffff\2\41\1\uffff\3\41\4\uffff\12\41\1\uffff\1\41\20\uffff"+
+            "\2\41\1\uffff\6\41\3\uffff\3\41\1\uffff\4\41\3\uffff\2\41\1"+
+            "\uffff\1\41\1\uffff\2\41\3\uffff\2\41\3\uffff\3\41\3\uffff\10"+
+            "\41\1\uffff\3\41\4\uffff\5\41\3\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\17\uffff\11\41\11\uffff\1\41\7\uffff\3\41\1\uffff\10\41"+
+            "\1\uffff\3\41\1\uffff\27\41\1\uffff\12\41\1\uffff\5\41\4\uffff"+
+            "\7\41\1\uffff\3\41\1\uffff\4\41\7\uffff\2\41\11\uffff\2\41\4"+
+            "\uffff\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff"+
+            "\27\41\1\uffff\12\41\1\uffff\5\41\2\uffff\11\41\1\uffff\3\41"+
+            "\1\uffff\4\41\7\uffff\2\41\7\uffff\1\41\1\uffff\2\41\4\uffff"+
+            "\12\41\22\uffff\2\41\1\uffff\10\41\1\uffff\3\41\1\uffff\27\41"+
+            "\1\uffff\20\41\4\uffff\6\41\2\uffff\3\41\1\uffff\4\41\11\uffff"+
+            "\1\41\10\uffff\2\41\4\uffff\12\41\22\uffff\2\41\1\uffff\22\41"+
+            "\3\uffff\30\41\1\uffff\11\41\1\uffff\1\41\2\uffff\7\41\3\uffff"+
+            "\1\41\4\uffff\6\41\1\uffff\1\41\1\uffff\10\41\22\uffff\2\41"+
+            "\15\uffff\72\41\4\uffff\20\41\1\uffff\12\41\47\uffff\2\41\1"+
+            "\uffff\1\41\2\uffff\2\41\1\uffff\1\41\2\uffff\1\41\6\uffff\4"+
+            "\41\1\uffff\7\41\1\uffff\3\41\1\uffff\1\41\1\uffff\1\41\2\uffff"+
+            "\2\41\1\uffff\15\41\1\uffff\3\41\2\uffff\5\41\1\uffff\1\41\1"+
+            "\uffff\6\41\2\uffff\12\41\2\uffff\2\41\42\uffff\1\41\27\uffff"+
+            "\2\41\6\uffff\12\41\13\uffff\1\41\1\uffff\1\41\1\uffff\1\41"+
+            "\4\uffff\12\41\1\uffff\42\41\6\uffff\24\41\1\uffff\6\41\4\uffff"+
+            "\10\41\1\uffff\44\41\11\uffff\1\41\71\uffff\42\41\1\uffff\5"+
+            "\41\1\uffff\2\41\1\uffff\7\41\3\uffff\4\41\6\uffff\12\41\6\uffff"+
+            "\12\41\106\uffff\46\41\12\uffff\51\41\7\uffff\132\41\5\uffff"+
+            "\104\41\5\uffff\122\41\6\uffff\7\41\1\uffff\77\41\1\uffff\1"+
+            "\41\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\47\41\1\uffff\1\41\1\uffff\4\41\2\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\1\41\1\uffff\4\41\2\uffff"+
+            "\7\41\1\uffff\7\41\1\uffff\27\41\1\uffff\37\41\1\uffff\1\41"+
+            "\1\uffff\4\41\2\uffff\7\41\1\uffff\47\41\1\uffff\23\41\16\uffff"+
+            "\11\41\56\uffff\125\41\14\uffff\u026c\41\2\uffff\10\41\12\uffff"+
+            "\32\41\5\uffff\113\41\3\uffff\3\41\17\uffff\15\41\1\uffff\7"+
+            "\41\13\uffff\25\41\13\uffff\24\41\14\uffff\15\41\1\uffff\3\41"+
+            "\1\uffff\2\41\14\uffff\124\41\3\uffff\1\41\3\uffff\3\41\2\uffff"+
+            "\12\41\41\uffff\3\41\2\uffff\12\41\6\uffff\130\41\10\uffff\52"+
+            "\41\126\uffff\35\41\3\uffff\14\41\4\uffff\14\41\12\uffff\50"+
+            "\41\2\uffff\5\41\u038b\uffff\154\41\u0094\uffff\u009c\41\4\uffff"+
+            "\132\41\6\uffff\26\41\2\uffff\6\41\2\uffff\46\41\2\uffff\6\41"+
+            "\2\uffff\10\41\1\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff"+
+            "\37\41\2\uffff\65\41\1\uffff\7\41\1\uffff\1\41\3\uffff\3\41"+
+            "\1\uffff\7\41\3\uffff\4\41\2\uffff\6\41\4\uffff\15\41\5\uffff"+
+            "\3\41\1\uffff\7\41\17\uffff\4\41\32\uffff\5\41\20\uffff\2\41"+
+            "\23\uffff\1\41\13\uffff\4\41\6\uffff\6\41\1\uffff\1\41\15\uffff"+
+            "\1\41\40\uffff\22\41\36\uffff\15\41\4\uffff\1\41\3\uffff\6\41"+
+            "\27\uffff\1\41\4\uffff\1\41\2\uffff\12\41\1\uffff\1\41\3\uffff"+
+            "\5\41\6\uffff\1\41\1\uffff\1\41\1\uffff\1\41\1\uffff\4\41\1"+
+            "\uffff\3\41\1\uffff\7\41\3\uffff\3\41\5\uffff\5\41\26\uffff"+
+            "\44\41\u0e81\uffff\3\41\31\uffff\17\41\1\uffff\5\41\2\uffff"+
+            "\5\41\4\uffff\126\41\2\uffff\2\41\2\uffff\3\41\1\uffff\137\41"+
+            "\5\uffff\50\41\4\uffff\136\41\21\uffff\30\41\70\uffff\20\41"+
+            "\u0200\uffff\u19b6\41\112\uffff\u51a6\41\132\uffff\u048d\41"+
+            "\u0773\uffff\u2ba4\41\u215c\uffff\u012e\41\2\uffff\73\41\u0095"+
+            "\uffff\7\41\14\uffff\5\41\5\uffff\14\41\1\uffff\15\41\1\uffff"+
+            "\5\41\1\uffff\1\41\1\uffff\2\41\1\uffff\2\41\1\uffff\154\41"+
+            "\41\uffff\u016b\41\22\uffff\100\41\2\uffff\66\41\50\uffff\15"+
+            "\41\3\uffff\20\41\20\uffff\4\41\17\uffff\2\41\30\uffff\3\41"+
+            "\31\uffff\1\41\6\uffff\5\41\1\uffff\u0087\41\2\uffff\1\41\4"+
+            "\uffff\1\41\13\uffff\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff"+
+            "\32\41\12\uffff\132\41\3\uffff\6\41\2\uffff\6\41\2\uffff\6\41"+
+            "\2\uffff\3\41\3\uffff\2\41\3\uffff\2\41\22\uffff\3\41",
             ""
     };
 
@@ -2471,7 +3322,7 @@
             this.transition = DFA22_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( WS | INT | FLOAT | STRING | BOOL | ACCUMULATE | COLLECT | FROM | NULL | OVER | THEN | WHEN | AT | EQUALS | SEMICOLON | DOT_STAR | COLON | EQUAL | NOT_EQUAL | GREATER | GREATER_EQUAL | LESS | LESS_EQUAL | ARROW | ID | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | DOUBLE_AMPER | DOUBLE_PIPE | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | MISC );";
+            return "1:1: Tokens : ( WS | FLOAT | INT | STRING | BOOL | ACCUMULATE | COLLECT | FROM | NULL | OVER | THEN | WHEN | AT | EQUALS | SEMICOLON | DOT_STAR | COLON | EQUAL | NOT_EQUAL | GREATER | GREATER_EQUAL | LESS | LESS_EQUAL | ARROW | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | DOUBLE_AMPER | DOUBLE_PIPE | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | ID | MISC );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             IntStream input = _input;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java	2009-05-01 15:34:54 UTC (rev 26331)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java	2009-05-01 16:54:28 UTC (rev 26332)
@@ -1,4 +1,4 @@
-// $ANTLR 3.1.1 src/main/resources/org/drools/lang/DRL.g 2009-04-09 16:58:52
+// $ANTLR 3.1.1 src/main/resources/org/drools/lang/DRL.g 2009-05-01 12:52:45
 
 	package org.drools.lang;
 	
@@ -18,7 +18,7 @@
 
 public class DRLParser extends Parser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "VT_COMPILATION_UNIT", "VT_FUNCTION_IMPORT", "VT_FACT", "VT_CONSTRAINTS", "VT_LABEL", "VT_QUERY_ID", "VT_TEMPLATE_ID", "VT_TYPE_DECLARE_ID", "VT_RULE_ID", "VT_ENTRYPOINT_ID", "VT_SLOT_ID", "VT_SLOT", "VT_RULE_ATTRIBUTES", "VT_RHS_CHUNK", "VT_CURLY_CHUNK", "VT_SQUARE_CHUNK", "VT_PAREN_CHUNK", "VT_BEHAVIOR", "VT_AND_IMPLICIT", "VT_AND_PREFIX", "VT_OR_PREFIX", "VT_AND_INFIX", "VT_OR_INFIX", "VT_ACCUMULATE_INIT_CLAUSE", "VT_ACCUMULATE_ID_CLAUSE", "VT_FROM_SOURCE", "VT_EXPRESSION_CHAIN", "VT_PATTERN", "VT_FACT_BINDING", "VT_FACT_OR", "VT_BIND_FIELD", "VT_FIELD", "VT_ACCESSOR_PATH", "VT_ACCESSOR_ELEMENT", "VT_DATA_TYPE", "VT_PATTERN_TYPE", "VT_PACKAGE_ID", "VT_IMPORT_ID", "VT_GLOBAL_ID", "VT_FUNCTION_ID", "VT_PARAM_LIST", "VK_DATE_EFFECTIVE", "VK_DATE_EXPIRES", "VK_LOCK_ON_ACTIVE", "VK_NO_LOOP", "VK_AUTO_FOCUS", "VK_ACTIVATION_GROUP", "VK_AGENDA_GROUP", "VK_RULEFLOW_GROUP", "VK_DURATION", "VK_DIALECT", "VK_SALIENCE", "VK_ENABLED", "!
 VK_ATTRIBUTES", "VK_RULE", "VK_EXTEND", "VK_IMPORT", "VK_PACKAGE", "VK_TEMPLATE", "VK_QUERY", "VK_DECLARE", "VK_FUNCTION", "VK_GLOBAL", "VK_EVAL", "VK_ENTRY_POINT", "VK_NOT", "VK_IN", "VK_OR", "VK_AND", "VK_EXISTS", "VK_FORALL", "VK_ACTION", "VK_REVERSE", "VK_RESULT", "VK_OPERATOR", "VK_END", "VK_INIT", "SEMICOLON", "ID", "DOT", "DOT_STAR", "STRING", "LEFT_PAREN", "COMMA", "RIGHT_PAREN", "AT", "COLON", "EQUALS", "WHEN", "BOOL", "INT", "DOUBLE_PIPE", "DOUBLE_AMPER", "FROM", "OVER", "ACCUMULATE", "COLLECT", "ARROW", "EQUAL", "GREATER", "GREATER_EQUAL", "LESS", "LESS_EQUAL", "NOT_EQUAL", "FLOAT", "NULL", "LEFT_SQUARE", "RIGHT_SQUARE", "THEN", "LEFT_CURLY", "RIGHT_CURLY", "MISC", "EOL", "WS", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "VT_COMPILATION_UNIT", "VT_FUNCTION_IMPORT", "VT_FACT", "VT_CONSTRAINTS", "VT_LABEL", "VT_QUERY_ID", "VT_TEMPLATE_ID", "VT_TYPE_DECLARE_ID", "VT_RULE_ID", "VT_ENTRYPOINT_ID", "VT_SLOT_ID", "VT_SLOT", "VT_RULE_ATTRIBUTES", "VT_RHS_CHUNK", "VT_CURLY_CHUNK", "VT_SQUARE_CHUNK", "VT_PAREN_CHUNK", "VT_BEHAVIOR", "VT_AND_IMPLICIT", "VT_AND_PREFIX", "VT_OR_PREFIX", "VT_AND_INFIX", "VT_OR_INFIX", "VT_ACCUMULATE_INIT_CLAUSE", "VT_ACCUMULATE_ID_CLAUSE", "VT_FROM_SOURCE", "VT_EXPRESSION_CHAIN", "VT_PATTERN", "VT_FACT_BINDING", "VT_FACT_OR", "VT_BIND_FIELD", "VT_FIELD", "VT_ACCESSOR_PATH", "VT_ACCESSOR_ELEMENT", "VT_DATA_TYPE", "VT_PATTERN_TYPE", "VT_PACKAGE_ID", "VT_IMPORT_ID", "VT_GLOBAL_ID", "VT_FUNCTION_ID", "VT_PARAM_LIST", "VK_DATE_EFFECTIVE", "VK_DATE_EXPIRES", "VK_LOCK_ON_ACTIVE", "VK_NO_LOOP", "VK_AUTO_FOCUS", "VK_ACTIVATION_GROUP", "VK_AGENDA_GROUP", "VK_RULEFLOW_GROUP", "VK_DURATION", "VK_DIALECT", "VK_SALIENCE", "VK_ENABLED", "!
 VK_ATTRIBUTES", "VK_RULE", "VK_EXTEND", "VK_IMPORT", "VK_PACKAGE", "VK_TEMPLATE", "VK_QUERY", "VK_DECLARE", "VK_FUNCTION", "VK_GLOBAL", "VK_EVAL", "VK_ENTRY_POINT", "VK_NOT", "VK_IN", "VK_OR", "VK_AND", "VK_EXISTS", "VK_FORALL", "VK_ACTION", "VK_REVERSE", "VK_RESULT", "VK_OPERATOR", "VK_END", "VK_INIT", "SEMICOLON", "ID", "DOT", "DOT_STAR", "STRING", "LEFT_PAREN", "COMMA", "RIGHT_PAREN", "AT", "COLON", "EQUALS", "WHEN", "BOOL", "INT", "DOUBLE_PIPE", "DOUBLE_AMPER", "FROM", "OVER", "ACCUMULATE", "COLLECT", "ARROW", "EQUAL", "GREATER", "GREATER_EQUAL", "LESS", "LESS_EQUAL", "NOT_EQUAL", "FLOAT", "NULL", "LEFT_SQUARE", "RIGHT_SQUARE", "THEN", "LEFT_CURLY", "RIGHT_CURLY", "MISC", "EOL", "WS", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT", "IdentifierStart", "IdentifierPart"
     };
     public static final int COMMA=87;
     public static final int VT_PATTERN_TYPE=39;
@@ -45,6 +45,7 @@
     public static final int AT=89;
     public static final int DOUBLE_AMPER=96;
     public static final int LEFT_PAREN=86;
+    public static final int IdentifierPart=126;
     public static final int VT_QUERY_ID=9;
     public static final int VT_ACCESSOR_PATH=36;
     public static final int VT_LABEL=8;
@@ -75,6 +76,7 @@
     public static final int VT_RULE_ID=12;
     public static final int EQUAL=102;
     public static final int VK_NO_LOOP=48;
+    public static final int IdentifierStart=125;
     public static final int SEMICOLON=81;
     public static final int VK_TEMPLATE=62;
     public static final int VT_AND_IMPLICIT=22;
@@ -657,7 +659,7 @@
 
 
             // AST REWRITE
-            // elements: package_id, package_key
+            // elements: package_key, package_id
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -1371,7 +1373,7 @@
 
 
             // AST REWRITE
-            // elements: DOT_STAR, ID
+            // elements: ID, DOT_STAR
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -1716,7 +1718,7 @@
 
 
             // AST REWRITE
-            // elements: data_type, function_key, curly_chunk, parameters, function_id
+            // elements: function_id, curly_chunk, parameters, data_type, function_key
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -1957,7 +1959,7 @@
 
 
             // AST REWRITE
-            // elements: query_key, end_key, query_id, normal_lhs_block, parameters
+            // elements: parameters, normal_lhs_block, query_id, end_key, query_key
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -2578,7 +2580,7 @@
 
 
             // AST REWRITE
-            // elements: decl_metadata, end_key, declare_key, decl_field, type_declare_id
+            // elements: type_declare_id, decl_metadata, declare_key, end_key, decl_field
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -2777,7 +2779,7 @@
 
 
             // AST REWRITE
-            // elements: paren_chunk, ID, AT
+            // elements: AT, ID, paren_chunk
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -2937,7 +2939,7 @@
 
 
             // AST REWRITE
-            // elements: ID, decl_field_initialization, decl_metadata, data_type
+            // elements: data_type, decl_metadata, ID, decl_field_initialization
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -3248,7 +3250,7 @@
 
 
             // AST REWRITE
-            // elements: template_slot, end_key, template_key, template_id
+            // elements: template_slot, end_key, template_id, template_key
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -3496,7 +3498,7 @@
 
 
             // AST REWRITE
-            // elements: slot_id, data_type
+            // elements: data_type, slot_id
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -3784,7 +3786,7 @@
 
 
             // AST REWRITE
-            // elements: rule_id, rhs_chunk, rule_id, extend_key, decl_metadata, when_part, rule_attributes, rule_key
+            // elements: rule_key, when_part, decl_metadata, rhs_chunk, rule_attributes, rule_id, rule_id, extend_key
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -5830,7 +5832,7 @@
 
 
                     // AST REWRITE
-                    // elements: RIGHT_PAREN, lhs_and
+                    // elements: lhs_and, RIGHT_PAREN
                     // token labels: 
                     // rule labels: retval
                     // token list labels: 
@@ -5989,7 +5991,7 @@
 
 
                     	    // AST REWRITE
-                    	    // elements: lhs_and, lhs_or
+                    	    // elements: lhs_or, lhs_and
                     	    // token labels: 
                     	    // rule labels: retval
                     	    // token list labels: 
@@ -6704,7 +6706,7 @@
             else if ( (LA56_0==ID) ) {
                 int LA56_2 = input.LA(2);
 
-                if ( ((((synpred6_DRL()&&(validateNotWithBinding()))&&((validateIdentifierKey(DroolsSoftKeywords.NOT))))||(synpred6_DRL()&&((validateIdentifierKey(DroolsSoftKeywords.FORALL))))||(synpred6_DRL()&&((validateIdentifierKey(DroolsSoftKeywords.EXISTS))))||synpred6_DRL()||(synpred6_DRL()&&((validateIdentifierKey(DroolsSoftKeywords.EVAL))))||(synpred6_DRL()&&((validateIdentifierKey(DroolsSoftKeywords.NOT)))))) ) {
+                if ( (((synpred6_DRL()&&((validateIdentifierKey(DroolsSoftKeywords.EXISTS))))||synpred6_DRL()||((synpred6_DRL()&&(validateNotWithBinding()))&&((validateIdentifierKey(DroolsSoftKeywords.NOT))))||(synpred6_DRL()&&((validateIdentifierKey(DroolsSoftKeywords.EVAL))))||(synpred6_DRL()&&((validateIdentifierKey(DroolsSoftKeywords.NOT))))||(synpred6_DRL()&&((validateIdentifierKey(DroolsSoftKeywords.FORALL)))))) ) {
                     alt56=1;
                 }
                 else if ( (true) ) {
@@ -6780,7 +6782,7 @@
 
 
             // AST REWRITE
-            // elements: RIGHT_PAREN, exists_key, lhs_pattern, lhs_or
+            // elements: exists_key, lhs_pattern, lhs_or, RIGHT_PAREN
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -6883,7 +6885,7 @@
 
 
             // AST REWRITE
-            // elements: fact_binding, not_key
+            // elements: not_key, fact_binding
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -7085,7 +7087,7 @@
 
 
             // AST REWRITE
-            // elements: lhs_pattern, lhs_or, RIGHT_PAREN, not_key
+            // elements: lhs_pattern, lhs_or, not_key, RIGHT_PAREN
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -7201,7 +7203,7 @@
 
 
             // AST REWRITE
-            // elements: paren_chunk, eval_key
+            // elements: eval_key, paren_chunk
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -7335,7 +7337,7 @@
 
 
             // AST REWRITE
-            // elements: forall_key, RIGHT_PAREN, pattern_source
+            // elements: pattern_source, forall_key, RIGHT_PAREN
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -7780,7 +7782,7 @@
 
 
             // AST REWRITE
-            // elements: id2, id1, paren_chunk
+            // elements: id1, id2, paren_chunk
             // token labels: id1, id2
             // rule labels: retval
             // token list labels: 
@@ -7982,7 +7984,7 @@
 
 
             // AST REWRITE
-            // elements: lhs_or, accumulate_id_clause, ACCUMULATE, RIGHT_PAREN, accumulate_init_clause
+            // elements: accumulate_init_clause, lhs_or, ACCUMULATE, RIGHT_PAREN, accumulate_id_clause
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -8250,16 +8252,16 @@
 
 
             // AST REWRITE
-            // elements: pc1, action_key, result_key, reverse_key, pc4, pc2, init_key, pc3
+            // elements: pc3, reverse_key, pc2, pc1, result_key, action_key, init_key, pc4
             // token labels: 
-            // rule labels: pc2, pc3, pc4, pc1, retval
+            // rule labels: pc2, pc4, pc3, pc1, retval
             // token list labels: 
             // rule list labels: 
             if ( state.backtracking==0 ) {
             retval.tree = root_0;
             RewriteRuleSubtreeStream stream_pc2=new RewriteRuleSubtreeStream(adaptor,"token pc2",pc2!=null?pc2.tree:null);
+            RewriteRuleSubtreeStream stream_pc4=new RewriteRuleSubtreeStream(adaptor,"token pc4",pc4!=null?pc4.tree:null);
             RewriteRuleSubtreeStream stream_pc3=new RewriteRuleSubtreeStream(adaptor,"token pc3",pc3!=null?pc3.tree:null);
-            RewriteRuleSubtreeStream stream_pc4=new RewriteRuleSubtreeStream(adaptor,"token pc4",pc4!=null?pc4.tree:null);
             RewriteRuleSubtreeStream stream_pc1=new RewriteRuleSubtreeStream(adaptor,"token pc1",pc1!=null?pc1.tree:null);
             RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
 
@@ -8290,7 +8292,7 @@
                 adaptor.addChild(root_1, root_2);
                 }
                 // src/main/resources/org/drools/lang/DRL.g:979:69: ( ^( reverse_key $pc3) )?
-                if ( stream_reverse_key.hasNext()||stream_pc3.hasNext() ) {
+                if ( stream_pc3.hasNext()||stream_reverse_key.hasNext() ) {
                     // src/main/resources/org/drools/lang/DRL.g:979:69: ^( reverse_key $pc3)
                     {
                     Object root_2 = (Object)adaptor.nil();
@@ -8302,8 +8304,8 @@
                     }
 
                 }
+                stream_pc3.reset();
                 stream_reverse_key.reset();
-                stream_pc3.reset();
                 // src/main/resources/org/drools/lang/DRL.g:979:90: ^( result_key $pc4)
                 {
                 Object root_2 = (Object)adaptor.nil();
@@ -8479,7 +8481,7 @@
                 int alt69=3;
                 int LA69_0 = input.LA(1);
 
-                if ( ((LA69_0>=VT_COMPILATION_UNIT && LA69_0<=STRING)||LA69_0==COMMA||(LA69_0>=AT && LA69_0<=MULTI_LINE_COMMENT)) ) {
+                if ( ((LA69_0>=VT_COMPILATION_UNIT && LA69_0<=STRING)||LA69_0==COMMA||(LA69_0>=AT && LA69_0<=IdentifierPart)) ) {
                     alt69=1;
                 }
                 else if ( (LA69_0==LEFT_PAREN) ) {
@@ -8492,7 +8494,7 @@
             	    // src/main/resources/org/drools/lang/DRL.g:1008:5: any=~ ( LEFT_PAREN | RIGHT_PAREN )
             	    {
             	    any=(Token)input.LT(1);
-            	    if ( (input.LA(1)>=VT_COMPILATION_UNIT && input.LA(1)<=STRING)||input.LA(1)==COMMA||(input.LA(1)>=AT && input.LA(1)<=MULTI_LINE_COMMENT) ) {
+            	    if ( (input.LA(1)>=VT_COMPILATION_UNIT && input.LA(1)<=STRING)||input.LA(1)==COMMA||(input.LA(1)>=AT && input.LA(1)<=IdentifierPart) ) {
             	        input.consume();
             	        if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(any));
             	        state.errorRecovery=false;state.failed=false;
@@ -8713,7 +8715,7 @@
 
 
             // AST REWRITE
-            // elements: COLLECT, RIGHT_PAREN, pattern_source
+            // elements: RIGHT_PAREN, pattern_source, COLLECT
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -9225,7 +9227,7 @@
 
 
             // AST REWRITE
-            // elements: expression_chain, ID, square_chunk, paren_chunk
+            // elements: ID, square_chunk, paren_chunk, expression_chain
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -9539,7 +9541,7 @@
 
 
             // AST REWRITE
-            // elements: RIGHT_PAREN, fact_binding_expression, label, fact
+            // elements: fact_binding_expression, label, RIGHT_PAREN, fact
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -10538,7 +10540,7 @@
 
 
                     // AST REWRITE
-                    // elements: accessor_path, accessor_path, label, label, or_restr_connective, paren_chunk
+                    // elements: paren_chunk, accessor_path, or_restr_connective, accessor_path, label, label
                     // token labels: 
                     // rule labels: retval
                     // token list labels: 
@@ -12124,7 +12126,7 @@
 
 
             // AST REWRITE
-            // elements: dimension_definition, ID
+            // elements: ID, dimension_definition
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -12600,7 +12602,7 @@
 
 
             // AST REWRITE
-            // elements: ID, square_chunk
+            // elements: square_chunk, ID
             // token labels: 
             // rule labels: retval
             // token list labels: 
@@ -12783,7 +12785,7 @@
 
 
                 }
-                else if ( ((LA102_0>=VT_COMPILATION_UNIT && LA102_0<=SEMICOLON)||(LA102_0>=DOT && LA102_0<=MULTI_LINE_COMMENT)) && ((!(validateIdentifierKey(DroolsSoftKeywords.END))))) {
+                else if ( ((LA102_0>=VT_COMPILATION_UNIT && LA102_0<=SEMICOLON)||(LA102_0>=DOT && LA102_0<=IdentifierPart)) && ((!(validateIdentifierKey(DroolsSoftKeywords.END))))) {
                     alt102=1;
                 }
 
@@ -12984,7 +12986,7 @@
                 int alt104=3;
                 int LA104_0 = input.LA(1);
 
-                if ( ((LA104_0>=VT_COMPILATION_UNIT && LA104_0<=THEN)||(LA104_0>=MISC && LA104_0<=MULTI_LINE_COMMENT)) ) {
+                if ( ((LA104_0>=VT_COMPILATION_UNIT && LA104_0<=THEN)||(LA104_0>=MISC && LA104_0<=IdentifierPart)) ) {
                     alt104=1;
                 }
                 else if ( (LA104_0==LEFT_CURLY) ) {
@@ -12997,7 +12999,7 @@
             	    // src/main/resources/org/drools/lang/DRL.g:1388:5: any=~ ( LEFT_CURLY | RIGHT_CURLY )
             	    {
             	    any=(Token)input.LT(1);
-            	    if ( (input.LA(1)>=VT_COMPILATION_UNIT && input.LA(1)<=THEN)||(input.LA(1)>=MISC && input.LA(1)<=MULTI_LINE_COMMENT) ) {
+            	    if ( (input.LA(1)>=VT_COMPILATION_UNIT && input.LA(1)<=THEN)||(input.LA(1)>=MISC && input.LA(1)<=IdentifierPart) ) {
             	        input.consume();
             	        if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(any));
             	        state.errorRecovery=false;state.failed=false;
@@ -13191,7 +13193,7 @@
                 int alt105=3;
                 int LA105_0 = input.LA(1);
 
-                if ( ((LA105_0>=VT_COMPILATION_UNIT && LA105_0<=STRING)||LA105_0==COMMA||(LA105_0>=AT && LA105_0<=MULTI_LINE_COMMENT)) ) {
+                if ( ((LA105_0>=VT_COMPILATION_UNIT && LA105_0<=STRING)||LA105_0==COMMA||(LA105_0>=AT && LA105_0<=IdentifierPart)) ) {
                     alt105=1;
                 }
                 else if ( (LA105_0==LEFT_PAREN) ) {
@@ -13204,7 +13206,7 @@
             	    // src/main/resources/org/drools/lang/DRL.g:1413:5: any=~ ( LEFT_PAREN | RIGHT_PAREN )
             	    {
             	    any=(Token)input.LT(1);
-            	    if ( (input.LA(1)>=VT_COMPILATION_UNIT && input.LA(1)<=STRING)||input.LA(1)==COMMA||(input.LA(1)>=AT && input.LA(1)<=MULTI_LINE_COMMENT) ) {
+            	    if ( (input.LA(1)>=VT_COMPILATION_UNIT && input.LA(1)<=STRING)||input.LA(1)==COMMA||(input.LA(1)>=AT && input.LA(1)<=IdentifierPart) ) {
             	        input.consume();
             	        if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(any));
             	        state.errorRecovery=false;state.failed=false;
@@ -13398,7 +13400,7 @@
                 int alt106=3;
                 int LA106_0 = input.LA(1);
 
-                if ( ((LA106_0>=VT_COMPILATION_UNIT && LA106_0<=NULL)||(LA106_0>=THEN && LA106_0<=MULTI_LINE_COMMENT)) ) {
+                if ( ((LA106_0>=VT_COMPILATION_UNIT && LA106_0<=NULL)||(LA106_0>=THEN && LA106_0<=IdentifierPart)) ) {
                     alt106=1;
                 }
                 else if ( (LA106_0==LEFT_SQUARE) ) {
@@ -13411,7 +13413,7 @@
             	    // src/main/resources/org/drools/lang/DRL.g:1438:5: any=~ ( LEFT_SQUARE | RIGHT_SQUARE )
             	    {
             	    any=(Token)input.LT(1);
-            	    if ( (input.LA(1)>=VT_COMPILATION_UNIT && input.LA(1)<=NULL)||(input.LA(1)>=THEN && input.LA(1)<=MULTI_LINE_COMMENT) ) {
+            	    if ( (input.LA(1)>=VT_COMPILATION_UNIT && input.LA(1)<=NULL)||(input.LA(1)>=THEN && input.LA(1)<=IdentifierPart) ) {
             	        input.consume();
             	        if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(any));
             	        state.errorRecovery=false;state.failed=false;
@@ -16895,9 +16897,9 @@
 
                         else if ( (LA5_1==LEFT_PAREN) && ((((validateIdentifierKey(DroolsSoftKeywords.SALIENCE)))||((validateIdentifierKey(DroolsSoftKeywords.ENABLED)))||((validateIdentifierKey(DroolsSoftKeywords.DURATION)))))) {s = 4;}
 
-                        else if ( (LA5_1==ID) && (((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION!
 )))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT!
 (1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && vali
dateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKey!
 words.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.!
 DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))|
|!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((!
 validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!((((((valid!
 ateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(Drools
SoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKey!
 words.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLAT!
 E))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((v
alidateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateI!
 dentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, !
 "import") && validateLT(2, "function") ))&&((validateIdentifierKey(Dro
olsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.!
 QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)!
 ))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateId
entifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKe!
 y(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoft!
 Keywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.Q
UERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))!
 ||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((va!
 lidateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, Dro
olsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(Dro!
 olsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKe!
 ywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))|
|(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateId!
 entifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateId!
 entifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") &
& validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(Droo!
 lsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeyword!
 s.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||
(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))!
 ))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdent!
 ifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(Drool
sSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && valida!
 teLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords!
 .IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((
validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))!
 ||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validate!
 IdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(Dr
oolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSof!
 tKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywo!
 rds.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((va
lidateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(!
 ((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifi!
 erKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywor
ds.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoft!
 Keywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT!
 (2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)
)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIde!
 ntifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifie!
 rKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftK
eywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && v!
 alidateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE!
 ))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((valid
ateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(D!
 roolsSoftKeywords.IMPORT)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.!
 DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") )
)&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION))!
 )||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1!
 , DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && valida
teLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSo!
 ftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLAR!
 E))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((v
alidateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateI!
 dentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSo!
 ftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "fun
ction") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((val!
 idateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateI!
 dentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(Dro
olsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(Dr!
 oolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))!
 )))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((val
idateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIde!
 ntifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifie!
 rKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && valid
ateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoft!
 Keywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&!
 ((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIden
tifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "imp!
 ort") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(Drools!
 SoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOB
AL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||!
 ((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((val!
 idateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(Droo
lsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSof!
 tKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateL!
 T(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT
))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentif!
 ierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(Drools!
 SoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)
)))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!
 !((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((!
 validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifie
rKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && !
 validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftK!
 eywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE
)))))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLAR!
 E))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE!
 ))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validate
IdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, !
 DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && vali!
 dateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.I
MPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))!
 )))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))|!
 |!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateL
T(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifie!
 rKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKey!
 words.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.Q
UERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))!
 ||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIde!
 ntifierKey(DroolsSoftKeywords.DECLARE))))||!((((((validateLT(1, Drools
SoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!((((((validateLT(1, DroolsSoftKey!
 words.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!((((((validateLT(1, "import") && valida!
 teLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMP
ORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validat!
 eIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))))) {s = 5;}
+                        else if ( (LA5_1==ID) && ((!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(!
 (validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((valida!
 teIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey
(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKey!
 words.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "fu!
 nction") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))|
|!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((!
 (validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((valida!
 teIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(D
roolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSo!
 ftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validate!
 LT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPOR
T))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateI!
 dentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validate!
 IdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(D
roolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||!(((((validateIdentifierKey(DroolsSo!
 ftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeyw!
 ords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(
((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateI!
 dentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentif!
 ierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoft
Keywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(!
 2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((!
 validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateId
entifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifie!
 rKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywo!
 rds.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))
)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(!
 (((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((va!
 lidateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "imp
ort") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(Droo!
 lsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.!
 DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||
((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((va!
 lidateIdentifierKey(DroolsSoftKeywords.IMPORT))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIde!
 ntifierKey(DroolsSoftKeywords.IMPORT)))))))||!((((((validateLT(1, Droo
lsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(Droo!
 lsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoft!
 Keywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL))
)||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((va!
 lidateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((va!
 lidateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifie
rKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(Dro!
 olsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.!
 GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateI
dentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((val!
 idateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifi!
 erKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywor
ds.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeyword!
 s.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IM!
 PORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((vali
dateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, Dr!
 oolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(Drools!
 SoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "f
unction") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION))!
 )||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((valida!
 teLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifie
rKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(D!
 roolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywor!
 ds.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY))
)||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION))!
 )||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validat!
 eIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(D
roolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(Dr!
 oolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsS!
 oftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "fu
nction") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((v!
 alidateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validate!
 IdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSof
tKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKe!
 ywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPOR!
 T))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((valida
teIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdent!
 ifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateL!
 T(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT
)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))!
 ||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((!
 ((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, 
"import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftK!
 eywords.IMPORT)))))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "fu!
 nction") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))|
|!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||(((val!
 idateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierK!
 ey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftK
eywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.D!
 ECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((va!
 lidateLT(1, "import") && validateLT(2, "function") ))&&((validateIdent
ifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey!
 (DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, Drool!
 sSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKe
ywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&!
 &((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateL!
 T(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoft
Keywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftK!
 eywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeyword!
 s.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(
(validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIden!
 tifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifier!
 Key(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKe
ywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.!
 DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)!
 ))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validate
LT(1, DroolsSoftKeywords.TEMPLATE))))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(!
 DroolsSoftKeywords.IMPORT)))))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey!
 (DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TE
MPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)!
 )))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))|!
 |!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateId
entifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, Dr!
 oolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!((((((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifi!
 erKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSof
tKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((v!
 alidateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIde!
 ntifierKey(DroolsSoftKeywords.DECLARE))))||!((((((validateLT(1, "impor
t") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(Drools!
 SoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKe!
 ywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))|
|((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE)))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&!
 ((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))))) {s = 5;}
 
-                        else if ( (LA5_1==STRING) && ((!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((vali!
 dateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, !
 DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsS
oftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords!
 .QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))|!
 |((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1
, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSof!
 tKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.!
 TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY))
)||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((valida!
 teIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifi!
 erKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeyword
s.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)!
 )))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((!
 (((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdenti
fierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(Dro!
 olsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKey!
 words.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!
(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||((validateId!
 entifierKey(DroolsSoftKeywords.DIALECT)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, Dr!
 oolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSof
tKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.Q!
 UERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(!
 (validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, 
DroolsSoftKeywords.TEMPLATE))))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoft!
 Keywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.D!
 IALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((va
lidateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdent!
 ifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftK!
 eywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords
.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||!
 ((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validate!
 IdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSof
tKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.T!
 EMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))!
 )))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((valida
teIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifie!
 rKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))))) {s = 6;}
+                        else if ( (LA5_1==STRING) && ((!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((vali!
 dateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, !
 DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsS
oftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords!
 .QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))|!
 |((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1
, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSof!
 tKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.!
 TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY))
)||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((valida!
 teIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifi!
 erKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeyword
s.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)!
 )))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!((!
 (((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdenti
fierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(Dro!
 olsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKey!
 words.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!
(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((valida!
 teLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, Dr!
 oolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSof
tKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.Q!
 UERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||!(((((vali!
 dateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey
(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoft!
 Keywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.D!
 IALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((va
lidateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdent!
 ifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftK!
 eywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords
.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||!
 ((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validate!
 IdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSof
tKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.T!
 EMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))!
 )))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((valida
teIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifie!
 rKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))||!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.DIALECT)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))))) {s = 6;}
 
                         else if ( (LA5_1==INT) && ((((validateIdentifierKey(DroolsSoftKeywords.SALIENCE)))||((validateIdentifierKey(DroolsSoftKeywords.DURATION)))))) {s = 7;}
 
@@ -16924,7 +16926,7 @@
 
                         else if ( ((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))) ) {s = 13;}
 
-                        else if ( (!((((((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||((validateLT(1, DroolsSoftKeywords.TEMPLATE)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))))))) ) {s = 14;}
+                        else if ( (!(((((validateIdentifierKey(DroolsSoftKeywords.QUERY)))||(((validateLT(1, DroolsSoftKeywords.DECLARE)))&&((validateIdentifierKey(DroolsSoftKeywords.DECLARE))))||((validateIdentifierKey(DroolsSoftKeywords.GLOBAL)))||((validateIdentifierKey(DroolsSoftKeywords.IMPORT)))||((validateIdentifierKey(DroolsSoftKeywords.FUNCTION)))||(((validateLT(1, "import") && validateLT(2, "function") ))&&((validateIdentifierKey(DroolsSoftKeywords.IMPORT))))||((validateLT(1, DroolsSoftKeywords.TEMPLATE))))))) ) {s = 14;}
 
                         else if ( (((validateIdentifierKey(DroolsSoftKeywords.QUERY)))) ) {s = 15;}
 
@@ -17591,7 +17593,7 @@
         "\2\122\7\uffff\1\122\6\uffff\1\4\6\uffff\1\0\6\uffff\2\0\1\uffff"+
         "\5\0\2\uffff";
     static final String DFA88_maxS =
-        "\1\153\1\156\7\uffff\1\156\6\uffff\1\174\6\uffff\1\0\6\uffff\2"+
+        "\1\153\1\156\7\uffff\1\156\6\uffff\1\176\6\uffff\1\0\6\uffff\2"+
         "\0\1\uffff\5\0\2\uffff";
     static final String DFA88_acceptS =
         "\2\uffff\1\2\5\uffff\1\3\1\uffff\1\2\6\uffff\2\2\5\uffff\1\2\7"+
@@ -17618,7 +17620,7 @@
             "",
             "",
             "\116\40\1\36\2\40\1\41\1\37\6\40\1\44\1\42\15\40\1\43\1\45"+
-            "\17\40",
+            "\21\40",
             "",
             "",
             "",
@@ -17744,7 +17746,7 @@
 
                         else if ( (LA88_16==LEFT_PAREN) && ((((validateIdentifierKey(DroolsSoftKeywords.IN)))||((isPluggableEvaluator(false)))))) {s = 31;}
 
-                        else if ( ((LA88_16>=VT_COMPILATION_UNIT && LA88_16<=SEMICOLON)||(LA88_16>=DOT && LA88_16<=DOT_STAR)||(LA88_16>=COMMA && LA88_16<=WHEN)||(LA88_16>=DOUBLE_PIPE && LA88_16<=NOT_EQUAL)||(LA88_16>=LEFT_SQUARE && LA88_16<=MULTI_LINE_COMMENT)) && (((isPluggableEvaluator(false))))) {s = 32;}
+                        else if ( ((LA88_16>=VT_COMPILATION_UNIT && LA88_16<=SEMICOLON)||(LA88_16>=DOT && LA88_16<=DOT_STAR)||(LA88_16>=COMMA && LA88_16<=WHEN)||(LA88_16>=DOUBLE_PIPE && LA88_16<=NOT_EQUAL)||(LA88_16>=LEFT_SQUARE && LA88_16<=IdentifierPart)) && (((isPluggableEvaluator(false))))) {s = 32;}
 
                         else if ( (LA88_16==STRING) && ((((validateIdentifierKey(DroolsSoftKeywords.IN)))||((isPluggableEvaluator(false)))))) {s = 33;}
 
@@ -18114,9 +18116,9 @@
     public static final BitSet FOLLOW_result_key_in_accumulate_init_clause3089 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
     public static final BitSet FOLLOW_accumulate_paren_chunk_in_accumulate_init_clause3095 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_accumulate_paren_chunk_data_in_accumulate_paren_chunk3153 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_accumulate_paren_chunk_data3177 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
-    public static final BitSet FOLLOW_set_in_accumulate_paren_chunk_data3189 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
-    public static final BitSet FOLLOW_accumulate_paren_chunk_data_in_accumulate_paren_chunk_data3205 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_accumulate_paren_chunk_data3177 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_set_in_accumulate_paren_chunk_data3189 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_accumulate_paren_chunk_data_in_accumulate_paren_chunk_data3205 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
     public static final BitSet FOLLOW_RIGHT_PAREN_in_accumulate_paren_chunk_data3216 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ID_in_accumulate_id_clause3232 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
     public static final BitSet FOLLOW_paren_chunk_in_accumulate_id_clause3238 = new BitSet(new long[]{0x0000000000000002L});
@@ -18231,24 +18233,24 @@
     public static final BitSet FOLLOW_ID_in_accessor_element4626 = new BitSet(new long[]{0x0000000000000002L,0x0000400000000000L});
     public static final BitSet FOLLOW_square_chunk_in_accessor_element4632 = new BitSet(new long[]{0x0000000000000002L,0x0000400000000000L});
     public static final BitSet FOLLOW_rhs_chunk_data_in_rhs_chunk4661 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_THEN_in_rhs_chunk_data4680 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
-    public static final BitSet FOLLOW_not_end_key_in_rhs_chunk_data4689 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_THEN_in_rhs_chunk_data4680 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_not_end_key_in_rhs_chunk_data4689 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
     public static final BitSet FOLLOW_end_key_in_rhs_chunk_data4695 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
     public static final BitSet FOLLOW_SEMICOLON_in_rhs_chunk_data4700 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_curly_chunk_data_in_curly_chunk4719 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_CURLY_in_curly_chunk_data4742 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
-    public static final BitSet FOLLOW_set_in_curly_chunk_data4754 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
-    public static final BitSet FOLLOW_curly_chunk_data_in_curly_chunk_data4770 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_LEFT_CURLY_in_curly_chunk_data4742 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_set_in_curly_chunk_data4754 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_curly_chunk_data_in_curly_chunk_data4770 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
     public static final BitSet FOLLOW_RIGHT_CURLY_in_curly_chunk_data4781 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_paren_chunk_data_in_paren_chunk4802 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_paren_chunk_data4826 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
-    public static final BitSet FOLLOW_set_in_paren_chunk_data4838 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
-    public static final BitSet FOLLOW_paren_chunk_data_in_paren_chunk_data4854 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_paren_chunk_data4826 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_set_in_paren_chunk_data4838 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_paren_chunk_data_in_paren_chunk_data4854 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
     public static final BitSet FOLLOW_RIGHT_PAREN_in_paren_chunk_data4865 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_square_chunk_data_in_square_chunk4886 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_SQUARE_in_square_chunk_data4909 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
-    public static final BitSet FOLLOW_set_in_square_chunk_data4921 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
-    public static final BitSet FOLLOW_square_chunk_data_in_square_chunk_data4936 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x1FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_LEFT_SQUARE_in_square_chunk_data4909 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_set_in_square_chunk_data4921 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
+    public static final BitSet FOLLOW_square_chunk_data_in_square_chunk_data4936 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL});
     public static final BitSet FOLLOW_RIGHT_SQUARE_in_square_chunk_data4947 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ID_in_lock_on_active_key4971 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
     public static final BitSet FOLLOW_MISC_in_lock_on_active_key4975 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DescrBuilderTree.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DescrBuilderTree.java	2009-05-01 15:34:54 UTC (rev 26331)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DescrBuilderTree.java	2009-05-01 16:54:28 UTC (rev 26332)
@@ -1,4 +1,4 @@
-// $ANTLR 3.1.1 src/main/resources/org/drools/lang/DescrBuilderTree.g 2009-04-09 16:58:53
+// $ANTLR 3.1.1 src/main/resources/org/drools/lang/DescrBuilderTree.g 2009-05-01 12:52:47
 
 	package org.drools.lang;
 
@@ -36,7 +36,7 @@
 
 public class DescrBuilderTree extends TreeParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "VT_COMPILATION_UNIT", "VT_FUNCTION_IMPORT", "VT_FACT", "VT_CONSTRAINTS", "VT_LABEL", "VT_QUERY_ID", "VT_TEMPLATE_ID", "VT_TYPE_DECLARE_ID", "VT_RULE_ID", "VT_ENTRYPOINT_ID", "VT_SLOT_ID", "VT_SLOT", "VT_RULE_ATTRIBUTES", "VT_RHS_CHUNK", "VT_CURLY_CHUNK", "VT_SQUARE_CHUNK", "VT_PAREN_CHUNK", "VT_BEHAVIOR", "VT_AND_IMPLICIT", "VT_AND_PREFIX", "VT_OR_PREFIX", "VT_AND_INFIX", "VT_OR_INFIX", "VT_ACCUMULATE_INIT_CLAUSE", "VT_ACCUMULATE_ID_CLAUSE", "VT_FROM_SOURCE", "VT_EXPRESSION_CHAIN", "VT_PATTERN", "VT_FACT_BINDING", "VT_FACT_OR", "VT_BIND_FIELD", "VT_FIELD", "VT_ACCESSOR_PATH", "VT_ACCESSOR_ELEMENT", "VT_DATA_TYPE", "VT_PATTERN_TYPE", "VT_PACKAGE_ID", "VT_IMPORT_ID", "VT_GLOBAL_ID", "VT_FUNCTION_ID", "VT_PARAM_LIST", "VK_DATE_EFFECTIVE", "VK_DATE_EXPIRES", "VK_LOCK_ON_ACTIVE", "VK_NO_LOOP", "VK_AUTO_FOCUS", "VK_ACTIVATION_GROUP", "VK_AGENDA_GROUP", "VK_RULEFLOW_GROUP", "VK_DURATION", "VK_DIALECT", "VK_SALIENCE", "VK_ENABLED", "!
 VK_ATTRIBUTES", "VK_RULE", "VK_EXTEND", "VK_IMPORT", "VK_PACKAGE", "VK_TEMPLATE", "VK_QUERY", "VK_DECLARE", "VK_FUNCTION", "VK_GLOBAL", "VK_EVAL", "VK_ENTRY_POINT", "VK_NOT", "VK_IN", "VK_OR", "VK_AND", "VK_EXISTS", "VK_FORALL", "VK_ACTION", "VK_REVERSE", "VK_RESULT", "VK_OPERATOR", "VK_END", "VK_INIT", "SEMICOLON", "ID", "DOT", "DOT_STAR", "STRING", "LEFT_PAREN", "COMMA", "RIGHT_PAREN", "AT", "COLON", "EQUALS", "WHEN", "BOOL", "INT", "DOUBLE_PIPE", "DOUBLE_AMPER", "FROM", "OVER", "ACCUMULATE", "COLLECT", "ARROW", "EQUAL", "GREATER", "GREATER_EQUAL", "LESS", "LESS_EQUAL", "NOT_EQUAL", "FLOAT", "NULL", "LEFT_SQUARE", "RIGHT_SQUARE", "THEN", "LEFT_CURLY", "RIGHT_CURLY", "MISC", "EOL", "WS", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "VT_COMPILATION_UNIT", "VT_FUNCTION_IMPORT", "VT_FACT", "VT_CONSTRAINTS", "VT_LABEL", "VT_QUERY_ID", "VT_TEMPLATE_ID", "VT_TYPE_DECLARE_ID", "VT_RULE_ID", "VT_ENTRYPOINT_ID", "VT_SLOT_ID", "VT_SLOT", "VT_RULE_ATTRIBUTES", "VT_RHS_CHUNK", "VT_CURLY_CHUNK", "VT_SQUARE_CHUNK", "VT_PAREN_CHUNK", "VT_BEHAVIOR", "VT_AND_IMPLICIT", "VT_AND_PREFIX", "VT_OR_PREFIX", "VT_AND_INFIX", "VT_OR_INFIX", "VT_ACCUMULATE_INIT_CLAUSE", "VT_ACCUMULATE_ID_CLAUSE", "VT_FROM_SOURCE", "VT_EXPRESSION_CHAIN", "VT_PATTERN", "VT_FACT_BINDING", "VT_FACT_OR", "VT_BIND_FIELD", "VT_FIELD", "VT_ACCESSOR_PATH", "VT_ACCESSOR_ELEMENT", "VT_DATA_TYPE", "VT_PATTERN_TYPE", "VT_PACKAGE_ID", "VT_IMPORT_ID", "VT_GLOBAL_ID", "VT_FUNCTION_ID", "VT_PARAM_LIST", "VK_DATE_EFFECTIVE", "VK_DATE_EXPIRES", "VK_LOCK_ON_ACTIVE", "VK_NO_LOOP", "VK_AUTO_FOCUS", "VK_ACTIVATION_GROUP", "VK_AGENDA_GROUP", "VK_RULEFLOW_GROUP", "VK_DURATION", "VK_DIALECT", "VK_SALIENCE", "VK_ENABLED", "!
 VK_ATTRIBUTES", "VK_RULE", "VK_EXTEND", "VK_IMPORT", "VK_PACKAGE", "VK_TEMPLATE", "VK_QUERY", "VK_DECLARE", "VK_FUNCTION", "VK_GLOBAL", "VK_EVAL", "VK_ENTRY_POINT", "VK_NOT", "VK_IN", "VK_OR", "VK_AND", "VK_EXISTS", "VK_FORALL", "VK_ACTION", "VK_REVERSE", "VK_RESULT", "VK_OPERATOR", "VK_END", "VK_INIT", "SEMICOLON", "ID", "DOT", "DOT_STAR", "STRING", "LEFT_PAREN", "COMMA", "RIGHT_PAREN", "AT", "COLON", "EQUALS", "WHEN", "BOOL", "INT", "DOUBLE_PIPE", "DOUBLE_AMPER", "FROM", "OVER", "ACCUMULATE", "COLLECT", "ARROW", "EQUAL", "GREATER", "GREATER_EQUAL", "LESS", "LESS_EQUAL", "NOT_EQUAL", "FLOAT", "NULL", "LEFT_SQUARE", "RIGHT_SQUARE", "THEN", "LEFT_CURLY", "RIGHT_CURLY", "MISC", "EOL", "WS", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT", "IdentifierStart", "IdentifierPart"
     };
     public static final int COMMA=87;
     public static final int VT_PATTERN_TYPE=39;
@@ -63,6 +63,7 @@
     public static final int AT=89;
     public static final int LEFT_PAREN=86;
     public static final int DOUBLE_AMPER=96;
+    public static final int IdentifierPart=126;
     public static final int VT_QUERY_ID=9;
     public static final int VT_ACCESSOR_PATH=36;
     public static final int VT_LABEL=8;
@@ -75,9 +76,9 @@
     public static final int STRING=85;
     public static final int VK_AND=72;
     public static final int VT_ACCESSOR_ELEMENT=37;
-    public static final int VK_REVERSE=76;
     public static final int VK_GLOBAL=66;
     public static final int VT_ACCUMULATE_INIT_CLAUSE=27;
+    public static final int VK_REVERSE=76;
     public static final int VT_BEHAVIOR=21;
     public static final int VK_DURATION=53;
     public static final int VT_SQUARE_CHUNK=19;
@@ -93,6 +94,7 @@
     public static final int VT_RULE_ID=12;
     public static final int EQUAL=102;
     public static final int VK_NO_LOOP=48;
+    public static final int IdentifierStart=125;
     public static final int SEMICOLON=81;
     public static final int VK_TEMPLATE=62;
     public static final int VT_AND_IMPLICIT=22;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapLexer.java	2009-05-01 15:34:54 UTC (rev 26331)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapLexer.java	2009-05-01 16:54:28 UTC (rev 26332)
@@ -1,4 +1,4 @@
-// $ANTLR 3.1.1 src/main/resources/org/drools/lang/dsl/DSLMap.g 2009-04-09 16:58:56
+// $ANTLR 3.1.1 src/main/resources/org/drools/lang/dsl/DSLMap.g 2009-05-01 12:52:51
 
 	package org.drools.lang.dsl;
 	import java.util.List;
@@ -15,9 +15,10 @@
 public class DSLMapLexer extends Lexer {
     public static final int COMMA=27;
     public static final int RIGHT_CURLY=30;
+    public static final int IdentifierPart=35;
     public static final int VT_ENTRY_VAL=14;
     public static final int WS=31;
-    public static final int MISC=35;
+    public static final int MISC=36;
     public static final int VT_META=12;
     public static final int VT_CONSEQUENCE=9;
     public static final int VT_SPACE=20;
@@ -453,68 +454,55 @@
         try {
             int _type = LITERAL;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:2: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+ )
-            // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+
+            // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:2: ( ( IdentifierPart | MISC | EscapeSequence | DOT )+ )
+            // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:4: ( IdentifierPart | MISC | EscapeSequence | DOT )+
             {
-            // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+
+            // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:4: ( IdentifierPart | MISC | EscapeSequence | DOT )+
             int cnt4=0;
             loop4:
             do {
-                int alt4=9;
-                alt4 = dfa4.predict(input);
+                int alt4=5;
+                int LA4_0 = input.LA(1);
+
+                if ( ((LA4_0>='\u0000' && LA4_0<='\b')||(LA4_0>='\u000E' && LA4_0<='\u001B')||LA4_0=='$'||(LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')||(LA4_0>='\u007F' && LA4_0<='\u009F')||(LA4_0>='\u00A2' && LA4_0<='\u00A5')||LA4_0=='\u00AA'||LA4_0=='\u00AD'||LA4_0=='\u00B5'||LA4_0=='\u00BA'||(LA4_0>='\u00C0' && LA4_0<='\u00D6')||(LA4_0>='\u00D8' && LA4_0<='\u00F6')||(LA4_0>='\u00F8' && LA4_0<='\u0236')||(LA4_0>='\u0250' && LA4_0<='\u02C1')||(LA4_0>='\u02C6' && LA4_0<='\u02D1')||(LA4_0>='\u02E0' && LA4_0<='\u02E4')||LA4_0=='\u02EE'||(LA4_0>='\u0300' && LA4_0<='\u0357')||(LA4_0>='\u035D' && LA4_0<='\u036F')||LA4_0=='\u037A'||LA4_0=='\u0386'||(LA4_0>='\u0388' && LA4_0<='\u038A')||LA4_0=='\u038C'||(LA4_0>='\u038E' && LA4_0<='\u03A1')||(LA4_0>='\u03A3' && LA4_0<='\u03CE')||(LA4_0>='\u03D0' && LA4_0<='\u03F5')||(LA4_0>='\u03F7' && LA4_0<='\u03FB')||(LA4_0>='\u0400' && LA4_0<='\u0481')||(LA4_0>='\u0483' && LA4_0<='\u0486')||(LA4!
 _0>='\u048A' && LA4_0<='\u04CE')||(LA4_0>='\u04D0' && LA4_0<='\u04F5')||(LA4_0>='\u04F8' && LA4_0<='\u04F9')||(LA4_0>='\u0500' && LA4_0<='\u050F')||(LA4_0>='\u0531' && LA4_0<='\u0556')||LA4_0=='\u0559'||(LA4_0>='\u0561' && LA4_0<='\u0587')||(LA4_0>='\u0591' && LA4_0<='\u05A1')||(LA4_0>='\u05A3' && LA4_0<='\u05B9')||(LA4_0>='\u05BB' && LA4_0<='\u05BD')||LA4_0=='\u05BF'||(LA4_0>='\u05C1' && LA4_0<='\u05C2')||LA4_0=='\u05C4'||(LA4_0>='\u05D0' && LA4_0<='\u05EA')||(LA4_0>='\u05F0' && LA4_0<='\u05F2')||(LA4_0>='\u0600' && LA4_0<='\u0603')||(LA4_0>='\u0610' && LA4_0<='\u0615')||(LA4_0>='\u0621' && LA4_0<='\u063A')||(LA4_0>='\u0640' && LA4_0<='\u0658')||(LA4_0>='\u0660' && LA4_0<='\u0669')||(LA4_0>='\u066E' && LA4_0<='\u06D3')||(LA4_0>='\u06D5' && LA4_0<='\u06DD')||(LA4_0>='\u06DF' && LA4_0<='\u06E8')||(LA4_0>='\u06EA' && LA4_0<='\u06FC')||LA4_0=='\u06FF'||(LA4_0>='\u070F' && LA4_0<='\u074A')||(LA4_0>='\u074D' && LA4_0<='\u074F')||(LA4_0>='\u0780' && LA4_0<='\u07B1')||(LA4_0>='\u0!
 901' && LA4_0<='\u0939')||(LA4_0>='\u093C' && LA4_0<='\u094D')||(LA4_0
>='\u0950' && LA4_0<='\u0954')||(LA4_0>='\u0958' && LA4_0<='\u0963')||(LA4_0>='\u0966' && LA4_0<='\u096F')||(LA4_0>='\u0981' && LA4_0<='\u0983')||(LA4_0>='\u0985' && LA4_0<='\u098C')||(LA4_0>='\u098F' && LA4_0<='\u0990')||(LA4_0>='\u0993' && LA4_0<='\u09A8')||(LA4_0>='\u09AA' && LA4_0<='\u09B0')||LA4_0=='\u09B2'||(LA4_0>='\u09B6' && LA4_0<='\u09B9')||(LA4_0>='\u09BC' && LA4_0<='\u09C4')||(LA4_0>='\u09C7' && LA4_0<='\u09C8')||(LA4_0>='\u09CB' && LA4_0<='\u09CD')||LA4_0=='\u09D7'||(LA4_0>='\u09DC' && LA4_0<='\u09DD')||(LA4_0>='\u09DF' && LA4_0<='\u09E3')||(LA4_0>='\u09E6' && LA4_0<='\u09F3')||(LA4_0>='\u0A01' && LA4_0<='\u0A03')||(LA4_0>='\u0A05' && LA4_0<='\u0A0A')||(LA4_0>='\u0A0F' && LA4_0<='\u0A10')||(LA4_0>='\u0A13' && LA4_0<='\u0A28')||(LA4_0>='\u0A2A' && LA4_0<='\u0A30')||(LA4_0>='\u0A32' && LA4_0<='\u0A33')||(LA4_0>='\u0A35' && LA4_0<='\u0A36')||(LA4_0>='\u0A38' && LA4_0<='\u0A39')||LA4_0=='\u0A3C'||(LA4_0>='\u0A3E' && LA4_0<='\u0A42')||(LA4_0>='\u0A47' && LA4_0<='\u0A!
 48')||(LA4_0>='\u0A4B' && LA4_0<='\u0A4D')||(LA4_0>='\u0A59' && LA4_0<='\u0A5C')||LA4_0=='\u0A5E'||(LA4_0>='\u0A66' && LA4_0<='\u0A74')||(LA4_0>='\u0A81' && LA4_0<='\u0A83')||(LA4_0>='\u0A85' && LA4_0<='\u0A8D')||(LA4_0>='\u0A8F' && LA4_0<='\u0A91')||(LA4_0>='\u0A93' && LA4_0<='\u0AA8')||(LA4_0>='\u0AAA' && LA4_0<='\u0AB0')||(LA4_0>='\u0AB2' && LA4_0<='\u0AB3')||(LA4_0>='\u0AB5' && LA4_0<='\u0AB9')||(LA4_0>='\u0ABC' && LA4_0<='\u0AC5')||(LA4_0>='\u0AC7' && LA4_0<='\u0AC9')||(LA4_0>='\u0ACB' && LA4_0<='\u0ACD')||LA4_0=='\u0AD0'||(LA4_0>='\u0AE0' && LA4_0<='\u0AE3')||(LA4_0>='\u0AE6' && LA4_0<='\u0AEF')||LA4_0=='\u0AF1'||(LA4_0>='\u0B01' && LA4_0<='\u0B03')||(LA4_0>='\u0B05' && LA4_0<='\u0B0C')||(LA4_0>='\u0B0F' && LA4_0<='\u0B10')||(LA4_0>='\u0B13' && LA4_0<='\u0B28')||(LA4_0>='\u0B2A' && LA4_0<='\u0B30')||(LA4_0>='\u0B32' && LA4_0<='\u0B33')||(LA4_0>='\u0B35' && LA4_0<='\u0B39')||(LA4_0>='\u0B3C' && LA4_0<='\u0B43')||(LA4_0>='\u0B47' && LA4_0<='\u0B48')||(LA4_0>='\u0B4B' &&!
  LA4_0<='\u0B4D')||(LA4_0>='\u0B56' && LA4_0<='\u0B57')||(LA4_0>='\u0B
5C' && LA4_0<='\u0B5D')||(LA4_0>='\u0B5F' && LA4_0<='\u0B61')||(LA4_0>='\u0B66' && LA4_0<='\u0B6F')||LA4_0=='\u0B71'||(LA4_0>='\u0B82' && LA4_0<='\u0B83')||(LA4_0>='\u0B85' && LA4_0<='\u0B8A')||(LA4_0>='\u0B8E' && LA4_0<='\u0B90')||(LA4_0>='\u0B92' && LA4_0<='\u0B95')||(LA4_0>='\u0B99' && LA4_0<='\u0B9A')||LA4_0=='\u0B9C'||(LA4_0>='\u0B9E' && LA4_0<='\u0B9F')||(LA4_0>='\u0BA3' && LA4_0<='\u0BA4')||(LA4_0>='\u0BA8' && LA4_0<='\u0BAA')||(LA4_0>='\u0BAE' && LA4_0<='\u0BB5')||(LA4_0>='\u0BB7' && LA4_0<='\u0BB9')||(LA4_0>='\u0BBE' && LA4_0<='\u0BC2')||(LA4_0>='\u0BC6' && LA4_0<='\u0BC8')||(LA4_0>='\u0BCA' && LA4_0<='\u0BCD')||LA4_0=='\u0BD7'||(LA4_0>='\u0BE7' && LA4_0<='\u0BEF')||LA4_0=='\u0BF9'||(LA4_0>='\u0C01' && LA4_0<='\u0C03')||(LA4_0>='\u0C05' && LA4_0<='\u0C0C')||(LA4_0>='\u0C0E' && LA4_0<='\u0C10')||(LA4_0>='\u0C12' && LA4_0<='\u0C28')||(LA4_0>='\u0C2A' && LA4_0<='\u0C33')||(LA4_0>='\u0C35' && LA4_0<='\u0C39')||(LA4_0>='\u0C3E' && LA4_0<='\u0C44')||(LA4_0>='\u0C46' && LA!
 4_0<='\u0C48')||(LA4_0>='\u0C4A' && LA4_0<='\u0C4D')||(LA4_0>='\u0C55' && LA4_0<='\u0C56')||(LA4_0>='\u0C60' && LA4_0<='\u0C61')||(LA4_0>='\u0C66' && LA4_0<='\u0C6F')||(LA4_0>='\u0C82' && LA4_0<='\u0C83')||(LA4_0>='\u0C85' && LA4_0<='\u0C8C')||(LA4_0>='\u0C8E' && LA4_0<='\u0C90')||(LA4_0>='\u0C92' && LA4_0<='\u0CA8')||(LA4_0>='\u0CAA' && LA4_0<='\u0CB3')||(LA4_0>='\u0CB5' && LA4_0<='\u0CB9')||(LA4_0>='\u0CBC' && LA4_0<='\u0CC4')||(LA4_0>='\u0CC6' && LA4_0<='\u0CC8')||(LA4_0>='\u0CCA' && LA4_0<='\u0CCD')||(LA4_0>='\u0CD5' && LA4_0<='\u0CD6')||LA4_0=='\u0CDE'||(LA4_0>='\u0CE0' && LA4_0<='\u0CE1')||(LA4_0>='\u0CE6' && LA4_0<='\u0CEF')||(LA4_0>='\u0D02' && LA4_0<='\u0D03')||(LA4_0>='\u0D05' && LA4_0<='\u0D0C')||(LA4_0>='\u0D0E' && LA4_0<='\u0D10')||(LA4_0>='\u0D12' && LA4_0<='\u0D28')||(LA4_0>='\u0D2A' && LA4_0<='\u0D39')||(LA4_0>='\u0D3E' && LA4_0<='\u0D43')||(LA4_0>='\u0D46' && LA4_0<='\u0D48')||(LA4_0>='\u0D4A' && LA4_0<='\u0D4D')||LA4_0=='\u0D57'||(LA4_0>='\u0D60' && LA4_0<!
 ='\u0D61')||(LA4_0>='\u0D66' && LA4_0<='\u0D6F')||(LA4_0>='\u0D82' && 
LA4_0<='\u0D83')||(LA4_0>='\u0D85' && LA4_0<='\u0D96')||(LA4_0>='\u0D9A' && LA4_0<='\u0DB1')||(LA4_0>='\u0DB3' && LA4_0<='\u0DBB')||LA4_0=='\u0DBD'||(LA4_0>='\u0DC0' && LA4_0<='\u0DC6')||LA4_0=='\u0DCA'||(LA4_0>='\u0DCF' && LA4_0<='\u0DD4')||LA4_0=='\u0DD6'||(LA4_0>='\u0DD8' && LA4_0<='\u0DDF')||(LA4_0>='\u0DF2' && LA4_0<='\u0DF3')||(LA4_0>='\u0E01' && LA4_0<='\u0E3A')||(LA4_0>='\u0E3F' && LA4_0<='\u0E4E')||(LA4_0>='\u0E50' && LA4_0<='\u0E59')||(LA4_0>='\u0E81' && LA4_0<='\u0E82')||LA4_0=='\u0E84'||(LA4_0>='\u0E87' && LA4_0<='\u0E88')||LA4_0=='\u0E8A'||LA4_0=='\u0E8D'||(LA4_0>='\u0E94' && LA4_0<='\u0E97')||(LA4_0>='\u0E99' && LA4_0<='\u0E9F')||(LA4_0>='\u0EA1' && LA4_0<='\u0EA3')||LA4_0=='\u0EA5'||LA4_0=='\u0EA7'||(LA4_0>='\u0EAA' && LA4_0<='\u0EAB')||(LA4_0>='\u0EAD' && LA4_0<='\u0EB9')||(LA4_0>='\u0EBB' && LA4_0<='\u0EBD')||(LA4_0>='\u0EC0' && LA4_0<='\u0EC4')||LA4_0=='\u0EC6'||(LA4_0>='\u0EC8' && LA4_0<='\u0ECD')||(LA4_0>='\u0ED0' && LA4_0<='\u0ED9')||(LA4_0>='\u0EDC' && !
 LA4_0<='\u0EDD')||LA4_0=='\u0F00'||(LA4_0>='\u0F18' && LA4_0<='\u0F19')||(LA4_0>='\u0F20' && LA4_0<='\u0F29')||LA4_0=='\u0F35'||LA4_0=='\u0F37'||LA4_0=='\u0F39'||(LA4_0>='\u0F3E' && LA4_0<='\u0F47')||(LA4_0>='\u0F49' && LA4_0<='\u0F6A')||(LA4_0>='\u0F71' && LA4_0<='\u0F84')||(LA4_0>='\u0F86' && LA4_0<='\u0F8B')||(LA4_0>='\u0F90' && LA4_0<='\u0F97')||(LA4_0>='\u0F99' && LA4_0<='\u0FBC')||LA4_0=='\u0FC6'||(LA4_0>='\u1000' && LA4_0<='\u1021')||(LA4_0>='\u1023' && LA4_0<='\u1027')||(LA4_0>='\u1029' && LA4_0<='\u102A')||(LA4_0>='\u102C' && LA4_0<='\u1032')||(LA4_0>='\u1036' && LA4_0<='\u1039')||(LA4_0>='\u1040' && LA4_0<='\u1049')||(LA4_0>='\u1050' && LA4_0<='\u1059')||(LA4_0>='\u10A0' && LA4_0<='\u10C5')||(LA4_0>='\u10D0' && LA4_0<='\u10F8')||(LA4_0>='\u1100' && LA4_0<='\u1159')||(LA4_0>='\u115F' && LA4_0<='\u11A2')||(LA4_0>='\u11A8' && LA4_0<='\u11F9')||(LA4_0>='\u1200' && LA4_0<='\u1206')||(LA4_0>='\u1208' && LA4_0<='\u1246')||LA4_0=='\u1248'||(LA4_0>='\u124A' && LA4_0<='\u12!
 4D')||(LA4_0>='\u1250' && LA4_0<='\u1256')||LA4_0=='\u1258'||(LA4_0>='
\u125A' && LA4_0<='\u125D')||(LA4_0>='\u1260' && LA4_0<='\u1286')||LA4_0=='\u1288'||(LA4_0>='\u128A' && LA4_0<='\u128D')||(LA4_0>='\u1290' && LA4_0<='\u12AE')||LA4_0=='\u12B0'||(LA4_0>='\u12B2' && LA4_0<='\u12B5')||(LA4_0>='\u12B8' && LA4_0<='\u12BE')||LA4_0=='\u12C0'||(LA4_0>='\u12C2' && LA4_0<='\u12C5')||(LA4_0>='\u12C8' && LA4_0<='\u12CE')||(LA4_0>='\u12D0' && LA4_0<='\u12D6')||(LA4_0>='\u12D8' && LA4_0<='\u12EE')||(LA4_0>='\u12F0' && LA4_0<='\u130E')||LA4_0=='\u1310'||(LA4_0>='\u1312' && LA4_0<='\u1315')||(LA4_0>='\u1318' && LA4_0<='\u131E')||(LA4_0>='\u1320' && LA4_0<='\u1346')||(LA4_0>='\u1348' && LA4_0<='\u135A')||(LA4_0>='\u1369' && LA4_0<='\u1371')||(LA4_0>='\u13A0' && LA4_0<='\u13F4')||(LA4_0>='\u1401' && LA4_0<='\u166C')||(LA4_0>='\u166F' && LA4_0<='\u1676')||(LA4_0>='\u1681' && LA4_0<='\u169A')||(LA4_0>='\u16A0' && LA4_0<='\u16EA')||(LA4_0>='\u16EE' && LA4_0<='\u16F0')||(LA4_0>='\u1700' && LA4_0<='\u170C')||(LA4_0>='\u170E' && LA4_0<='\u1714')||(LA4_0>='\u1720' &!
 & LA4_0<='\u1734')||(LA4_0>='\u1740' && LA4_0<='\u1753')||(LA4_0>='\u1760' && LA4_0<='\u176C')||(LA4_0>='\u176E' && LA4_0<='\u1770')||(LA4_0>='\u1772' && LA4_0<='\u1773')||(LA4_0>='\u1780' && LA4_0<='\u17D3')||LA4_0=='\u17D7'||(LA4_0>='\u17DB' && LA4_0<='\u17DD')||(LA4_0>='\u17E0' && LA4_0<='\u17E9')||(LA4_0>='\u180B' && LA4_0<='\u180D')||(LA4_0>='\u1810' && LA4_0<='\u1819')||(LA4_0>='\u1820' && LA4_0<='\u1877')||(LA4_0>='\u1880' && LA4_0<='\u18A9')||(LA4_0>='\u1900' && LA4_0<='\u191C')||(LA4_0>='\u1920' && LA4_0<='\u192B')||(LA4_0>='\u1930' && LA4_0<='\u193B')||(LA4_0>='\u1946' && LA4_0<='\u196D')||(LA4_0>='\u1970' && LA4_0<='\u1974')||(LA4_0>='\u1D00' && LA4_0<='\u1D6B')||(LA4_0>='\u1E00' && LA4_0<='\u1E9B')||(LA4_0>='\u1EA0' && LA4_0<='\u1EF9')||(LA4_0>='\u1F00' && LA4_0<='\u1F15')||(LA4_0>='\u1F18' && LA4_0<='\u1F1D')||(LA4_0>='\u1F20' && LA4_0<='\u1F45')||(LA4_0>='\u1F48' && LA4_0<='\u1F4D')||(LA4_0>='\u1F50' && LA4_0<='\u1F57')||LA4_0=='\u1F59'||LA4_0=='\u1F5B'||LA4_0!
 =='\u1F5D'||(LA4_0>='\u1F5F' && LA4_0<='\u1F7D')||(LA4_0>='\u1F80' && 
LA4_0<='\u1FB4')||(LA4_0>='\u1FB6' && LA4_0<='\u1FBC')||LA4_0=='\u1FBE'||(LA4_0>='\u1FC2' && LA4_0<='\u1FC4')||(LA4_0>='\u1FC6' && LA4_0<='\u1FCC')||(LA4_0>='\u1FD0' && LA4_0<='\u1FD3')||(LA4_0>='\u1FD6' && LA4_0<='\u1FDB')||(LA4_0>='\u1FE0' && LA4_0<='\u1FEC')||(LA4_0>='\u1FF2' && LA4_0<='\u1FF4')||(LA4_0>='\u1FF6' && LA4_0<='\u1FFC')||(LA4_0>='\u200C' && LA4_0<='\u200F')||(LA4_0>='\u202A' && LA4_0<='\u202E')||(LA4_0>='\u203F' && LA4_0<='\u2040')||LA4_0=='\u2054'||(LA4_0>='\u2060' && LA4_0<='\u2063')||(LA4_0>='\u206A' && LA4_0<='\u206F')||LA4_0=='\u2071'||LA4_0=='\u207F'||(LA4_0>='\u20A0' && LA4_0<='\u20B1')||(LA4_0>='\u20D0' && LA4_0<='\u20DC')||LA4_0=='\u20E1'||(LA4_0>='\u20E5' && LA4_0<='\u20EA')||LA4_0=='\u2102'||LA4_0=='\u2107'||(LA4_0>='\u210A' && LA4_0<='\u2113')||LA4_0=='\u2115'||(LA4_0>='\u2119' && LA4_0<='\u211D')||LA4_0=='\u2124'||LA4_0=='\u2126'||LA4_0=='\u2128'||(LA4_0>='\u212A' && LA4_0<='\u212D')||(LA4_0>='\u212F' && LA4_0<='\u2131')||(LA4_0>='\u2133' && LA4_!
 0<='\u2139')||(LA4_0>='\u213D' && LA4_0<='\u213F')||(LA4_0>='\u2145' && LA4_0<='\u2149')||(LA4_0>='\u2160' && LA4_0<='\u2183')||(LA4_0>='\u3005' && LA4_0<='\u3007')||(LA4_0>='\u3021' && LA4_0<='\u302F')||(LA4_0>='\u3031' && LA4_0<='\u3035')||(LA4_0>='\u3038' && LA4_0<='\u303C')||(LA4_0>='\u3041' && LA4_0<='\u3096')||(LA4_0>='\u3099' && LA4_0<='\u309A')||(LA4_0>='\u309D' && LA4_0<='\u309F')||(LA4_0>='\u30A1' && LA4_0<='\u30FF')||(LA4_0>='\u3105' && LA4_0<='\u312C')||(LA4_0>='\u3131' && LA4_0<='\u318E')||(LA4_0>='\u31A0' && LA4_0<='\u31B7')||(LA4_0>='\u31F0' && LA4_0<='\u31FF')||(LA4_0>='\u3400' && LA4_0<='\u4DB5')||(LA4_0>='\u4E00' && LA4_0<='\u9FA5')||(LA4_0>='\uA000' && LA4_0<='\uA48C')||(LA4_0>='\uAC00' && LA4_0<='\uD7A3')||(LA4_0>='\uF900' && LA4_0<='\uFA2D')||(LA4_0>='\uFA30' && LA4_0<='\uFA6A')||(LA4_0>='\uFB00' && LA4_0<='\uFB06')||(LA4_0>='\uFB13' && LA4_0<='\uFB17')||(LA4_0>='\uFB1D' && LA4_0<='\uFB28')||(LA4_0>='\uFB2A' && LA4_0<='\uFB36')||(LA4_0>='\uFB38' && LA4_!
 0<='\uFB3C')||LA4_0=='\uFB3E'||(LA4_0>='\uFB40' && LA4_0<='\uFB41')||(
LA4_0>='\uFB43' && LA4_0<='\uFB44')||(LA4_0>='\uFB46' && LA4_0<='\uFBB1')||(LA4_0>='\uFBD3' && LA4_0<='\uFD3D')||(LA4_0>='\uFD50' && LA4_0<='\uFD8F')||(LA4_0>='\uFD92' && LA4_0<='\uFDC7')||(LA4_0>='\uFDF0' && LA4_0<='\uFDFC')||(LA4_0>='\uFE00' && LA4_0<='\uFE0F')||(LA4_0>='\uFE20' && LA4_0<='\uFE23')||(LA4_0>='\uFE33' && LA4_0<='\uFE34')||(LA4_0>='\uFE4D' && LA4_0<='\uFE4F')||LA4_0=='\uFE69'||(LA4_0>='\uFE70' && LA4_0<='\uFE74')||(LA4_0>='\uFE76' && LA4_0<='\uFEFC')||LA4_0=='\uFEFF'||LA4_0=='\uFF04'||(LA4_0>='\uFF10' && LA4_0<='\uFF19')||(LA4_0>='\uFF21' && LA4_0<='\uFF3A')||LA4_0=='\uFF3F'||(LA4_0>='\uFF41' && LA4_0<='\uFF5A')||(LA4_0>='\uFF65' && LA4_0<='\uFFBE')||(LA4_0>='\uFFC2' && LA4_0<='\uFFC7')||(LA4_0>='\uFFCA' && LA4_0<='\uFFCF')||(LA4_0>='\uFFD2' && LA4_0<='\uFFD7')||(LA4_0>='\uFFDA' && LA4_0<='\uFFDC')||(LA4_0>='\uFFE0' && LA4_0<='\uFFE1')||(LA4_0>='\uFFE5' && LA4_0<='\uFFE6')||(LA4_0>='\uFFF9' && LA4_0<='\uFFFB')) ) {
+                    alt4=1;
+                }
+                else if ( ((LA4_0>='!' && LA4_0<='\"')||(LA4_0>='%' && LA4_0<='-')||LA4_0=='/'||(LA4_0>=';' && LA4_0<='<')||(LA4_0>='>' && LA4_0<='@')||LA4_0=='^'||LA4_0=='|') ) {
+                    alt4=2;
+                }
+                else if ( (LA4_0=='\\') ) {
+                    alt4=3;
+                }
+                else if ( (LA4_0=='.') ) {
+                    alt4=4;
+                }
+
+
                 switch (alt4) {
             	case 1 :
-            	    // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:5: 'a' .. 'z'
+            	    // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:5: IdentifierPart
             	    {
-            	    matchRange('a','z'); if (state.failed) return ;
+            	    mIdentifierPart(); if (state.failed) return ;
 
             	    }
             	    break;
             	case 2 :
-            	    // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:14: 'A' .. 'Z'
+            	    // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:20: MISC
             	    {
-            	    matchRange('A','Z'); if (state.failed) return ;
+            	    mMISC(); if (state.failed) return ;
 
             	    }
             	    break;
             	case 3 :
-            	    // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:23: '_'
+            	    // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:25: EscapeSequence
             	    {
-            	    match('_'); if (state.failed) return ;
+            	    mEscapeSequence(); if (state.failed) return ;
 
             	    }
             	    break;
             	case 4 :
-            	    // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:27: '0' .. '9'
+            	    // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:40: DOT
             	    {
-            	    matchRange('0','9'); if (state.failed) return ;
-
-            	    }
-            	    break;
-            	case 5 :
-            	    // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:36: '\\u00c0' .. '\\u00ff'
-            	    {
-            	    matchRange('\u00C0','\u00FF'); if (state.failed) return ;
-
-            	    }
-            	    break;
-            	case 6 :
-            	    // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:55: MISC
-            	    {
-            	    mMISC(); if (state.failed) return ;
-
-            	    }
-            	    break;
-            	case 7 :
-            	    // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:60: EscapeSequence
-            	    {
-            	    mEscapeSequence(); if (state.failed) return ;
-
-            	    }
-            	    break;
-            	case 8 :
-            	    // src/main/resources/org/drools/lang/dsl/DSLMap.g:335:75: DOT
-            	    {
             	    mDOT(); if (state.failed) return ;
 
             	    }
@@ -544,10 +532,10 @@
     // $ANTLR start "MISC"
     public final void mMISC() throws RecognitionException {
         try {
-            // src/main/resources/org/drools/lang/dsl/DSLMap.g:339:7: ( '>' | '<' | '!' | '@' | '$' | '%' | '^' | '*' | '-' | '+' | '?' | COMMA | '/' | '\\'' | '\"' | '|' | '&' | '(' | ')' | ';' )
+            // src/main/resources/org/drools/lang/dsl/DSLMap.g:339:7: ( '>' | '<' | '!' | '@' | '%' | '^' | '*' | '-' | '+' | '?' | COMMA | '/' | '\\'' | '\"' | '|' | '&' | '(' | ')' | ';' )
             // src/main/resources/org/drools/lang/dsl/DSLMap.g:
             {
-            if ( (input.LA(1)>='!' && input.LA(1)<='\"')||(input.LA(1)>='$' && input.LA(1)<='-')||input.LA(1)=='/'||(input.LA(1)>=';' && input.LA(1)<='<')||(input.LA(1)>='>' && input.LA(1)<='@')||input.LA(1)=='^'||input.LA(1)=='|' ) {
+            if ( (input.LA(1)>='!' && input.LA(1)<='\"')||(input.LA(1)>='%' && input.LA(1)<='-')||input.LA(1)=='/'||(input.LA(1)>=';' && input.LA(1)<='<')||(input.LA(1)>='>' && input.LA(1)<='@')||input.LA(1)=='^'||input.LA(1)=='|' ) {
                 input.consume();
             state.failed=false;
             }
@@ -566,6 +554,31 @@
     }
     // $ANTLR end "MISC"
 
+    // $ANTLR start "IdentifierPart"
+    public final void mIdentifierPart() throws RecognitionException {
+        try {
+            // src/main/resources/org/drools/lang/dsl/DSLMap.g:346:5: ( '\\u0000' .. '\\u0008' | '\\u000e' .. '\\u001b' | '\\u0024' | '\\u0030' .. '\\u0039' | '\\u0041' .. '\\u005a' | '\\u005f' | '\\u0061' .. '\\u007a' | '\\u007f' .. '\\u009f' | '\\u00a2' .. '\\u00a5' | '\\u00aa' | '\\u00ad' | '\\u00b5' | '\\u00ba' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u0236' | '\\u0250' .. '\\u02c1' | '\\u02c6' .. '\\u02d1' | '\\u02e0' .. '\\u02e4' | '\\u02ee' | '\\u0300' .. '\\u0357' | '\\u035d' .. '\\u036f' | '\\u037a' | '\\u0386' | '\\u0388' .. '\\u038a' | '\\u038c' | '\\u038e' .. '\\u03a1' | '\\u03a3' .. '\\u03ce' | '\\u03d0' .. '\\u03f5' | '\\u03f7' .. '\\u03fb' | '\\u0400' .. '\\u0481' | '\\u0483' .. '\\u0486' | '\\u048a' .. '\\u04ce' | '\\u04d0' .. '\\u04f5' | '\\u04f8' .. '\\u04f9' | '\\u0500' .. '\\u050f' | '\\u0531' .. '\\u0556' | '\\u0559' | '\\u0561' .. '\\u0587' | '\\u0591' .. '\\u05a1' | '\\u05a3' .. '\\u05b9' | '\\u05bb' .. '\\u05bd' | '\\u05bf'!
  | '\\u05c1' .. '\\u05c2' | '\\u05c4' | '\\u05d0' .. '\\u05ea' | '\\u05f0' .. '\\u05f2' | '\\u0600' .. '\\u0603' | '\\u0610' .. '\\u0615' | '\\u0621' .. '\\u063a' | '\\u0640' .. '\\u0658' | '\\u0660' .. '\\u0669' | '\\u066e' .. '\\u06d3' | '\\u06d5' .. '\\u06dd' | '\\u06df' .. '\\u06e8' | '\\u06ea' .. '\\u06fc' | '\\u06ff' | '\\u070f' .. '\\u074a' | '\\u074d' .. '\\u074f' | '\\u0780' .. '\\u07b1' | '\\u0901' .. '\\u0939' | '\\u093c' .. '\\u094d' | '\\u0950' .. '\\u0954' | '\\u0958' .. '\\u0963' | '\\u0966' .. '\\u096f' | '\\u0981' .. '\\u0983' | '\\u0985' .. '\\u098c' | '\\u098f' .. '\\u0990' | '\\u0993' .. '\\u09a8' | '\\u09aa' .. '\\u09b0' | '\\u09b2' | '\\u09b6' .. '\\u09b9' | '\\u09bc' .. '\\u09c4' | '\\u09c7' .. '\\u09c8' | '\\u09cb' .. '\\u09cd' | '\\u09d7' | '\\u09dc' .. '\\u09dd' | '\\u09df' .. '\\u09e3' | '\\u09e6' .. '\\u09f3' | '\\u0a01' .. '\\u0a03' | '\\u0a05' .. '\\u0a0a' | '\\u0a0f' .. '\\u0a10' | '\\u0a13' .. '\\u0a28' | '\\u0a2a' .. '\\u0a30' | '\\u0a32' ..!
  '\\u0a33' | '\\u0a35' .. '\\u0a36' | '\\u0a38' .. '\\u0a39' | '\\u0a3
c' | '\\u0a3e' .. '\\u0a42' | '\\u0a47' .. '\\u0a48' | '\\u0a4b' .. '\\u0a4d' | '\\u0a59' .. '\\u0a5c' | '\\u0a5e' | '\\u0a66' .. '\\u0a74' | '\\u0a81' .. '\\u0a83' | '\\u0a85' .. '\\u0a8d' | '\\u0a8f' .. '\\u0a91' | '\\u0a93' .. '\\u0aa8' | '\\u0aaa' .. '\\u0ab0' | '\\u0ab2' .. '\\u0ab3' | '\\u0ab5' .. '\\u0ab9' | '\\u0abc' .. '\\u0ac5' | '\\u0ac7' .. '\\u0ac9' | '\\u0acb' .. '\\u0acd' | '\\u0ad0' | '\\u0ae0' .. '\\u0ae3' | '\\u0ae6' .. '\\u0aef' | '\\u0af1' | '\\u0b01' .. '\\u0b03' | '\\u0b05' .. '\\u0b0c' | '\\u0b0f' .. '\\u0b10' | '\\u0b13' .. '\\u0b28' | '\\u0b2a' .. '\\u0b30' | '\\u0b32' .. '\\u0b33' | '\\u0b35' .. '\\u0b39' | '\\u0b3c' .. '\\u0b43' | '\\u0b47' .. '\\u0b48' | '\\u0b4b' .. '\\u0b4d' | '\\u0b56' .. '\\u0b57' | '\\u0b5c' .. '\\u0b5d' | '\\u0b5f' .. '\\u0b61' | '\\u0b66' .. '\\u0b6f' | '\\u0b71' | '\\u0b82' .. '\\u0b83' | '\\u0b85' .. '\\u0b8a' | '\\u0b8e' .. '\\u0b90' | '\\u0b92' .. '\\u0b95' | '\\u0b99' .. '\\u0b9a' | '\\u0b9c' | '\\u0b9e' .. '\\u0b9f' |!
  '\\u0ba3' .. '\\u0ba4' | '\\u0ba8' .. '\\u0baa' | '\\u0bae' .. '\\u0bb5' | '\\u0bb7' .. '\\u0bb9' | '\\u0bbe' .. '\\u0bc2' | '\\u0bc6' .. '\\u0bc8' | '\\u0bca' .. '\\u0bcd' | '\\u0bd7' | '\\u0be7' .. '\\u0bef' | '\\u0bf9' | '\\u0c01' .. '\\u0c03' | '\\u0c05' .. '\\u0c0c' | '\\u0c0e' .. '\\u0c10' | '\\u0c12' .. '\\u0c28' | '\\u0c2a' .. '\\u0c33' | '\\u0c35' .. '\\u0c39' | '\\u0c3e' .. '\\u0c44' | '\\u0c46' .. '\\u0c48' | '\\u0c4a' .. '\\u0c4d' | '\\u0c55' .. '\\u0c56' | '\\u0c60' .. '\\u0c61' | '\\u0c66' .. '\\u0c6f' | '\\u0c82' .. '\\u0c83' | '\\u0c85' .. '\\u0c8c' | '\\u0c8e' .. '\\u0c90' | '\\u0c92' .. '\\u0ca8' | '\\u0caa' .. '\\u0cb3' | '\\u0cb5' .. '\\u0cb9' | '\\u0cbc' .. '\\u0cc4' | '\\u0cc6' .. '\\u0cc8' | '\\u0cca' .. '\\u0ccd' | '\\u0cd5' .. '\\u0cd6' | '\\u0cde' | '\\u0ce0' .. '\\u0ce1' | '\\u0ce6' .. '\\u0cef' | '\\u0d02' .. '\\u0d03' | '\\u0d05' .. '\\u0d0c' | '\\u0d0e' .. '\\u0d10' | '\\u0d12' .. '\\u0d28' | '\\u0d2a' .. '\\u0d39' | '\\u0d3e' .. '\\u0d43' | '!
 \\u0d46' .. '\\u0d48' | '\\u0d4a' .. '\\u0d4d' | '\\u0d57' | '\\u0d60'
 .. '\\u0d61' | '\\u0d66' .. '\\u0d6f' | '\\u0d82' .. '\\u0d83' | '\\u0d85' .. '\\u0d96' | '\\u0d9a' .. '\\u0db1' | '\\u0db3' .. '\\u0dbb' | '\\u0dbd' | '\\u0dc0' .. '\\u0dc6' | '\\u0dca' | '\\u0dcf' .. '\\u0dd4' | '\\u0dd6' | '\\u0dd8' .. '\\u0ddf' | '\\u0df2' .. '\\u0df3' | '\\u0e01' .. '\\u0e3a' | '\\u0e3f' .. '\\u0e4e' | '\\u0e50' .. '\\u0e59' | '\\u0e81' .. '\\u0e82' | '\\u0e84' | '\\u0e87' .. '\\u0e88' | '\\u0e8a' | '\\u0e8d' | '\\u0e94' .. '\\u0e97' | '\\u0e99' .. '\\u0e9f' | '\\u0ea1' .. '\\u0ea3' | '\\u0ea5' | '\\u0ea7' | '\\u0eaa' .. '\\u0eab' | '\\u0ead' .. '\\u0eb9' | '\\u0ebb' .. '\\u0ebd' | '\\u0ec0' .. '\\u0ec4' | '\\u0ec6' | '\\u0ec8' .. '\\u0ecd' | '\\u0ed0' .. '\\u0ed9' | '\\u0edc' .. '\\u0edd' | '\\u0f00' | '\\u0f18' .. '\\u0f19' | '\\u0f20' .. '\\u0f29' | '\\u0f35' | '\\u0f37' | '\\u0f39' | '\\u0f3e' .. '\\u0f47' | '\\u0f49' .. '\\u0f6a' | '\\u0f71' .. '\\u0f84' | '\\u0f86' .. '\\u0f8b' | '\\u0f90' .. '\\u0f97' | '\\u0f99' .. '\\u0fbc' | '\\u0fc6' | '\\u1!
 000' .. '\\u1021' | '\\u1023' .. '\\u1027' | '\\u1029' .. '\\u102a' | '\\u102c' .. '\\u1032' | '\\u1036' .. '\\u1039' | '\\u1040' .. '\\u1049' | '\\u1050' .. '\\u1059' | '\\u10a0' .. '\\u10c5' | '\\u10d0' .. '\\u10f8' | '\\u1100' .. '\\u1159' | '\\u115f' .. '\\u11a2' | '\\u11a8' .. '\\u11f9' | '\\u1200' .. '\\u1206' | '\\u1208' .. '\\u1246' | '\\u1248' | '\\u124a' .. '\\u124d' | '\\u1250' .. '\\u1256' | '\\u1258' | '\\u125a' .. '\\u125d' | '\\u1260' .. '\\u1286' | '\\u1288' | '\\u128a' .. '\\u128d' | '\\u1290' .. '\\u12ae' | '\\u12b0' | '\\u12b2' .. '\\u12b5' | '\\u12b8' .. '\\u12be' | '\\u12c0' | '\\u12c2' .. '\\u12c5' | '\\u12c8' .. '\\u12ce' | '\\u12d0' .. '\\u12d6' | '\\u12d8' .. '\\u12ee' | '\\u12f0' .. '\\u130e' | '\\u1310' | '\\u1312' .. '\\u1315' | '\\u1318' .. '\\u131e' | '\\u1320' .. '\\u1346' | '\\u1348' .. '\\u135a' | '\\u1369' .. '\\u1371' | '\\u13a0' .. '\\u13f4' | '\\u1401' .. '\\u166c' | '\\u166f' .. '\\u1676' | '\\u1681' .. '\\u169a' | '\\u16a0' .. '\\u16ea!
 ' | '\\u16ee' .. '\\u16f0' | '\\u1700' .. '\\u170c' | '\\u170e' .. '\\
u1714' | '\\u1720' .. '\\u1734' | '\\u1740' .. '\\u1753' | '\\u1760' .. '\\u176c' | '\\u176e' .. '\\u1770' | '\\u1772' .. '\\u1773' | '\\u1780' .. '\\u17d3' | '\\u17d7' | '\\u17db' .. '\\u17dd' | '\\u17e0' .. '\\u17e9' | '\\u180b' .. '\\u180d' | '\\u1810' .. '\\u1819' | '\\u1820' .. '\\u1877' | '\\u1880' .. '\\u18a9' | '\\u1900' .. '\\u191c' | '\\u1920' .. '\\u192b' | '\\u1930' .. '\\u193b' | '\\u1946' .. '\\u196d' | '\\u1970' .. '\\u1974' | '\\u1d00' .. '\\u1d6b' | '\\u1e00' .. '\\u1e9b' | '\\u1ea0' .. '\\u1ef9' | '\\u1f00' .. '\\u1f15' | '\\u1f18' .. '\\u1f1d' | '\\u1f20' .. '\\u1f45' | '\\u1f48' .. '\\u1f4d' | '\\u1f50' .. '\\u1f57' | '\\u1f59' | '\\u1f5b' | '\\u1f5d' | '\\u1f5f' .. '\\u1f7d' | '\\u1f80' .. '\\u1fb4' | '\\u1fb6' .. '\\u1fbc' | '\\u1fbe' | '\\u1fc2' .. '\\u1fc4' | '\\u1fc6' .. '\\u1fcc' | '\\u1fd0' .. '\\u1fd3' | '\\u1fd6' .. '\\u1fdb' | '\\u1fe0' .. '\\u1fec' | '\\u1ff2' .. '\\u1ff4' | '\\u1ff6' .. '\\u1ffc' | '\\u200c' .. '\\u200f' | '\\u202a' .. '\\u202!
 e' | '\\u203f' .. '\\u2040' | '\\u2054' | '\\u2060' .. '\\u2063' | '\\u206a' .. '\\u206f' | '\\u2071' | '\\u207f' | '\\u20a0' .. '\\u20b1' | '\\u20d0' .. '\\u20dc' | '\\u20e1' | '\\u20e5' .. '\\u20ea' | '\\u2102' | '\\u2107' | '\\u210a' .. '\\u2113' | '\\u2115' | '\\u2119' .. '\\u211d' | '\\u2124' | '\\u2126' | '\\u2128' | '\\u212a' .. '\\u212d' | '\\u212f' .. '\\u2131' | '\\u2133' .. '\\u2139' | '\\u213d' .. '\\u213f' | '\\u2145' .. '\\u2149' | '\\u2160' .. '\\u2183' | '\\u3005' .. '\\u3007' | '\\u3021' .. '\\u302f' | '\\u3031' .. '\\u3035' | '\\u3038' .. '\\u303c' | '\\u3041' .. '\\u3096' | '\\u3099' .. '\\u309a' | '\\u309d' .. '\\u309f' | '\\u30a1' .. '\\u30ff' | '\\u3105' .. '\\u312c' | '\\u3131' .. '\\u318e' | '\\u31a0' .. '\\u31b7' | '\\u31f0' .. '\\u31ff' | '\\u3400' .. '\\u4db5' | '\\u4e00' .. '\\u9fa5' | '\\ua000' .. '\\ua48c' | '\\uac00' .. '\\ud7a3' | '\\uf900' .. '\\ufa2d' | '\\ufa30' .. '\\ufa6a' | '\\ufb00' .. '\\ufb06' | '\\ufb13' .. '\\ufb17' | '\\ufb1d' .. !
 '\\ufb28' | '\\ufb2a' .. '\\ufb36' | '\\ufb38' .. '\\ufb3c' | '\\ufb3e
' | '\\ufb40' .. '\\ufb41' | '\\ufb43' .. '\\ufb44' | '\\ufb46' .. '\\ufbb1' | '\\ufbd3' .. '\\ufd3d' | '\\ufd50' .. '\\ufd8f' | '\\ufd92' .. '\\ufdc7' | '\\ufdf0' .. '\\ufdfc' | '\\ufe00' .. '\\ufe0f' | '\\ufe20' .. '\\ufe23' | '\\ufe33' .. '\\ufe34' | '\\ufe4d' .. '\\ufe4f' | '\\ufe69' | '\\ufe70' .. '\\ufe74' | '\\ufe76' .. '\\ufefc' | '\\ufeff' | '\\uff04' | '\\uff10' .. '\\uff19' | '\\uff21' .. '\\uff3a' | '\\uff3f' | '\\uff41' .. '\\uff5a' | '\\uff65' .. '\\uffbe' | '\\uffc2' .. '\\uffc7' | '\\uffca' .. '\\uffcf' | '\\uffd2' .. '\\uffd7' | '\\uffda' .. '\\uffdc' | '\\uffe0' .. '\\uffe1' | '\\uffe5' .. '\\uffe6' | '\\ufff9' .. '\\ufffb' )
+            // src/main/resources/org/drools/lang/dsl/DSLMap.g:
+            {
+            if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\u000E' && input.LA(1)<='\u001B')||input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u007F' && input.LA(1)<='\u009F')||(input.LA(1)>='\u00A2' && input.LA(1)<='\u00A5')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00AD'||input.LA(1)=='\u00B5'||input.LA(1)=='\u00BA'||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u0236')||(input.LA(1)>='\u0250' && input.LA(1)<='\u02C1')||(input.LA(1)>='\u02C6' && input.LA(1)<='\u02D1')||(input.LA(1)>='\u02E0' && input.LA(1)<='\u02E4')||input.LA(1)=='\u02EE'||(input.LA(1)>='\u0300' && input.LA(1)<='\u0357')||(input.LA(1)>='\u035D' && input.LA(1)<='\u036F')||input.LA(1)=='\u037A'||input.LA(1)=='\u0386'||(input.LA(1)>='\u0388' && input.LA(1)<='\u038A')||input.LA!
 (1)=='\u038C'||(input.LA(1)>='\u038E' && input.LA(1)<='\u03A1')||(input.LA(1)>='\u03A3' && input.LA(1)<='\u03CE')||(input.LA(1)>='\u03D0' && input.LA(1)<='\u03F5')||(input.LA(1)>='\u03F7' && input.LA(1)<='\u03FB')||(input.LA(1)>='\u0400' && input.LA(1)<='\u0481')||(input.LA(1)>='\u0483' && input.LA(1)<='\u0486')||(input.LA(1)>='\u048A' && input.LA(1)<='\u04CE')||(input.LA(1)>='\u04D0' && input.LA(1)<='\u04F5')||(input.LA(1)>='\u04F8' && input.LA(1)<='\u04F9')||(input.LA(1)>='\u0500' && input.LA(1)<='\u050F')||(input.LA(1)>='\u0531' && input.LA(1)<='\u0556')||input.LA(1)=='\u0559'||(input.LA(1)>='\u0561' && input.LA(1)<='\u0587')||(input.LA(1)>='\u0591' && input.LA(1)<='\u05A1')||(input.LA(1)>='\u05A3' && input.LA(1)<='\u05B9')||(input.LA(1)>='\u05BB' && input.LA(1)<='\u05BD')||input.LA(1)=='\u05BF'||(input.LA(1)>='\u05C1' && input.LA(1)<='\u05C2')||input.LA(1)=='\u05C4'||(input.LA(1)>='\u05D0' && input.LA(1)<='\u05EA')||(input.LA(1)>='\u05F0' && input.LA(1)<='\u05F2')||(inp!
 ut.LA(1)>='\u0600' && input.LA(1)<='\u0603')||(input.LA(1)>='\u0610' &
& input.LA(1)<='\u0615')||(input.LA(1)>='\u0621' && input.LA(1)<='\u063A')||(input.LA(1)>='\u0640' && input.LA(1)<='\u0658')||(input.LA(1)>='\u0660' && input.LA(1)<='\u0669')||(input.LA(1)>='\u066E' && input.LA(1)<='\u06D3')||(input.LA(1)>='\u06D5' && input.LA(1)<='\u06DD')||(input.LA(1)>='\u06DF' && input.LA(1)<='\u06E8')||(input.LA(1)>='\u06EA' && input.LA(1)<='\u06FC')||input.LA(1)=='\u06FF'||(input.LA(1)>='\u070F' && input.LA(1)<='\u074A')||(input.LA(1)>='\u074D' && input.LA(1)<='\u074F')||(input.LA(1)>='\u0780' && input.LA(1)<='\u07B1')||(input.LA(1)>='\u0901' && input.LA(1)<='\u0939')||(input.LA(1)>='\u093C' && input.LA(1)<='\u094D')||(input.LA(1)>='\u0950' && input.LA(1)<='\u0954')||(input.LA(1)>='\u0958' && input.LA(1)<='\u0963')||(input.LA(1)>='\u0966' && input.LA(1)<='\u096F')||(input.LA(1)>='\u0981' && input.LA(1)<='\u0983')||(input.LA(1)>='\u0985' && input.LA(1)<='\u098C')||(input.LA(1)>='\u098F' && input.LA(1)<='\u0990')||(input.LA(1)>='\u0993' && input.LA(1)<='!
 \u09A8')||(input.LA(1)>='\u09AA' && input.LA(1)<='\u09B0')||input.LA(1)=='\u09B2'||(input.LA(1)>='\u09B6' && input.LA(1)<='\u09B9')||(input.LA(1)>='\u09BC' && input.LA(1)<='\u09C4')||(input.LA(1)>='\u09C7' && input.LA(1)<='\u09C8')||(input.LA(1)>='\u09CB' && input.LA(1)<='\u09CD')||input.LA(1)=='\u09D7'||(input.LA(1)>='\u09DC' && input.LA(1)<='\u09DD')||(input.LA(1)>='\u09DF' && input.LA(1)<='\u09E3')||(input.LA(1)>='\u09E6' && input.LA(1)<='\u09F3')||(input.LA(1)>='\u0A01' && input.LA(1)<='\u0A03')||(input.LA(1)>='\u0A05' && input.LA(1)<='\u0A0A')||(input.LA(1)>='\u0A0F' && input.LA(1)<='\u0A10')||(input.LA(1)>='\u0A13' && input.LA(1)<='\u0A28')||(input.LA(1)>='\u0A2A' && input.LA(1)<='\u0A30')||(input.LA(1)>='\u0A32' && input.LA(1)<='\u0A33')||(input.LA(1)>='\u0A35' && input.LA(1)<='\u0A36')||(input.LA(1)>='\u0A38' && input.LA(1)<='\u0A39')||input.LA(1)=='\u0A3C'||(input.LA(1)>='\u0A3E' && input.LA(1)<='\u0A42')||(input.LA(1)>='\u0A47' && input.LA(1)<='\u0A48')||(input.LA!
 (1)>='\u0A4B' && input.LA(1)<='\u0A4D')||(input.LA(1)>='\u0A59' && inp
ut.LA(1)<='\u0A5C')||input.LA(1)=='\u0A5E'||(input.LA(1)>='\u0A66' && input.LA(1)<='\u0A74')||(input.LA(1)>='\u0A81' && input.LA(1)<='\u0A83')||(input.LA(1)>='\u0A85' && input.LA(1)<='\u0A8D')||(input.LA(1)>='\u0A8F' && input.LA(1)<='\u0A91')||(input.LA(1)>='\u0A93' && input.LA(1)<='\u0AA8')||(input.LA(1)>='\u0AAA' && input.LA(1)<='\u0AB0')||(input.LA(1)>='\u0AB2' && input.LA(1)<='\u0AB3')||(input.LA(1)>='\u0AB5' && input.LA(1)<='\u0AB9')||(input.LA(1)>='\u0ABC' && input.LA(1)<='\u0AC5')||(input.LA(1)>='\u0AC7' && input.LA(1)<='\u0AC9')||(input.LA(1)>='\u0ACB' && input.LA(1)<='\u0ACD')||input.LA(1)=='\u0AD0'||(input.LA(1)>='\u0AE0' && input.LA(1)<='\u0AE3')||(input.LA(1)>='\u0AE6' && input.LA(1)<='\u0AEF')||input.LA(1)=='\u0AF1'||(input.LA(1)>='\u0B01' && input.LA(1)<='\u0B03')||(input.LA(1)>='\u0B05' && input.LA(1)<='\u0B0C')||(input.LA(1)>='\u0B0F' && input.LA(1)<='\u0B10')||(input.LA(1)>='\u0B13' && input.LA(1)<='\u0B28')||(input.LA(1)>='\u0B2A' && input.LA(1)<='\u0B30')|!
 |(input.LA(1)>='\u0B32' && input.LA(1)<='\u0B33')||(input.LA(1)>='\u0B35' && input.LA(1)<='\u0B39')||(input.LA(1)>='\u0B3C' && input.LA(1)<='\u0B43')||(input.LA(1)>='\u0B47' && input.LA(1)<='\u0B48')||(input.LA(1)>='\u0B4B' && input.LA(1)<='\u0B4D')||(input.LA(1)>='\u0B56' && input.LA(1)<='\u0B57')||(input.LA(1)>='\u0B5C' && input.LA(1)<='\u0B5D')||(input.LA(1)>='\u0B5F' && input.LA(1)<='\u0B61')||(input.LA(1)>='\u0B66' && input.LA(1)<='\u0B6F')||input.LA(1)=='\u0B71'||(input.LA(1)>='\u0B82' && input.LA(1)<='\u0B83')||(input.LA(1)>='\u0B85' && input.LA(1)<='\u0B8A')||(input.LA(1)>='\u0B8E' && input.LA(1)<='\u0B90')||(input.LA(1)>='\u0B92' && input.LA(1)<='\u0B95')||(input.LA(1)>='\u0B99' && input.LA(1)<='\u0B9A')||input.LA(1)=='\u0B9C'||(input.LA(1)>='\u0B9E' && input.LA(1)<='\u0B9F')||(input.LA(1)>='\u0BA3' && input.LA(1)<='\u0BA4')||(input.LA(1)>='\u0BA8' && input.LA(1)<='\u0BAA')||(input.LA(1)>='\u0BAE' && input.LA(1)<='\u0BB5')||(input.LA(1)>='\u0BB7' && input.LA(1)<='\!
 u0BB9')||(input.LA(1)>='\u0BBE' && input.LA(1)<='\u0BC2')||(input.LA(1
)>='\u0BC6' && input.LA(1)<='\u0BC8')||(input.LA(1)>='\u0BCA' && input.LA(1)<='\u0BCD')||input.LA(1)=='\u0BD7'||(input.LA(1)>='\u0BE7' && input.LA(1)<='\u0BEF')||input.LA(1)=='\u0BF9'||(input.LA(1)>='\u0C01' && input.LA(1)<='\u0C03')||(input.LA(1)>='\u0C05' && input.LA(1)<='\u0C0C')||(input.LA(1)>='\u0C0E' && input.LA(1)<='\u0C10')||(input.LA(1)>='\u0C12' && input.LA(1)<='\u0C28')||(input.LA(1)>='\u0C2A' && input.LA(1)<='\u0C33')||(input.LA(1)>='\u0C35' && input.LA(1)<='\u0C39')||(input.LA(1)>='\u0C3E' && input.LA(1)<='\u0C44')||(input.LA(1)>='\u0C46' && input.LA(1)<='\u0C48')||(input.LA(1)>='\u0C4A' && input.LA(1)<='\u0C4D')||(input.LA(1)>='\u0C55' && input.LA(1)<='\u0C56')||(input.LA(1)>='\u0C60' && input.LA(1)<='\u0C61')||(input.LA(1)>='\u0C66' && input.LA(1)<='\u0C6F')||(input.LA(1)>='\u0C82' && input.LA(1)<='\u0C83')||(input.LA(1)>='\u0C85' && input.LA(1)<='\u0C8C')||(input.LA(1)>='\u0C8E' && input.LA(1)<='\u0C90')||(input.LA(1)>='\u0C92' && input.LA(1)<='\u0CA8')||(inp!
 ut.LA(1)>='\u0CAA' && input.LA(1)<='\u0CB3')||(input.LA(1)>='\u0CB5' && input.LA(1)<='\u0CB9')||(input.LA(1)>='\u0CBC' && input.LA(1)<='\u0CC4')||(input.LA(1)>='\u0CC6' && input.LA(1)<='\u0CC8')||(input.LA(1)>='\u0CCA' && input.LA(1)<='\u0CCD')||(input.LA(1)>='\u0CD5' && input.LA(1)<='\u0CD6')||input.LA(1)=='\u0CDE'||(input.LA(1)>='\u0CE0' && input.LA(1)<='\u0CE1')||(input.LA(1)>='\u0CE6' && input.LA(1)<='\u0CEF')||(input.LA(1)>='\u0D02' && input.LA(1)<='\u0D03')||(input.LA(1)>='\u0D05' && input.LA(1)<='\u0D0C')||(input.LA(1)>='\u0D0E' && input.LA(1)<='\u0D10')||(input.LA(1)>='\u0D12' && input.LA(1)<='\u0D28')||(input.LA(1)>='\u0D2A' && input.LA(1)<='\u0D39')||(input.LA(1)>='\u0D3E' && input.LA(1)<='\u0D43')||(input.LA(1)>='\u0D46' && input.LA(1)<='\u0D48')||(input.LA(1)>='\u0D4A' && input.LA(1)<='\u0D4D')||input.LA(1)=='\u0D57'||(input.LA(1)>='\u0D60' && input.LA(1)<='\u0D61')||(input.LA(1)>='\u0D66' && input.LA(1)<='\u0D6F')||(input.LA(1)>='\u0D82' && input.LA(1)<='\u0D83!
 ')||(input.LA(1)>='\u0D85' && input.LA(1)<='\u0D96')||(input.LA(1)>='\
u0D9A' && input.LA(1)<='\u0DB1')||(input.LA(1)>='\u0DB3' && input.LA(1)<='\u0DBB')||input.LA(1)=='\u0DBD'||(input.LA(1)>='\u0DC0' && input.LA(1)<='\u0DC6')||input.LA(1)=='\u0DCA'||(input.LA(1)>='\u0DCF' && input.LA(1)<='\u0DD4')||input.LA(1)=='\u0DD6'||(input.LA(1)>='\u0DD8' && input.LA(1)<='\u0DDF')||(input.LA(1)>='\u0DF2' && input.LA(1)<='\u0DF3')||(input.LA(1)>='\u0E01' && input.LA(1)<='\u0E3A')||(input.LA(1)>='\u0E3F' && input.LA(1)<='\u0E4E')||(input.LA(1)>='\u0E50' && input.LA(1)<='\u0E59')||(input.LA(1)>='\u0E81' && input.LA(1)<='\u0E82')||input.LA(1)=='\u0E84'||(input.LA(1)>='\u0E87' && input.LA(1)<='\u0E88')||input.LA(1)=='\u0E8A'||input.LA(1)=='\u0E8D'||(input.LA(1)>='\u0E94' && input.LA(1)<='\u0E97')||(input.LA(1)>='\u0E99' && input.LA(1)<='\u0E9F')||(input.LA(1)>='\u0EA1' && input.LA(1)<='\u0EA3')||input.LA(1)=='\u0EA5'||input.LA(1)=='\u0EA7'||(input.LA(1)>='\u0EAA' && input.LA(1)<='\u0EAB')||(input.LA(1)>='\u0EAD' && input.LA(1)<='\u0EB9')||(input.LA(1)>='\u0EBB!
 ' && input.LA(1)<='\u0EBD')||(input.LA(1)>='\u0EC0' && input.LA(1)<='\u0EC4')||input.LA(1)=='\u0EC6'||(input.LA(1)>='\u0EC8' && input.LA(1)<='\u0ECD')||(input.LA(1)>='\u0ED0' && input.LA(1)<='\u0ED9')||(input.LA(1)>='\u0EDC' && input.LA(1)<='\u0EDD')||input.LA(1)=='\u0F00'||(input.LA(1)>='\u0F18' && input.LA(1)<='\u0F19')||(input.LA(1)>='\u0F20' && input.LA(1)<='\u0F29')||input.LA(1)=='\u0F35'||input.LA(1)=='\u0F37'||input.LA(1)=='\u0F39'||(input.LA(1)>='\u0F3E' && input.LA(1)<='\u0F47')||(input.LA(1)>='\u0F49' && input.LA(1)<='\u0F6A')||(input.LA(1)>='\u0F71' && input.LA(1)<='\u0F84')||(input.LA(1)>='\u0F86' && input.LA(1)<='\u0F8B')||(input.LA(1)>='\u0F90' && input.LA(1)<='\u0F97')||(input.LA(1)>='\u0F99' && input.LA(1)<='\u0FBC')||input.LA(1)=='\u0FC6'||(input.LA(1)>='\u1000' && input.LA(1)<='\u1021')||(input.LA(1)>='\u1023' && input.LA(1)<='\u1027')||(input.LA(1)>='\u1029' && input.LA(1)<='\u102A')||(input.LA(1)>='\u102C' && input.LA(1)<='\u1032')||(input.LA(1)>='\u1036!
 ' && input.LA(1)<='\u1039')||(input.LA(1)>='\u1040' && input.LA(1)<='\
u1049')||(input.LA(1)>='\u1050' && input.LA(1)<='\u1059')||(input.LA(1)>='\u10A0' && input.LA(1)<='\u10C5')||(input.LA(1)>='\u10D0' && input.LA(1)<='\u10F8')||(input.LA(1)>='\u1100' && input.LA(1)<='\u1159')||(input.LA(1)>='\u115F' && input.LA(1)<='\u11A2')||(input.LA(1)>='\u11A8' && input.LA(1)<='\u11F9')||(input.LA(1)>='\u1200' && input.LA(1)<='\u1206')||(input.LA(1)>='\u1208' && input.LA(1)<='\u1246')||input.LA(1)=='\u1248'||(input.LA(1)>='\u124A' && input.LA(1)<='\u124D')||(input.LA(1)>='\u1250' && input.LA(1)<='\u1256')||input.LA(1)=='\u1258'||(input.LA(1)>='\u125A' && input.LA(1)<='\u125D')||(input.LA(1)>='\u1260' && input.LA(1)<='\u1286')||input.LA(1)=='\u1288'||(input.LA(1)>='\u128A' && input.LA(1)<='\u128D')||(input.LA(1)>='\u1290' && input.LA(1)<='\u12AE')||input.LA(1)=='\u12B0'||(input.LA(1)>='\u12B2' && input.LA(1)<='\u12B5')||(input.LA(1)>='\u12B8' && input.LA(1)<='\u12BE')||input.LA(1)=='\u12C0'||(input.LA(1)>='\u12C2' && input.LA(1)<='\u12C5')||(input.LA(1)>='!
 \u12C8' && input.LA(1)<='\u12CE')||(input.LA(1)>='\u12D0' && input.LA(1)<='\u12D6')||(input.LA(1)>='\u12D8' && input.LA(1)<='\u12EE')||(input.LA(1)>='\u12F0' && input.LA(1)<='\u130E')||input.LA(1)=='\u1310'||(input.LA(1)>='\u1312' && input.LA(1)<='\u1315')||(input.LA(1)>='\u1318' && input.LA(1)<='\u131E')||(input.LA(1)>='\u1320' && input.LA(1)<='\u1346')||(input.LA(1)>='\u1348' && input.LA(1)<='\u135A')||(input.LA(1)>='\u1369' && input.LA(1)<='\u1371')||(input.LA(1)>='\u13A0' && input.LA(1)<='\u13F4')||(input.LA(1)>='\u1401' && input.LA(1)<='\u166C')||(input.LA(1)>='\u166F' && input.LA(1)<='\u1676')||(input.LA(1)>='\u1681' && input.LA(1)<='\u169A')||(input.LA(1)>='\u16A0' && input.LA(1)<='\u16EA')||(input.LA(1)>='\u16EE' && input.LA(1)<='\u16F0')||(input.LA(1)>='\u1700' && input.LA(1)<='\u170C')||(input.LA(1)>='\u170E' && input.LA(1)<='\u1714')||(input.LA(1)>='\u1720' && input.LA(1)<='\u1734')||(input.LA(1)>='\u1740' && input.LA(1)<='\u1753')||(input.LA(1)>='\u1760' && inpu!
 t.LA(1)<='\u176C')||(input.LA(1)>='\u176E' && input.LA(1)<='\u1770')||
(input.LA(1)>='\u1772' && input.LA(1)<='\u1773')||(input.LA(1)>='\u1780' && input.LA(1)<='\u17D3')||input.LA(1)=='\u17D7'||(input.LA(1)>='\u17DB' && input.LA(1)<='\u17DD')||(input.LA(1)>='\u17E0' && input.LA(1)<='\u17E9')||(input.LA(1)>='\u180B' && input.LA(1)<='\u180D')||(input.LA(1)>='\u1810' && input.LA(1)<='\u1819')||(input.LA(1)>='\u1820' && input.LA(1)<='\u1877')||(input.LA(1)>='\u1880' && input.LA(1)<='\u18A9')||(input.LA(1)>='\u1900' && input.LA(1)<='\u191C')||(input.LA(1)>='\u1920' && input.LA(1)<='\u192B')||(input.LA(1)>='\u1930' && input.LA(1)<='\u193B')||(input.LA(1)>='\u1946' && input.LA(1)<='\u196D')||(input.LA(1)>='\u1970' && input.LA(1)<='\u1974')||(input.LA(1)>='\u1D00' && input.LA(1)<='\u1D6B')||(input.LA(1)>='\u1E00' && input.LA(1)<='\u1E9B')||(input.LA(1)>='\u1EA0' && input.LA(1)<='\u1EF9')||(input.LA(1)>='\u1F00' && input.LA(1)<='\u1F15')||(input.LA(1)>='\u1F18' && input.LA(1)<='\u1F1D')||(input.LA(1)>='\u1F20' && input.LA(1)<='\u1F45')||(input.LA(1)>='\!
 u1F48' && input.LA(1)<='\u1F4D')||(input.LA(1)>='\u1F50' && input.LA(1)<='\u1F57')||input.LA(1)=='\u1F59'||input.LA(1)=='\u1F5B'||input.LA(1)=='\u1F5D'||(input.LA(1)>='\u1F5F' && input.LA(1)<='\u1F7D')||(input.LA(1)>='\u1F80' && input.LA(1)<='\u1FB4')||(input.LA(1)>='\u1FB6' && input.LA(1)<='\u1FBC')||input.LA(1)=='\u1FBE'||(input.LA(1)>='\u1FC2' && input.LA(1)<='\u1FC4')||(input.LA(1)>='\u1FC6' && input.LA(1)<='\u1FCC')||(input.LA(1)>='\u1FD0' && input.LA(1)<='\u1FD3')||(input.LA(1)>='\u1FD6' && input.LA(1)<='\u1FDB')||(input.LA(1)>='\u1FE0' && input.LA(1)<='\u1FEC')||(input.LA(1)>='\u1FF2' && input.LA(1)<='\u1FF4')||(input.LA(1)>='\u1FF6' && input.LA(1)<='\u1FFC')||(input.LA(1)>='\u200C' && input.LA(1)<='\u200F')||(input.LA(1)>='\u202A' && input.LA(1)<='\u202E')||(input.LA(1)>='\u203F' && input.LA(1)<='\u2040')||input.LA(1)=='\u2054'||(input.LA(1)>='\u2060' && input.LA(1)<='\u2063')||(input.LA(1)>='\u206A' && input.LA(1)<='\u206F')||input.LA(1)=='\u2071'||input.LA(1)=='\u!
 207F'||(input.LA(1)>='\u20A0' && input.LA(1)<='\u20B1')||(input.LA(1)>
='\u20D0' && input.LA(1)<='\u20DC')||input.LA(1)=='\u20E1'||(input.LA(1)>='\u20E5' && input.LA(1)<='\u20EA')||input.LA(1)=='\u2102'||input.LA(1)=='\u2107'||(input.LA(1)>='\u210A' && input.LA(1)<='\u2113')||input.LA(1)=='\u2115'||(input.LA(1)>='\u2119' && input.LA(1)<='\u211D')||input.LA(1)=='\u2124'||input.LA(1)=='\u2126'||input.LA(1)=='\u2128'||(input.LA(1)>='\u212A' && input.LA(1)<='\u212D')||(input.LA(1)>='\u212F' && input.LA(1)<='\u2131')||(input.LA(1)>='\u2133' && input.LA(1)<='\u2139')||(input.LA(1)>='\u213D' && input.LA(1)<='\u213F')||(input.LA(1)>='\u2145' && input.LA(1)<='\u2149')||(input.LA(1)>='\u2160' && input.LA(1)<='\u2183')||(input.LA(1)>='\u3005' && input.LA(1)<='\u3007')||(input.LA(1)>='\u3021' && input.LA(1)<='\u302F')||(input.LA(1)>='\u3031' && input.LA(1)<='\u3035')||(input.LA(1)>='\u3038' && input.LA(1)<='\u303C')||(input.LA(1)>='\u3041' && input.LA(1)<='\u3096')||(input.LA(1)>='\u3099' && input.LA(1)<='\u309A')||(input.LA(1)>='\u309D' && input.LA(1)<='\!
 u309F')||(input.LA(1)>='\u30A1' && input.LA(1)<='\u30FF')||(input.LA(1)>='\u3105' && input.LA(1)<='\u312C')||(input.LA(1)>='\u3131' && input.LA(1)<='\u318E')||(input.LA(1)>='\u31A0' && input.LA(1)<='\u31B7')||(input.LA(1)>='\u31F0' && input.LA(1)<='\u31FF')||(input.LA(1)>='\u3400' && input.LA(1)<='\u4DB5')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FA5')||(input.LA(1)>='\uA000' && input.LA(1)<='\uA48C')||(input.LA(1)>='\uAC00' && input.LA(1)<='\uD7A3')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFA2D')||(input.LA(1)>='\uFA30' && input.LA(1)<='\uFA6A')||(input.LA(1)>='\uFB00' && input.LA(1)<='\uFB06')||(input.LA(1)>='\uFB13' && input.LA(1)<='\uFB17')||(input.LA(1)>='\uFB1D' && input.LA(1)<='\uFB28')||(input.LA(1)>='\uFB2A' && input.LA(1)<='\uFB36')||(input.LA(1)>='\uFB38' && input.LA(1)<='\uFB3C')||input.LA(1)=='\uFB3E'||(input.LA(1)>='\uFB40' && input.LA(1)<='\uFB41')||(input.LA(1)>='\uFB43' && input.LA(1)<='\uFB44')||(input.LA(1)>='\uFB46' && input.LA(1)<='\uFBB1')||(input!
 .LA(1)>='\uFBD3' && input.LA(1)<='\uFD3D')||(input.LA(1)>='\uFD50' && 
input.LA(1)<='\uFD8F')||(input.LA(1)>='\uFD92' && input.LA(1)<='\uFDC7')||(input.LA(1)>='\uFDF0' && input.LA(1)<='\uFDFC')||(input.LA(1)>='\uFE00' && input.LA(1)<='\uFE0F')||(input.LA(1)>='\uFE20' && input.LA(1)<='\uFE23')||(input.LA(1)>='\uFE33' && input.LA(1)<='\uFE34')||(input.LA(1)>='\uFE4D' && input.LA(1)<='\uFE4F')||input.LA(1)=='\uFE69'||(input.LA(1)>='\uFE70' && input.LA(1)<='\uFE74')||(input.LA(1)>='\uFE76' && input.LA(1)<='\uFEFC')||input.LA(1)=='\uFEFF'||input.LA(1)=='\uFF04'||(input.LA(1)>='\uFF10' && input.LA(1)<='\uFF19')||(input.LA(1)>='\uFF21' && input.LA(1)<='\uFF3A')||input.LA(1)=='\uFF3F'||(input.LA(1)>='\uFF41' && input.LA(1)<='\uFF5A')||(input.LA(1)>='\uFF65' && input.LA(1)<='\uFFBE')||(input.LA(1)>='\uFFC2' && input.LA(1)<='\uFFC7')||(input.LA(1)>='\uFFCA' && input.LA(1)<='\uFFCF')||(input.LA(1)>='\uFFD2' && input.LA(1)<='\uFFD7')||(input.LA(1)>='\uFFDA' && input.LA(1)<='\uFFDC')||(input.LA(1)>='\uFFE0' && input.LA(1)<='\uFFE1')||(input.LA(1)>='\uFFE5' !
 && input.LA(1)<='\uFFE6')||(input.LA(1)>='\uFFF9' && input.LA(1)<='\uFFFB') ) {
+                input.consume();
+            state.failed=false;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                MismatchedSetException mse = new MismatchedSetException(null,input);
+                recover(mse);
+                throw mse;}
+
+
+            }
+
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "IdentifierPart"
+
     public void mTokens() throws RecognitionException {
         // src/main/resources/org/drools/lang/dsl/DSLMap.g:1:8: ( WS | EOL | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | EQUALS | DOT | POUND | COLON | COMMA | LINE_COMMENT | LITERAL )
         int alt5=13;
@@ -695,85 +708,110 @@
     }
 
 
-    protected DFA4 dfa4 = new DFA4(this);
     protected DFA5 dfa5 = new DFA5(this);
-    static final String DFA4_eotS =
-        "\1\1\11\uffff";
-    static final String DFA4_eofS =
-        "\12\uffff";
-    static final String DFA4_minS =
-        "\1\41\11\uffff";
-    static final String DFA4_maxS =
-        "\1\u00ff\11\uffff";
-    static final String DFA4_acceptS =
-        "\1\uffff\1\11\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10";
-    static final String DFA4_specialS =
-        "\12\uffff}>";
-    static final String[] DFA4_transitionS = {
-            "\2\7\1\uffff\12\7\1\11\1\7\12\5\1\uffff\2\7\1\uffff\3\7\32"+
-            "\3\1\uffff\1\10\1\uffff\1\7\1\4\1\uffff\32\2\1\uffff\1\7\103"+
-            "\uffff\100\6",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA4_eot = DFA.unpackEncodedString(DFA4_eotS);
-    static final short[] DFA4_eof = DFA.unpackEncodedString(DFA4_eofS);
-    static final char[] DFA4_min = DFA.unpackEncodedStringToUnsignedChars(DFA4_minS);
-    static final char[] DFA4_max = DFA.unpackEncodedStringToUnsignedChars(DFA4_maxS);
-    static final short[] DFA4_accept = DFA.unpackEncodedString(DFA4_acceptS);
-    static final short[] DFA4_special = DFA.unpackEncodedString(DFA4_specialS);
-    static final short[][] DFA4_transition;
-
-    static {
-        int numStates = DFA4_transitionS.length;
-        DFA4_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA4_transition[i] = DFA.unpackEncodedString(DFA4_transitionS[i]);
-        }
-    }
-
-    class DFA4 extends DFA {
-
-        public DFA4(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 4;
-            this.eot = DFA4_eot;
-            this.eof = DFA4_eof;
-            this.min = DFA4_min;
-            this.max = DFA4_max;
-            this.accept = DFA4_accept;
-            this.special = DFA4_special;
-            this.transition = DFA4_transition;
-        }
-        public String getDescription() {
-            return "()+ loopback of 335:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+";
-        }
-    }
     static final String DFA5_eotS =
         "\10\uffff\1\15\1\16\1\uffff\1\20\5\uffff";
     static final String DFA5_eofS =
         "\21\uffff";
     static final String DFA5_minS =
-        "\1\11\7\uffff\1\41\1\0\1\uffff\1\41\5\uffff";
+        "\1\0\7\uffff\2\0\1\uffff\1\0\5\uffff";
     static final String DFA5_maxS =
-        "\1\u00ff\7\uffff\1\u00ff\1\uffff\1\uffff\1\u00ff\5\uffff";
+        "\1\ufffb\7\uffff\1\ufffb\1\uffff\1\uffff\1\ufffb\5\uffff";
     static final String DFA5_acceptS =
         "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\2\uffff\1\12\1\uffff\1\15"+
         "\1\10\1\11\1\14\1\13";
     static final String DFA5_specialS =
         "\11\uffff\1\0\7\uffff}>";
     static final String[] DFA5_transitionS = {
-            "\1\1\1\2\1\uffff\1\1\1\2\22\uffff\1\1\2\14\1\11\10\14\1\13"+
-            "\1\14\1\10\13\14\1\12\2\14\1\7\35\14\1\3\1\14\1\4\2\14\1\uffff"+
-            "\32\14\1\5\1\14\1\6\102\uffff\100\14",
+            "\11\14\1\1\1\2\1\uffff\1\1\1\2\16\14\4\uffff\1\1\2\14\1\11"+
+            "\10\14\1\13\1\14\1\10\13\14\1\12\2\14\1\7\35\14\1\3\1\14\1\4"+
+            "\2\14\1\uffff\32\14\1\5\1\14\1\6\1\uffff\41\14\2\uffff\4\14"+
+            "\4\uffff\1\14\2\uffff\1\14\7\uffff\1\14\4\uffff\1\14\5\uffff"+
+            "\27\14\1\uffff\37\14\1\uffff\u013f\14\31\uffff\162\14\4\uffff"+
+            "\14\14\16\uffff\5\14\11\uffff\1\14\21\uffff\130\14\5\uffff\23"+
+            "\14\12\uffff\1\14\13\uffff\1\14\1\uffff\3\14\1\uffff\1\14\1"+
+            "\uffff\24\14\1\uffff\54\14\1\uffff\46\14\1\uffff\5\14\4\uffff"+
+            "\u0082\14\1\uffff\4\14\3\uffff\105\14\1\uffff\46\14\2\uffff"+
+            "\2\14\6\uffff\20\14\41\uffff\46\14\2\uffff\1\14\7\uffff\47\14"+
+            "\11\uffff\21\14\1\uffff\27\14\1\uffff\3\14\1\uffff\1\14\1\uffff"+
+            "\2\14\1\uffff\1\14\13\uffff\33\14\5\uffff\3\14\15\uffff\4\14"+
+            "\14\uffff\6\14\13\uffff\32\14\5\uffff\31\14\7\uffff\12\14\4"+
+            "\uffff\146\14\1\uffff\11\14\1\uffff\12\14\1\uffff\23\14\2\uffff"+
+            "\1\14\17\uffff\74\14\2\uffff\3\14\60\uffff\62\14\u014f\uffff"+
+            "\71\14\2\uffff\22\14\2\uffff\5\14\3\uffff\14\14\2\uffff\12\14"+
+            "\21\uffff\3\14\1\uffff\10\14\2\uffff\2\14\2\uffff\26\14\1\uffff"+
+            "\7\14\1\uffff\1\14\3\uffff\4\14\2\uffff\11\14\2\uffff\2\14\2"+
+            "\uffff\3\14\11\uffff\1\14\4\uffff\2\14\1\uffff\5\14\2\uffff"+
+            "\16\14\15\uffff\3\14\1\uffff\6\14\4\uffff\2\14\2\uffff\26\14"+
+            "\1\uffff\7\14\1\uffff\2\14\1\uffff\2\14\1\uffff\2\14\2\uffff"+
+            "\1\14\1\uffff\5\14\4\uffff\2\14\2\uffff\3\14\13\uffff\4\14\1"+
+            "\uffff\1\14\7\uffff\17\14\14\uffff\3\14\1\uffff\11\14\1\uffff"+
+            "\3\14\1\uffff\26\14\1\uffff\7\14\1\uffff\2\14\1\uffff\5\14\2"+
+            "\uffff\12\14\1\uffff\3\14\1\uffff\3\14\2\uffff\1\14\17\uffff"+
+            "\4\14\2\uffff\12\14\1\uffff\1\14\17\uffff\3\14\1\uffff\10\14"+
+            "\2\uffff\2\14\2\uffff\26\14\1\uffff\7\14\1\uffff\2\14\1\uffff"+
+            "\5\14\2\uffff\10\14\3\uffff\2\14\2\uffff\3\14\10\uffff\2\14"+
+            "\4\uffff\2\14\1\uffff\3\14\4\uffff\12\14\1\uffff\1\14\20\uffff"+
+            "\2\14\1\uffff\6\14\3\uffff\3\14\1\uffff\4\14\3\uffff\2\14\1"+
+            "\uffff\1\14\1\uffff\2\14\3\uffff\2\14\3\uffff\3\14\3\uffff\10"+
+            "\14\1\uffff\3\14\4\uffff\5\14\3\uffff\3\14\1\uffff\4\14\11\uffff"+
+            "\1\14\17\uffff\11\14\11\uffff\1\14\7\uffff\3\14\1\uffff\10\14"+
+            "\1\uffff\3\14\1\uffff\27\14\1\uffff\12\14\1\uffff\5\14\4\uffff"+
+            "\7\14\1\uffff\3\14\1\uffff\4\14\7\uffff\2\14\11\uffff\2\14\4"+
+            "\uffff\12\14\22\uffff\2\14\1\uffff\10\14\1\uffff\3\14\1\uffff"+
+            "\27\14\1\uffff\12\14\1\uffff\5\14\2\uffff\11\14\1\uffff\3\14"+
+            "\1\uffff\4\14\7\uffff\2\14\7\uffff\1\14\1\uffff\2\14\4\uffff"+
+            "\12\14\22\uffff\2\14\1\uffff\10\14\1\uffff\3\14\1\uffff\27\14"+
+            "\1\uffff\20\14\4\uffff\6\14\2\uffff\3\14\1\uffff\4\14\11\uffff"+
+            "\1\14\10\uffff\2\14\4\uffff\12\14\22\uffff\2\14\1\uffff\22\14"+
+            "\3\uffff\30\14\1\uffff\11\14\1\uffff\1\14\2\uffff\7\14\3\uffff"+
+            "\1\14\4\uffff\6\14\1\uffff\1\14\1\uffff\10\14\22\uffff\2\14"+
+            "\15\uffff\72\14\4\uffff\20\14\1\uffff\12\14\47\uffff\2\14\1"+
+            "\uffff\1\14\2\uffff\2\14\1\uffff\1\14\2\uffff\1\14\6\uffff\4"+
+            "\14\1\uffff\7\14\1\uffff\3\14\1\uffff\1\14\1\uffff\1\14\2\uffff"+
+            "\2\14\1\uffff\15\14\1\uffff\3\14\2\uffff\5\14\1\uffff\1\14\1"+
+            "\uffff\6\14\2\uffff\12\14\2\uffff\2\14\42\uffff\1\14\27\uffff"+
+            "\2\14\6\uffff\12\14\13\uffff\1\14\1\uffff\1\14\1\uffff\1\14"+
+            "\4\uffff\12\14\1\uffff\42\14\6\uffff\24\14\1\uffff\6\14\4\uffff"+
+            "\10\14\1\uffff\44\14\11\uffff\1\14\71\uffff\42\14\1\uffff\5"+
+            "\14\1\uffff\2\14\1\uffff\7\14\3\uffff\4\14\6\uffff\12\14\6\uffff"+
+            "\12\14\106\uffff\46\14\12\uffff\51\14\7\uffff\132\14\5\uffff"+
+            "\104\14\5\uffff\122\14\6\uffff\7\14\1\uffff\77\14\1\uffff\1"+
+            "\14\1\uffff\4\14\2\uffff\7\14\1\uffff\1\14\1\uffff\4\14\2\uffff"+
+            "\47\14\1\uffff\1\14\1\uffff\4\14\2\uffff\37\14\1\uffff\1\14"+
+            "\1\uffff\4\14\2\uffff\7\14\1\uffff\1\14\1\uffff\4\14\2\uffff"+
+            "\7\14\1\uffff\7\14\1\uffff\27\14\1\uffff\37\14\1\uffff\1\14"+
+            "\1\uffff\4\14\2\uffff\7\14\1\uffff\47\14\1\uffff\23\14\16\uffff"+
+            "\11\14\56\uffff\125\14\14\uffff\u026c\14\2\uffff\10\14\12\uffff"+
+            "\32\14\5\uffff\113\14\3\uffff\3\14\17\uffff\15\14\1\uffff\7"+
+            "\14\13\uffff\25\14\13\uffff\24\14\14\uffff\15\14\1\uffff\3\14"+
+            "\1\uffff\2\14\14\uffff\124\14\3\uffff\1\14\3\uffff\3\14\2\uffff"+
+            "\12\14\41\uffff\3\14\2\uffff\12\14\6\uffff\130\14\10\uffff\52"+
+            "\14\126\uffff\35\14\3\uffff\14\14\4\uffff\14\14\12\uffff\50"+
+            "\14\2\uffff\5\14\u038b\uffff\154\14\u0094\uffff\u009c\14\4\uffff"+
+            "\132\14\6\uffff\26\14\2\uffff\6\14\2\uffff\46\14\2\uffff\6\14"+
+            "\2\uffff\10\14\1\uffff\1\14\1\uffff\1\14\1\uffff\1\14\1\uffff"+
+            "\37\14\2\uffff\65\14\1\uffff\7\14\1\uffff\1\14\3\uffff\3\14"+
+            "\1\uffff\7\14\3\uffff\4\14\2\uffff\6\14\4\uffff\15\14\5\uffff"+
+            "\3\14\1\uffff\7\14\17\uffff\4\14\32\uffff\5\14\20\uffff\2\14"+
+            "\23\uffff\1\14\13\uffff\4\14\6\uffff\6\14\1\uffff\1\14\15\uffff"+
+            "\1\14\40\uffff\22\14\36\uffff\15\14\4\uffff\1\14\3\uffff\6\14"+
+            "\27\uffff\1\14\4\uffff\1\14\2\uffff\12\14\1\uffff\1\14\3\uffff"+
+            "\5\14\6\uffff\1\14\1\uffff\1\14\1\uffff\1\14\1\uffff\4\14\1"+
+            "\uffff\3\14\1\uffff\7\14\3\uffff\3\14\5\uffff\5\14\26\uffff"+
+            "\44\14\u0e81\uffff\3\14\31\uffff\17\14\1\uffff\5\14\2\uffff"+
+            "\5\14\4\uffff\126\14\2\uffff\2\14\2\uffff\3\14\1\uffff\137\14"+
+            "\5\uffff\50\14\4\uffff\136\14\21\uffff\30\14\70\uffff\20\14"+
+            "\u0200\uffff\u19b6\14\112\uffff\u51a6\14\132\uffff\u048d\14"+
+            "\u0773\uffff\u2ba4\14\u215c\uffff\u012e\14\2\uffff\73\14\u0095"+
+            "\uffff\7\14\14\uffff\5\14\5\uffff\14\14\1\uffff\15\14\1\uffff"+
+            "\5\14\1\uffff\1\14\1\uffff\2\14\1\uffff\2\14\1\uffff\154\14"+
+            "\41\uffff\u016b\14\22\uffff\100\14\2\uffff\66\14\50\uffff\15"+
+            "\14\3\uffff\20\14\20\uffff\4\14\17\uffff\2\14\30\uffff\3\14"+
+            "\31\uffff\1\14\6\uffff\5\14\1\uffff\u0087\14\2\uffff\1\14\4"+
+            "\uffff\1\14\13\uffff\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff"+
+            "\32\14\12\uffff\132\14\3\uffff\6\14\2\uffff\6\14\2\uffff\6\14"+
+            "\2\uffff\3\14\3\uffff\2\14\3\uffff\2\14\22\uffff\3\14",
             "",
             "",
             "",
@@ -781,12 +819,186 @@
             "",
             "",
             "",
-            "\2\14\1\uffff\26\14\1\uffff\2\14\1\uffff\35\14\1\uffff\1\14"+
-            "\1\uffff\2\14\1\uffff\32\14\1\uffff\1\14\103\uffff\100\14",
+            "\11\14\5\uffff\16\14\5\uffff\2\14\1\uffff\26\14\1\uffff\2"+
+            "\14\1\uffff\35\14\1\uffff\1\14\1\uffff\2\14\1\uffff\32\14\1"+
+            "\uffff\1\14\2\uffff\41\14\2\uffff\4\14\4\uffff\1\14\2\uffff"+
+            "\1\14\7\uffff\1\14\4\uffff\1\14\5\uffff\27\14\1\uffff\37\14"+
+            "\1\uffff\u013f\14\31\uffff\162\14\4\uffff\14\14\16\uffff\5\14"+
+            "\11\uffff\1\14\21\uffff\130\14\5\uffff\23\14\12\uffff\1\14\13"+
+            "\uffff\1\14\1\uffff\3\14\1\uffff\1\14\1\uffff\24\14\1\uffff"+
+            "\54\14\1\uffff\46\14\1\uffff\5\14\4\uffff\u0082\14\1\uffff\4"+
+            "\14\3\uffff\105\14\1\uffff\46\14\2\uffff\2\14\6\uffff\20\14"+
+            "\41\uffff\46\14\2\uffff\1\14\7\uffff\47\14\11\uffff\21\14\1"+
+            "\uffff\27\14\1\uffff\3\14\1\uffff\1\14\1\uffff\2\14\1\uffff"+
+            "\1\14\13\uffff\33\14\5\uffff\3\14\15\uffff\4\14\14\uffff\6\14"+
+            "\13\uffff\32\14\5\uffff\31\14\7\uffff\12\14\4\uffff\146\14\1"+
+            "\uffff\11\14\1\uffff\12\14\1\uffff\23\14\2\uffff\1\14\17\uffff"+
+            "\74\14\2\uffff\3\14\60\uffff\62\14\u014f\uffff\71\14\2\uffff"+
+            "\22\14\2\uffff\5\14\3\uffff\14\14\2\uffff\12\14\21\uffff\3\14"+
+            "\1\uffff\10\14\2\uffff\2\14\2\uffff\26\14\1\uffff\7\14\1\uffff"+
+            "\1\14\3\uffff\4\14\2\uffff\11\14\2\uffff\2\14\2\uffff\3\14\11"+
+            "\uffff\1\14\4\uffff\2\14\1\uffff\5\14\2\uffff\16\14\15\uffff"+
+            "\3\14\1\uffff\6\14\4\uffff\2\14\2\uffff\26\14\1\uffff\7\14\1"+
+            "\uffff\2\14\1\uffff\2\14\1\uffff\2\14\2\uffff\1\14\1\uffff\5"+
+            "\14\4\uffff\2\14\2\uffff\3\14\13\uffff\4\14\1\uffff\1\14\7\uffff"+
+            "\17\14\14\uffff\3\14\1\uffff\11\14\1\uffff\3\14\1\uffff\26\14"+
+            "\1\uffff\7\14\1\uffff\2\14\1\uffff\5\14\2\uffff\12\14\1\uffff"+
+            "\3\14\1\uffff\3\14\2\uffff\1\14\17\uffff\4\14\2\uffff\12\14"+
+            "\1\uffff\1\14\17\uffff\3\14\1\uffff\10\14\2\uffff\2\14\2\uffff"+
+            "\26\14\1\uffff\7\14\1\uffff\2\14\1\uffff\5\14\2\uffff\10\14"+
+            "\3\uffff\2\14\2\uffff\3\14\10\uffff\2\14\4\uffff\2\14\1\uffff"+
+            "\3\14\4\uffff\12\14\1\uffff\1\14\20\uffff\2\14\1\uffff\6\14"+
+            "\3\uffff\3\14\1\uffff\4\14\3\uffff\2\14\1\uffff\1\14\1\uffff"+
+            "\2\14\3\uffff\2\14\3\uffff\3\14\3\uffff\10\14\1\uffff\3\14\4"+
+            "\uffff\5\14\3\uffff\3\14\1\uffff\4\14\11\uffff\1\14\17\uffff"+
+            "\11\14\11\uffff\1\14\7\uffff\3\14\1\uffff\10\14\1\uffff\3\14"+
+            "\1\uffff\27\14\1\uffff\12\14\1\uffff\5\14\4\uffff\7\14\1\uffff"+
+            "\3\14\1\uffff\4\14\7\uffff\2\14\11\uffff\2\14\4\uffff\12\14"+
+            "\22\uffff\2\14\1\uffff\10\14\1\uffff\3\14\1\uffff\27\14\1\uffff"+
+            "\12\14\1\uffff\5\14\2\uffff\11\14\1\uffff\3\14\1\uffff\4\14"+
+            "\7\uffff\2\14\7\uffff\1\14\1\uffff\2\14\4\uffff\12\14\22\uffff"+
+            "\2\14\1\uffff\10\14\1\uffff\3\14\1\uffff\27\14\1\uffff\20\14"+
+            "\4\uffff\6\14\2\uffff\3\14\1\uffff\4\14\11\uffff\1\14\10\uffff"+
+            "\2\14\4\uffff\12\14\22\uffff\2\14\1\uffff\22\14\3\uffff\30\14"+
+            "\1\uffff\11\14\1\uffff\1\14\2\uffff\7\14\3\uffff\1\14\4\uffff"+
+            "\6\14\1\uffff\1\14\1\uffff\10\14\22\uffff\2\14\15\uffff\72\14"+
+            "\4\uffff\20\14\1\uffff\12\14\47\uffff\2\14\1\uffff\1\14\2\uffff"+
+            "\2\14\1\uffff\1\14\2\uffff\1\14\6\uffff\4\14\1\uffff\7\14\1"+
+            "\uffff\3\14\1\uffff\1\14\1\uffff\1\14\2\uffff\2\14\1\uffff\15"+
+            "\14\1\uffff\3\14\2\uffff\5\14\1\uffff\1\14\1\uffff\6\14\2\uffff"+
+            "\12\14\2\uffff\2\14\42\uffff\1\14\27\uffff\2\14\6\uffff\12\14"+
+            "\13\uffff\1\14\1\uffff\1\14\1\uffff\1\14\4\uffff\12\14\1\uffff"+
+            "\42\14\6\uffff\24\14\1\uffff\6\14\4\uffff\10\14\1\uffff\44\14"+
+            "\11\uffff\1\14\71\uffff\42\14\1\uffff\5\14\1\uffff\2\14\1\uffff"+
+            "\7\14\3\uffff\4\14\6\uffff\12\14\6\uffff\12\14\106\uffff\46"+
+            "\14\12\uffff\51\14\7\uffff\132\14\5\uffff\104\14\5\uffff\122"+
+            "\14\6\uffff\7\14\1\uffff\77\14\1\uffff\1\14\1\uffff\4\14\2\uffff"+
+            "\7\14\1\uffff\1\14\1\uffff\4\14\2\uffff\47\14\1\uffff\1\14\1"+
+            "\uffff\4\14\2\uffff\37\14\1\uffff\1\14\1\uffff\4\14\2\uffff"+
+            "\7\14\1\uffff\1\14\1\uffff\4\14\2\uffff\7\14\1\uffff\7\14\1"+
+            "\uffff\27\14\1\uffff\37\14\1\uffff\1\14\1\uffff\4\14\2\uffff"+
+            "\7\14\1\uffff\47\14\1\uffff\23\14\16\uffff\11\14\56\uffff\125"+
+            "\14\14\uffff\u026c\14\2\uffff\10\14\12\uffff\32\14\5\uffff\113"+
+            "\14\3\uffff\3\14\17\uffff\15\14\1\uffff\7\14\13\uffff\25\14"+
+            "\13\uffff\24\14\14\uffff\15\14\1\uffff\3\14\1\uffff\2\14\14"+
+            "\uffff\124\14\3\uffff\1\14\3\uffff\3\14\2\uffff\12\14\41\uffff"+
+            "\3\14\2\uffff\12\14\6\uffff\130\14\10\uffff\52\14\126\uffff"+
+            "\35\14\3\uffff\14\14\4\uffff\14\14\12\uffff\50\14\2\uffff\5"+
+            "\14\u038b\uffff\154\14\u0094\uffff\u009c\14\4\uffff\132\14\6"+
+            "\uffff\26\14\2\uffff\6\14\2\uffff\46\14\2\uffff\6\14\2\uffff"+
+            "\10\14\1\uffff\1\14\1\uffff\1\14\1\uffff\1\14\1\uffff\37\14"+
+            "\2\uffff\65\14\1\uffff\7\14\1\uffff\1\14\3\uffff\3\14\1\uffff"+
+            "\7\14\3\uffff\4\14\2\uffff\6\14\4\uffff\15\14\5\uffff\3\14\1"+
+            "\uffff\7\14\17\uffff\4\14\32\uffff\5\14\20\uffff\2\14\23\uffff"+
+            "\1\14\13\uffff\4\14\6\uffff\6\14\1\uffff\1\14\15\uffff\1\14"+
+            "\40\uffff\22\14\36\uffff\15\14\4\uffff\1\14\3\uffff\6\14\27"+
+            "\uffff\1\14\4\uffff\1\14\2\uffff\12\14\1\uffff\1\14\3\uffff"+
+            "\5\14\6\uffff\1\14\1\uffff\1\14\1\uffff\1\14\1\uffff\4\14\1"+
+            "\uffff\3\14\1\uffff\7\14\3\uffff\3\14\5\uffff\5\14\26\uffff"+
+            "\44\14\u0e81\uffff\3\14\31\uffff\17\14\1\uffff\5\14\2\uffff"+
+            "\5\14\4\uffff\126\14\2\uffff\2\14\2\uffff\3\14\1\uffff\137\14"+
+            "\5\uffff\50\14\4\uffff\136\14\21\uffff\30\14\70\uffff\20\14"+
+            "\u0200\uffff\u19b6\14\112\uffff\u51a6\14\132\uffff\u048d\14"+
+            "\u0773\uffff\u2ba4\14\u215c\uffff\u012e\14\2\uffff\73\14\u0095"+
+            "\uffff\7\14\14\uffff\5\14\5\uffff\14\14\1\uffff\15\14\1\uffff"+
+            "\5\14\1\uffff\1\14\1\uffff\2\14\1\uffff\2\14\1\uffff\154\14"+
+            "\41\uffff\u016b\14\22\uffff\100\14\2\uffff\66\14\50\uffff\15"+
+            "\14\3\uffff\20\14\20\uffff\4\14\17\uffff\2\14\30\uffff\3\14"+
+            "\31\uffff\1\14\6\uffff\5\14\1\uffff\u0087\14\2\uffff\1\14\4"+
+            "\uffff\1\14\13\uffff\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff"+
+            "\32\14\12\uffff\132\14\3\uffff\6\14\2\uffff\6\14\2\uffff\6\14"+
+            "\2\uffff\3\14\3\uffff\2\14\3\uffff\2\14\22\uffff\3\14",
             "\0\17",
             "",
-            "\2\14\1\uffff\26\14\1\uffff\2\14\1\uffff\35\14\1\uffff\1\14"+
-            "\1\uffff\2\14\1\uffff\32\14\1\uffff\1\14\103\uffff\100\14",
+            "\11\14\5\uffff\16\14\5\uffff\2\14\1\uffff\26\14\1\uffff\2"+
+            "\14\1\uffff\35\14\1\uffff\1\14\1\uffff\2\14\1\uffff\32\14\1"+
+            "\uffff\1\14\2\uffff\41\14\2\uffff\4\14\4\uffff\1\14\2\uffff"+
+            "\1\14\7\uffff\1\14\4\uffff\1\14\5\uffff\27\14\1\uffff\37\14"+
+            "\1\uffff\u013f\14\31\uffff\162\14\4\uffff\14\14\16\uffff\5\14"+
+            "\11\uffff\1\14\21\uffff\130\14\5\uffff\23\14\12\uffff\1\14\13"+
+            "\uffff\1\14\1\uffff\3\14\1\uffff\1\14\1\uffff\24\14\1\uffff"+
+            "\54\14\1\uffff\46\14\1\uffff\5\14\4\uffff\u0082\14\1\uffff\4"+
+            "\14\3\uffff\105\14\1\uffff\46\14\2\uffff\2\14\6\uffff\20\14"+
+            "\41\uffff\46\14\2\uffff\1\14\7\uffff\47\14\11\uffff\21\14\1"+
+            "\uffff\27\14\1\uffff\3\14\1\uffff\1\14\1\uffff\2\14\1\uffff"+
+            "\1\14\13\uffff\33\14\5\uffff\3\14\15\uffff\4\14\14\uffff\6\14"+
+            "\13\uffff\32\14\5\uffff\31\14\7\uffff\12\14\4\uffff\146\14\1"+
+            "\uffff\11\14\1\uffff\12\14\1\uffff\23\14\2\uffff\1\14\17\uffff"+
+            "\74\14\2\uffff\3\14\60\uffff\62\14\u014f\uffff\71\14\2\uffff"+
+            "\22\14\2\uffff\5\14\3\uffff\14\14\2\uffff\12\14\21\uffff\3\14"+
+            "\1\uffff\10\14\2\uffff\2\14\2\uffff\26\14\1\uffff\7\14\1\uffff"+
+            "\1\14\3\uffff\4\14\2\uffff\11\14\2\uffff\2\14\2\uffff\3\14\11"+
+            "\uffff\1\14\4\uffff\2\14\1\uffff\5\14\2\uffff\16\14\15\uffff"+
+            "\3\14\1\uffff\6\14\4\uffff\2\14\2\uffff\26\14\1\uffff\7\14\1"+
+            "\uffff\2\14\1\uffff\2\14\1\uffff\2\14\2\uffff\1\14\1\uffff\5"+
+            "\14\4\uffff\2\14\2\uffff\3\14\13\uffff\4\14\1\uffff\1\14\7\uffff"+
+            "\17\14\14\uffff\3\14\1\uffff\11\14\1\uffff\3\14\1\uffff\26\14"+
+            "\1\uffff\7\14\1\uffff\2\14\1\uffff\5\14\2\uffff\12\14\1\uffff"+
+            "\3\14\1\uffff\3\14\2\uffff\1\14\17\uffff\4\14\2\uffff\12\14"+
+            "\1\uffff\1\14\17\uffff\3\14\1\uffff\10\14\2\uffff\2\14\2\uffff"+
+            "\26\14\1\uffff\7\14\1\uffff\2\14\1\uffff\5\14\2\uffff\10\14"+
+            "\3\uffff\2\14\2\uffff\3\14\10\uffff\2\14\4\uffff\2\14\1\uffff"+
+            "\3\14\4\uffff\12\14\1\uffff\1\14\20\uffff\2\14\1\uffff\6\14"+
+            "\3\uffff\3\14\1\uffff\4\14\3\uffff\2\14\1\uffff\1\14\1\uffff"+
+            "\2\14\3\uffff\2\14\3\uffff\3\14\3\uffff\10\14\1\uffff\3\14\4"+
+            "\uffff\5\14\3\uffff\3\14\1\uffff\4\14\11\uffff\1\14\17\uffff"+
+            "\11\14\11\uffff\1\14\7\uffff\3\14\1\uffff\10\14\1\uffff\3\14"+
+            "\1\uffff\27\14\1\uffff\12\14\1\uffff\5\14\4\uffff\7\14\1\uffff"+
+            "\3\14\1\uffff\4\14\7\uffff\2\14\11\uffff\2\14\4\uffff\12\14"+
+            "\22\uffff\2\14\1\uffff\10\14\1\uffff\3\14\1\uffff\27\14\1\uffff"+
+            "\12\14\1\uffff\5\14\2\uffff\11\14\1\uffff\3\14\1\uffff\4\14"+
+            "\7\uffff\2\14\7\uffff\1\14\1\uffff\2\14\4\uffff\12\14\22\uffff"+
+            "\2\14\1\uffff\10\14\1\uffff\3\14\1\uffff\27\14\1\uffff\20\14"+
+            "\4\uffff\6\14\2\uffff\3\14\1\uffff\4\14\11\uffff\1\14\10\uffff"+
+            "\2\14\4\uffff\12\14\22\uffff\2\14\1\uffff\22\14\3\uffff\30\14"+
+            "\1\uffff\11\14\1\uffff\1\14\2\uffff\7\14\3\uffff\1\14\4\uffff"+
+            "\6\14\1\uffff\1\14\1\uffff\10\14\22\uffff\2\14\15\uffff\72\14"+
+            "\4\uffff\20\14\1\uffff\12\14\47\uffff\2\14\1\uffff\1\14\2\uffff"+
+            "\2\14\1\uffff\1\14\2\uffff\1\14\6\uffff\4\14\1\uffff\7\14\1"+
+            "\uffff\3\14\1\uffff\1\14\1\uffff\1\14\2\uffff\2\14\1\uffff\15"+
+            "\14\1\uffff\3\14\2\uffff\5\14\1\uffff\1\14\1\uffff\6\14\2\uffff"+
+            "\12\14\2\uffff\2\14\42\uffff\1\14\27\uffff\2\14\6\uffff\12\14"+
+            "\13\uffff\1\14\1\uffff\1\14\1\uffff\1\14\4\uffff\12\14\1\uffff"+
+            "\42\14\6\uffff\24\14\1\uffff\6\14\4\uffff\10\14\1\uffff\44\14"+
+            "\11\uffff\1\14\71\uffff\42\14\1\uffff\5\14\1\uffff\2\14\1\uffff"+
+            "\7\14\3\uffff\4\14\6\uffff\12\14\6\uffff\12\14\106\uffff\46"+
+            "\14\12\uffff\51\14\7\uffff\132\14\5\uffff\104\14\5\uffff\122"+
+            "\14\6\uffff\7\14\1\uffff\77\14\1\uffff\1\14\1\uffff\4\14\2\uffff"+
+            "\7\14\1\uffff\1\14\1\uffff\4\14\2\uffff\47\14\1\uffff\1\14\1"+
+            "\uffff\4\14\2\uffff\37\14\1\uffff\1\14\1\uffff\4\14\2\uffff"+
+            "\7\14\1\uffff\1\14\1\uffff\4\14\2\uffff\7\14\1\uffff\7\14\1"+
+            "\uffff\27\14\1\uffff\37\14\1\uffff\1\14\1\uffff\4\14\2\uffff"+
+            "\7\14\1\uffff\47\14\1\uffff\23\14\16\uffff\11\14\56\uffff\125"+
+            "\14\14\uffff\u026c\14\2\uffff\10\14\12\uffff\32\14\5\uffff\113"+
+            "\14\3\uffff\3\14\17\uffff\15\14\1\uffff\7\14\13\uffff\25\14"+
+            "\13\uffff\24\14\14\uffff\15\14\1\uffff\3\14\1\uffff\2\14\14"+
+            "\uffff\124\14\3\uffff\1\14\3\uffff\3\14\2\uffff\12\14\41\uffff"+
+            "\3\14\2\uffff\12\14\6\uffff\130\14\10\uffff\52\14\126\uffff"+
+            "\35\14\3\uffff\14\14\4\uffff\14\14\12\uffff\50\14\2\uffff\5"+
+            "\14\u038b\uffff\154\14\u0094\uffff\u009c\14\4\uffff\132\14\6"+
+            "\uffff\26\14\2\uffff\6\14\2\uffff\46\14\2\uffff\6\14\2\uffff"+
+            "\10\14\1\uffff\1\14\1\uffff\1\14\1\uffff\1\14\1\uffff\37\14"+
+            "\2\uffff\65\14\1\uffff\7\14\1\uffff\1\14\3\uffff\3\14\1\uffff"+
+            "\7\14\3\uffff\4\14\2\uffff\6\14\4\uffff\15\14\5\uffff\3\14\1"+
+            "\uffff\7\14\17\uffff\4\14\32\uffff\5\14\20\uffff\2\14\23\uffff"+
+            "\1\14\13\uffff\4\14\6\uffff\6\14\1\uffff\1\14\15\uffff\1\14"+
+            "\40\uffff\22\14\36\uffff\15\14\4\uffff\1\14\3\uffff\6\14\27"+
+            "\uffff\1\14\4\uffff\1\14\2\uffff\12\14\1\uffff\1\14\3\uffff"+
+            "\5\14\6\uffff\1\14\1\uffff\1\14\1\uffff\1\14\1\uffff\4\14\1"+
+            "\uffff\3\14\1\uffff\7\14\3\uffff\3\14\5\uffff\5\14\26\uffff"+
+            "\44\14\u0e81\uffff\3\14\31\uffff\17\14\1\uffff\5\14\2\uffff"+
+            "\5\14\4\uffff\126\14\2\uffff\2\14\2\uffff\3\14\1\uffff\137\14"+
+            "\5\uffff\50\14\4\uffff\136\14\21\uffff\30\14\70\uffff\20\14"+
+            "\u0200\uffff\u19b6\14\112\uffff\u51a6\14\132\uffff\u048d\14"+
+            "\u0773\uffff\u2ba4\14\u215c\uffff\u012e\14\2\uffff\73\14\u0095"+
+            "\uffff\7\14\14\uffff\5\14\5\uffff\14\14\1\uffff\15\14\1\uffff"+
+            "\5\14\1\uffff\1\14\1\uffff\2\14\1\uffff\2\14\1\uffff\154\14"+
+            "\41\uffff\u016b\14\22\uffff\100\14\2\uffff\66\14\50\uffff\15"+
+            "\14\3\uffff\20\14\20\uffff\4\14\17\uffff\2\14\30\uffff\3\14"+
+            "\31\uffff\1\14\6\uffff\5\14\1\uffff\u0087\14\2\uffff\1\14\4"+
+            "\uffff\1\14\13\uffff\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff"+
+            "\32\14\12\uffff\132\14\3\uffff\6\14\2\uffff\6\14\2\uffff\6\14"+
+            "\2\uffff\3\14\3\uffff\2\14\3\uffff\2\14\22\uffff\3\14",
             "",
             "",
             "",

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapParser.java	2009-05-01 15:34:54 UTC (rev 26331)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapParser.java	2009-05-01 16:54:28 UTC (rev 26332)
@@ -1,4 +1,4 @@
-// $ANTLR 3.1.1 src/main/resources/org/drools/lang/dsl/DSLMap.g 2009-04-09 16:58:56
+// $ANTLR 3.1.1 src/main/resources/org/drools/lang/dsl/DSLMap.g 2009-05-01 12:52:50
 
 	package org.drools.lang.dsl;
 	import java.util.List;
@@ -17,13 +17,14 @@
 
 public class DSLMapParser extends Parser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "VT_DSL_GRAMMAR", "VT_COMMENT", "VT_ENTRY", "VT_SCOPE", "VT_CONDITION", "VT_CONSEQUENCE", "VT_KEYWORD", "VT_ANY", "VT_META", "VT_ENTRY_KEY", "VT_ENTRY_VAL", "VT_VAR_DEF", "VT_VAR_REF", "VT_LITERAL", "VT_PATTERN", "VT_QUAL", "VT_SPACE", "EOL", "LINE_COMMENT", "EQUALS", "LEFT_SQUARE", "RIGHT_SQUARE", "LITERAL", "COMMA", "COLON", "LEFT_CURLY", "RIGHT_CURLY", "WS", "EscapeSequence", "DOT", "POUND", "MISC"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "VT_DSL_GRAMMAR", "VT_COMMENT", "VT_ENTRY", "VT_SCOPE", "VT_CONDITION", "VT_CONSEQUENCE", "VT_KEYWORD", "VT_ANY", "VT_META", "VT_ENTRY_KEY", "VT_ENTRY_VAL", "VT_VAR_DEF", "VT_VAR_REF", "VT_LITERAL", "VT_PATTERN", "VT_QUAL", "VT_SPACE", "EOL", "LINE_COMMENT", "EQUALS", "LEFT_SQUARE", "RIGHT_SQUARE", "LITERAL", "COMMA", "COLON", "LEFT_CURLY", "RIGHT_CURLY", "WS", "EscapeSequence", "DOT", "POUND", "IdentifierPart", "MISC"
     };
     public static final int COMMA=27;
+    public static final int IdentifierPart=35;
     public static final int RIGHT_CURLY=30;
     public static final int VT_ENTRY_VAL=14;
     public static final int WS=31;
-    public static final int MISC=35;
+    public static final int MISC=36;
     public static final int VT_META=12;
     public static final int VT_CONSEQUENCE=9;
     public static final int VT_SPACE=20;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapWalker.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapWalker.java	2009-05-01 15:34:54 UTC (rev 26331)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapWalker.java	2009-05-01 16:54:28 UTC (rev 26332)
@@ -1,4 +1,4 @@
-// $ANTLR 3.1.1 src/main/resources/org/drools/lang/dsl/DSLMapWalker.g 2009-04-09 16:58:57
+// $ANTLR 3.1.1 src/main/resources/org/drools/lang/dsl/DSLMapWalker.g 2009-05-01 12:52:51
 
 	package org.drools.lang.dsl;
 	
@@ -13,13 +13,14 @@
 
 public class DSLMapWalker extends TreeParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "VT_DSL_GRAMMAR", "VT_COMMENT", "VT_ENTRY", "VT_SCOPE", "VT_CONDITION", "VT_CONSEQUENCE", "VT_KEYWORD", "VT_ANY", "VT_META", "VT_ENTRY_KEY", "VT_ENTRY_VAL", "VT_VAR_DEF", "VT_VAR_REF", "VT_LITERAL", "VT_PATTERN", "VT_QUAL", "VT_SPACE", "EOL", "LINE_COMMENT", "EQUALS", "LEFT_SQUARE", "RIGHT_SQUARE", "LITERAL", "COMMA", "COLON", "LEFT_CURLY", "RIGHT_CURLY", "WS", "EscapeSequence", "DOT", "POUND", "MISC"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "VT_DSL_GRAMMAR", "VT_COMMENT", "VT_ENTRY", "VT_SCOPE", "VT_CONDITION", "VT_CONSEQUENCE", "VT_KEYWORD", "VT_ANY", "VT_META", "VT_ENTRY_KEY", "VT_ENTRY_VAL", "VT_VAR_DEF", "VT_VAR_REF", "VT_LITERAL", "VT_PATTERN", "VT_QUAL", "VT_SPACE", "EOL", "LINE_COMMENT", "EQUALS", "LEFT_SQUARE", "RIGHT_SQUARE", "LITERAL", "COMMA", "COLON", "LEFT_CURLY", "RIGHT_CURLY", "WS", "EscapeSequence", "DOT", "POUND", "IdentifierPart", "MISC"
     };
     public static final int COMMA=27;
     public static final int RIGHT_CURLY=30;
+    public static final int IdentifierPart=35;
     public static final int VT_ENTRY_VAL=14;
     public static final int WS=31;
-    public static final int MISC=35;
+    public static final int MISC=36;
     public static final int VT_META=12;
     public static final int VT_CONSEQUENCE=9;
     public static final int VT_SPACE=20;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java	2009-05-01 15:34:54 UTC (rev 26331)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java	2009-05-01 16:54:28 UTC (rev 26332)
@@ -156,10 +156,11 @@
 
         // initialie the dialect runtime data if it doesn't already exist
         if ( pkg.getDialectRuntimeRegistry().getDialectData( ID ) == null ) {
-            data = new JavaDialectRuntimeData( );
+            data = new JavaDialectRuntimeData();
             this.pkg.getDialectRuntimeRegistry().setDialectData( ID,
                                                                  data );
-            data.onAdd(  this.pkg.getDialectRuntimeRegistry(), this.packageBuilder.getRootClassLoader() );
+            data.onAdd( this.pkg.getDialectRuntimeRegistry(),
+                        this.packageBuilder.getRootClassLoader() );
         }
 
         this.packageStoreWrapper = new PackageStore( data,
@@ -243,7 +244,7 @@
     public AnalysisResult analyzeExpression(final PackageBuildContext context,
                                             final BaseDescr descr,
                                             final Object content,
-                                            final Map<String,Class<?>>[] availableIdentifiers) {
+                                            final Map<String, Class< ? >>[] availableIdentifiers) {
         JavaAnalysisResult result = null;
         try {
             result = this.analyzer.analyzeExpression( (String) content,
@@ -260,7 +261,7 @@
     public AnalysisResult analyzeBlock(final PackageBuildContext context,
                                        final BaseDescr descr,
                                        final String text,
-                                       final Map<String,Class<?>>[] availableIdentifiers) {
+                                       final Map<String, Class< ? >>[] availableIdentifiers) {
         JavaAnalysisResult result = null;
         try {
             result = this.analyzer.analyzeBlock( text,
@@ -590,7 +591,7 @@
 
         Function function = new Function( functionDescr.getName(),
                                           this.ID );
-        if ( resource != null && ((InternalResource)resource).hasURL() ) {
+        if ( resource != null && ((InternalResource) resource).hasURL() ) {
             function.setResource( resource );
         }
         this.pkg.addFunction( function );
@@ -717,7 +718,7 @@
                                             final String prefix,
                                             final ResourceReader src) {
         // replaces all non alphanumeric or $ chars with _
-        String newName = prefix + "_" + name.replaceAll( "[[^\\w]$]",
+        String newName = prefix + "_" + name.replaceAll( "[ -/:-@\\[-`\\{-\\xff]",
                                                          "_" );
 
         // make sure the class name does not exist, if it does increase the counter

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaLexer.java	2009-05-01 15:34:54 UTC (rev 26331)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaLexer.java	2009-05-01 16:54:28 UTC (rev 26332)
@@ -1,4 +1,4 @@
-// $ANTLR 3.1.1 src/main/resources/org/drools/semantics/java/parser/Java.g 2009-04-09 16:58:59
+// $ANTLR 3.1.1 src/main/resources/org/drools/semantics/java/parser/Java.g 2009-05-01 12:52:54
 
 	package org.drools.rule.builder.dialect.java.parser;
 
@@ -3157,7 +3157,7 @@
                 int alt26=2;
                 int LA26_0 = input.LA(1);
 
-                if ( (LA26_0=='$'||(LA26_0>='0' && LA26_0<='9')||(LA26_0>='A' && LA26_0<='Z')||LA26_0=='_'||(LA26_0>='a' && LA26_0<='z')||(LA26_0>='\u00C0' && LA26_0<='\u00D6')||(LA26_0>='\u00D8' && LA26_0<='\u00F6')||(LA26_0>='\u00F8' && LA26_0<='\u1FFF')||(LA26_0>='\u3040' && LA26_0<='\u318F')||(LA26_0>='\u3300' && LA26_0<='\u337F')||(LA26_0>='\u3400' && LA26_0<='\u3D2D')||(LA26_0>='\u4E00' && LA26_0<='\u9FFF')||(LA26_0>='\uF900' && LA26_0<='\uFAFF')) ) {
+                if ( (LA26_0=='$'||(LA26_0>='0' && LA26_0<='9')||(LA26_0>='A' && LA26_0<='Z')||LA26_0=='_'||(LA26_0>='a' && LA26_0<='z')||(LA26_0>='\u00C0' && LA26_0<='\u00D6')||(LA26_0>='\u00D8' && LA26_0<='\u00F6')||(LA26_0>='\u00F8' && LA26_0<='\u1FFF')||(LA26_0>='\u3040' && LA26_0<='\u318F')||(LA26_0>='\u3300' && LA26_0<='\u337F')||(LA26_0>='\u3400' && LA26_0<='\u3D2D')||(LA26_0>='\u4E00' && LA26_0<='\u9FFF')||(LA26_0>='\uF900' && LA26_0<='\uFAFF')||(LA26_0>='\uFF10' && LA26_0<='\uFF19')) ) {
                     alt26=1;
                 }
 
@@ -3166,7 +3166,7 @@
             	case 1 :
             	    // src/main/resources/org/drools/semantics/java/parser/Java.g:
             	    {
-            	    if ( input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF') ) {
+            	    if ( input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF')||(input.LA(1)>='\uFF10' && input.LA(1)<='\uFF19') ) {
             	        input.consume();
 
             	    }
@@ -3222,10 +3222,10 @@
     // $ANTLR start "JavaIDDigit"
     public final void mJavaIDDigit() throws RecognitionException {
         try {
-            // src/main/resources/org/drools/semantics/java/parser/Java.g:1066:5: ( '\\u0030' .. '\\u0039' | '\\u0660' .. '\\u0669' | '\\u06f0' .. '\\u06f9' | '\\u0966' .. '\\u096f' | '\\u09e6' .. '\\u09ef' | '\\u0a66' .. '\\u0a6f' | '\\u0ae6' .. '\\u0aef' | '\\u0b66' .. '\\u0b6f' | '\\u0be7' .. '\\u0bef' | '\\u0c66' .. '\\u0c6f' | '\\u0ce6' .. '\\u0cef' | '\\u0d66' .. '\\u0d6f' | '\\u0e50' .. '\\u0e59' | '\\u0ed0' .. '\\u0ed9' | '\\u1040' .. '\\u1049' )
+            // src/main/resources/org/drools/semantics/java/parser/Java.g:1066:5: ( '\\u0030' .. '\\u0039' | '\\u0660' .. '\\u0669' | '\\u06f0' .. '\\u06f9' | '\\u0966' .. '\\u096f' | '\\u09e6' .. '\\u09ef' | '\\u0a66' .. '\\u0a6f' | '\\u0ae6' .. '\\u0aef' | '\\u0b66' .. '\\u0b6f' | '\\u0be7' .. '\\u0bef' | '\\u0c66' .. '\\u0c6f' | '\\u0ce6' .. '\\u0cef' | '\\u0d66' .. '\\u0d6f' | '\\u0e50' .. '\\u0e59' | '\\u0ed0' .. '\\u0ed9' | '\\u1040' .. '\\u1049' | '\\uff10' .. '\\uff19' )
             // src/main/resources/org/drools/semantics/java/parser/Java.g:
             {
-            if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='\u0660' && input.LA(1)<='\u0669')||(input.LA(1)>='\u06F0' && input.LA(1)<='\u06F9')||(input.LA(1)>='\u0966' && input.LA(1)<='\u096F')||(input.LA(1)>='\u09E6' && input.LA(1)<='\u09EF')||(input.LA(1)>='\u0A66' && input.LA(1)<='\u0A6F')||(input.LA(1)>='\u0AE6' && input.LA(1)<='\u0AEF')||(input.LA(1)>='\u0B66' && input.LA(1)<='\u0B6F')||(input.LA(1)>='\u0BE7' && input.LA(1)<='\u0BEF')||(input.LA(1)>='\u0C66' && input.LA(1)<='\u0C6F')||(input.LA(1)>='\u0CE6' && input.LA(1)<='\u0CEF')||(input.LA(1)>='\u0D66' && input.LA(1)<='\u0D6F')||(input.LA(1)>='\u0E50' && input.LA(1)<='\u0E59')||(input.LA(1)>='\u0ED0' && input.LA(1)<='\u0ED9')||(input.LA(1)>='\u1040' && input.LA(1)<='\u1049') ) {
+            if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='\u0660' && input.LA(1)<='\u0669')||(input.LA(1)>='\u06F0' && input.LA(1)<='\u06F9')||(input.LA(1)>='\u0966' && input.LA(1)<='\u096F')||(input.LA(1)>='\u09E6' && input.LA(1)<='\u09EF')||(input.LA(1)>='\u0A66' && input.LA(1)<='\u0A6F')||(input.LA(1)>='\u0AE6' && input.LA(1)<='\u0AEF')||(input.LA(1)>='\u0B66' && input.LA(1)<='\u0B6F')||(input.LA(1)>='\u0BE7' && input.LA(1)<='\u0BEF')||(input.LA(1)>='\u0C66' && input.LA(1)<='\u0C6F')||(input.LA(1)>='\u0CE6' && input.LA(1)<='\u0CEF')||(input.LA(1)>='\u0D66' && input.LA(1)<='\u0D6F')||(input.LA(1)>='\u0E50' && input.LA(1)<='\u0E59')||(input.LA(1)>='\u0ED0' && input.LA(1)<='\u0ED9')||(input.LA(1)>='\u1040' && input.LA(1)<='\u1049')||(input.LA(1)>='\uFF10' && input.LA(1)<='\uFF19') ) {
                 input.consume();
 
             }
@@ -3248,8 +3248,8 @@
         try {
             int _type = WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/semantics/java/parser/Java.g:1083:5: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) )
-            // src/main/resources/org/drools/semantics/java/parser/Java.g:1083:8: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' )
+            // src/main/resources/org/drools/semantics/java/parser/Java.g:1084:5: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) )
+            // src/main/resources/org/drools/semantics/java/parser/Java.g:1084:8: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' )
             {
             if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||(input.LA(1)>='\f' && input.LA(1)<='\r')||input.LA(1)==' ' ) {
                 input.consume();
@@ -3277,12 +3277,12 @@
         try {
             int _type = COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/semantics/java/parser/Java.g:1087:5: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // src/main/resources/org/drools/semantics/java/parser/Java.g:1087:9: '/*' ( options {greedy=false; } : . )* '*/'
+            // src/main/resources/org/drools/semantics/java/parser/Java.g:1088:5: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // src/main/resources/org/drools/semantics/java/parser/Java.g:1088:9: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // src/main/resources/org/drools/semantics/java/parser/Java.g:1087:14: ( options {greedy=false; } : . )*
+            // src/main/resources/org/drools/semantics/java/parser/Java.g:1088:14: ( options {greedy=false; } : . )*
             loop27:
             do {
                 int alt27=2;
@@ -3307,7 +3307,7 @@
 
                 switch (alt27) {
             	case 1 :
-            	    // src/main/resources/org/drools/semantics/java/parser/Java.g:1087:42: .
+            	    // src/main/resources/org/drools/semantics/java/parser/Java.g:1088:42: .
             	    {
             	    matchAny(); 
 
@@ -3338,12 +3338,12 @@
         try {
             int _type = LINE_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // src/main/resources/org/drools/semantics/java/parser/Java.g:1091:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' )
-            // src/main/resources/org/drools/semantics/java/parser/Java.g:1091:7: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'
+            // src/main/resources/org/drools/semantics/java/parser/Java.g:1092:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' )
+            // src/main/resources/org/drools/semantics/java/parser/Java.g:1092:7: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'
             {
             match("//"); 
 
-            // src/main/resources/org/drools/semantics/java/parser/Java.g:1091:12: (~ ( '\\n' | '\\r' ) )*
+            // src/main/resources/org/drools/semantics/java/parser/Java.g:1092:12: (~ ( '\\n' | '\\r' ) )*
             loop28:
             do {
                 int alt28=2;
@@ -3356,7 +3356,7 @@
 
                 switch (alt28) {
             	case 1 :
-            	    // src/main/resources/org/drools/semantics/java/parser/Java.g:1091:12: ~ ( '\\n' | '\\r' )
+            	    // src/main/resources/org/drools/semantics/java/parser/Java.g:1092:12: ~ ( '\\n' | '\\r' )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -3376,7 +3376,7 @@
                 }
             } while (true);
 
-            // src/main/resources/org/drools/semantics/java/parser/Java.g:1091:26: ( '\\r' )?
+            // src/main/resources/org/drools/semantics/java/parser/Java.g:1092:26: ( '\\r' )?
             int alt29=2;
             int LA29_0 = input.LA(1);
 
@@ -3385,7 +3385,7 @@
             }
             switch (alt29) {
                 case 1 :
-                    // src/main/resources/org/drools/semantics/java/parser/Java.g:1091:26: '\\r'
+                    // src/main/resources/org/drools/semantics/java/parser/Java.g:1092:26: '\\r'
                     {
                     match('\r'); 
 
@@ -4266,35 +4266,35 @@
         "\1\ufaff\1\165\1\uffff\1\156\1\171\1\71\1\75\1\157\1\170\3\uffff"+
         "\1\75\2\uffff\1\157\2\uffff\1\162\1\75\1\163\1\157\1\165\1\171\2"+
         "\157\5\uffff\1\150\1\145\1\157\3\75\1\174\3\75\1\uffff\1\170\1\146"+
-        "\4\uffff\1\143\1\142\1\157\1\160\1\164\1\ufaff\1\162\1\156\1\157"+
+        "\4\uffff\1\143\1\142\1\157\1\160\1\164\1\uff19\1\162\1\156\1\157"+
         "\1\160\1\151\5\uffff\2\141\1\156\2\164\1\163\1\165\3\uffff\1\154"+
         "\1\162\1\171\2\uffff\2\163\1\156\1\157\1\154\1\162\1\164\1\154\1"+
-        "\167\1\157\1\164\1\145\1\156\1\ufaff\1\146\1\151\1\164\1\144\24"+
-        "\uffff\1\146\1\uffff\1\146\1\153\1\154\1\164\1\166\1\157\1\ufaff"+
+        "\167\1\157\1\164\1\145\1\156\1\uff19\1\146\1\151\1\164\1\144\24"+
+        "\uffff\1\146\1\uffff\1\146\1\153\1\154\1\164\1\166\1\157\1\uff19"+
         "\1\164\1\uffff\1\164\1\151\1\143\1\162\1\145\1\164\1\163\1\162\1"+
         "\164\1\143\2\145\1\164\1\145\1\162\1\155\1\144\1\141\1\157\1\163"+
-        "\1\156\1\145\1\ufaff\1\164\1\145\2\141\1\163\1\ufaff\1\151\1\154"+
-        "\1\ufaff\1\154\1\145\1\141\1\147\1\142\1\uffff\1\141\1\154\1\165"+
+        "\1\156\1\145\1\uff19\1\164\1\145\2\141\1\163\1\uff19\1\151\1\154"+
+        "\1\uff19\1\154\1\145\1\141\1\147\1\142\1\uffff\1\141\1\154\1\165"+
         "\1\151\1\uffff\1\141\1\151\1\145\1\141\1\162\1\145\1\162\1\uffff"+
-        "\1\141\1\151\1\143\1\150\1\164\1\162\1\143\1\163\1\ufaff\1\151\1"+
-        "\150\1\ufaff\1\156\1\120\1\ufaff\1\171\2\ufaff\1\164\1\167\1\ufaff"+
-        "\1\163\1\ufaff\1\uffff\2\162\1\154\1\164\1\145\1\uffff\1\166\1\ufaff"+
-        "\1\uffff\1\145\1\ufaff\1\153\1\ufaff\1\154\1\165\1\145\1\162\1\146"+
-        "\1\147\2\143\2\164\1\155\1\146\1\156\1\143\1\164\1\162\2\ufaff\1"+
-        "\150\1\ufaff\1\uffff\1\156\1\ufaff\1\uffff\1\144\1\157\1\uffff\1"+
-        "\120\2\uffff\1\151\1\ufaff\1\uffff\1\151\1\uffff\1\141\1\164\3\ufaff"+
-        "\1\145\1\uffff\1\141\1\uffff\1\ufaff\1\uffff\1\145\1\154\1\ufaff"+
-        "\1\156\1\171\1\145\1\ufaff\1\164\1\145\1\ufaff\1\145\1\141\1\143"+
-        "\1\ufaff\1\146\1\157\2\uffff\1\ufaff\1\uffff\1\165\1\uffff\1\163"+
-        "\1\151\1\157\1\154\1\ufaff\1\uffff\1\145\1\143\1\ufaff\1\171\3\uffff"+
-        "\1\ufaff\1\156\1\uffff\1\ufaff\1\164\1\uffff\3\ufaff\1\uffff\1\145"+
-        "\1\ufaff\1\uffff\1\156\1\143\1\145\1\uffff\1\160\1\156\1\uffff\1"+
-        "\145\1\ufaff\1\156\1\151\1\145\1\uffff\1\156\1\164\1\uffff\1\ufaff"+
-        "\1\uffff\1\ufaff\1\uffff\1\ufaff\3\uffff\1\144\1\uffff\1\164\1\145"+
-        "\1\157\1\ufaff\1\151\1\ufaff\1\uffff\1\164\1\156\1\ufaff\1\164\1"+
-        "\ufaff\3\uffff\1\ufaff\1\163\1\ufaff\1\146\1\uffff\1\172\1\uffff"+
-        "\1\163\1\164\1\uffff\1\ufaff\2\uffff\1\ufaff\1\uffff\1\ufaff\1\145"+
-        "\1\ufaff\1\163\3\uffff\1\144\1\uffff\2\ufaff\2\uffff";
+        "\1\141\1\151\1\143\1\150\1\164\1\162\1\143\1\163\1\uff19\1\151\1"+
+        "\150\1\uff19\1\156\1\120\1\uff19\1\171\2\uff19\1\164\1\167\1\uff19"+
+        "\1\163\1\uff19\1\uffff\2\162\1\154\1\164\1\145\1\uffff\1\166\1\uff19"+
+        "\1\uffff\1\145\1\uff19\1\153\1\uff19\1\154\1\165\1\145\1\162\1\146"+
+        "\1\147\2\143\2\164\1\155\1\146\1\156\1\143\1\164\1\162\2\uff19\1"+
+        "\150\1\uff19\1\uffff\1\156\1\uff19\1\uffff\1\144\1\157\1\uffff\1"+
+        "\120\2\uffff\1\151\1\uff19\1\uffff\1\151\1\uffff\1\141\1\164\3\uff19"+
+        "\1\145\1\uffff\1\141\1\uffff\1\uff19\1\uffff\1\145\1\154\1\uff19"+
+        "\1\156\1\171\1\145\1\uff19\1\164\1\145\1\uff19\1\145\1\141\1\143"+
+        "\1\uff19\1\146\1\157\2\uffff\1\uff19\1\uffff\1\165\1\uffff\1\163"+
+        "\1\151\1\157\1\154\1\uff19\1\uffff\1\145\1\143\1\uff19\1\171\3\uffff"+
+        "\1\uff19\1\156\1\uffff\1\uff19\1\164\1\uffff\3\uff19\1\uffff\1\145"+
+        "\1\uff19\1\uffff\1\156\1\143\1\145\1\uffff\1\160\1\156\1\uffff\1"+
+        "\145\1\uff19\1\156\1\151\1\145\1\uffff\1\156\1\164\1\uffff\1\uff19"+
+        "\1\uffff\1\uff19\1\uffff\1\uff19\3\uffff\1\144\1\uffff\1\164\1\145"+
+        "\1\157\1\uff19\1\151\1\uff19\1\uffff\1\164\1\156\1\uff19\1\164\1"+
+        "\uff19\3\uffff\1\uff19\1\163\1\uff19\1\146\1\uffff\1\172\1\uffff"+
+        "\1\163\1\164\1\uffff\1\uff19\2\uffff\1\uff19\1\uffff\1\uff19\1\145"+
+        "\1\uff19\1\163\3\uffff\1\144\1\uffff\2\uff19\2\uffff";
     static final String DFA30_acceptS =
         "\2\uffff\1\2\6\uffff\1\12\1\13\1\14\1\uffff\1\16\1\17\1\uffff\1"+
         "\22\1\23\10\uffff\1\50\1\52\1\53\1\60\1\63\12\uffff\1\132\2\uffff"+
@@ -4379,7 +4379,7 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0080\20\uffff\1\u0081",
             "\1\u0082",
             "\1\u0083",
@@ -4421,7 +4421,8 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\24"+
             "\56\1\u00a4\5\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08"+
             "\56\u1040\uffff\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e"+
-            "\56\u10d2\uffff\u5200\56\u5900\uffff\u0200\56",
+            "\56\u10d2\uffff\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12"+
+            "\56",
             "\1\u00a6",
             "\1\u00a7",
             "\1\u00a8",
@@ -4457,7 +4458,8 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\4"+
             "\56\1\u00b1\25\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08"+
             "\56\u1040\uffff\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e"+
-            "\56\u10d2\uffff\u5200\56\u5900\uffff\u0200\56",
+            "\56\u10d2\uffff\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12"+
+            "\56",
             "\1\u00b3",
             "",
             "\1\u00b4",
@@ -4485,7 +4487,7 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u00cb",
             "\1\u00cc",
             "\1\u00cd",
@@ -4494,13 +4496,13 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u00d1",
             "\1\u00d2",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u00d4",
             "\1\u00d5",
             "\1\u00d6",
@@ -4531,39 +4533,39 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u00ed",
             "\1\u00ee",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u00f0",
             "\1\u00f1",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u00f3",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u00f6",
             "\1\u00f7",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u00f9",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "\1\u00fb",
             "\1\u00fc",
@@ -4575,18 +4577,18 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "\1\u0102",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0104",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0106",
             "\1\u0107",
             "\1\u0108",
@@ -4606,22 +4608,22 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0118",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "\1\u011a",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "\1\u011c",
             "\1\u011d",
@@ -4633,7 +4635,8 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\22"+
             "\56\1\u0120\7\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08"+
             "\56\u1040\uffff\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e"+
-            "\56\u10d2\uffff\u5200\56\u5900\uffff\u0200\56",
+            "\56\u10d2\uffff\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12"+
+            "\56",
             "",
             "\1\u0122",
             "",
@@ -4642,15 +4645,16 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\13"+
             "\56\1\u0125\16\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08"+
             "\56\u1040\uffff\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e"+
-            "\56\u10d2\uffff\u5200\56\u5900\uffff\u0200\56",
+            "\56\u10d2\uffff\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12"+
+            "\56",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0129",
             "",
             "\1\u012a",
@@ -4658,34 +4662,34 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "\1\u012c",
             "\1\u012d",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u012f",
             "\1\u0130",
             "\1\u0131",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0133",
             "\1\u0134",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0136",
             "\1\u0137",
             "\1\u0138",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u013a",
             "\1\u013b",
             "",
@@ -4693,7 +4697,7 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "\1\u013d",
             "",
@@ -4704,14 +4708,14 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "\1\u0143",
             "\1\u0144",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0146",
             "",
             "",
@@ -4719,33 +4723,33 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0148",
             "",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u014a",
             "",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "\1\u014e",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "\1\u0150",
             "\1\u0151",
@@ -4758,7 +4762,7 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0157",
             "\1\u0158",
             "\1\u0159",
@@ -4769,17 +4773,17 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "",
             "",
@@ -4791,36 +4795,36 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0164",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "\1\u0166",
             "\1\u0167",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0169",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "",
             "",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u016c",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u016e",
             "",
             "\1\u016f",
@@ -4831,23 +4835,23 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0175",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\u0177",
             "",
             "",
@@ -4857,11 +4861,11 @@
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
             "\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
             "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
-            "\u5200\56\u5900\uffff\u0200\56",
+            "\u5200\56\u5900\uffff\u0200\56\u0410\uffff\12\56",
             "",
             ""
     };

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParser.java	2009-05-01 15:34:54 UTC (rev 26331)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParser.java	2009-05-01 16:54:28 UTC (rev 26332)
@@ -1,4 +1,4 @@
-// $ANTLR 3.1.1 src/main/resources/org/drools/semantics/java/parser/Java.g 2009-04-09 16:58:58
+// $ANTLR 3.1.1 src/main/resources/org/drools/semantics/java/parser/Java.g 2009-05-01 12:52:53
 
 	package org.drools.rule.builder.dialect.java.parser;
 	import java.util.Iterator;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g	2009-05-01 15:34:54 UTC (rev 26331)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g	2009-05-01 16:54:28 UTC (rev 26332)
@@ -1714,14 +1714,14 @@
                 )
         ;
         
+FLOAT
+	:	('-')?('0'..'9')+ '.' ('0'..'9')+
+	;
+
 INT	
 	:	('-')?('0'..'9')+
 		;
 
-FLOAT
-	:	('-')?('0'..'9')+ '.' ('0'..'9')+
-	;
-
 STRING
     :  ('"' ( EscapeSequence | ~('\\'|'"') )* '"')
      | ('\'' ( EscapeSequence | ~('\\'|'\'') )* '\'')
@@ -1831,12 +1831,6 @@
 	:	'->'
 	;
 
-ID	
-	:	('a'..'z'|'A'..'Z'|'_'|'$'|'\u00c0'..'\u00ff')('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\u00c0'..'\u00ff')*
-	|	'`' ('a'..'z'|'A'..'Z'|'_'|'$'|'\u00c0'..'\u00ff')('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\u00c0'..'\u00ff')+ '`'
-	{	state.text = $text.substring(1, $text.length() - 1);	}
-	;
-
 LEFT_PAREN
         :	'('
         ;
@@ -1891,6 +1885,700 @@
                 { $channel=HIDDEN; }
 	;
 
+ID	
+	:	IdentifierStart IdentifierPart*
+	|	'`' IdentifierStart IdentifierPart* '`'
+	{	state.text = $text.substring(1, $text.length() - 1);	}
+	;
+	
 MISC 	:
-		'!' | '$' | '%' | '^' | '*' | '_' | '-' | '+'  | '?' | '/' | '\'' | '\\' | '|' | '&'
+		'!' | '%' | '^' | '*' | '-' | '+'  | '?' | '/' | '\'' | '\\' | '|' | '&' | '$'
 	;
+
+fragment
+IdentifierStart
+    :   '\u0024'
+    |   '\u0041'..'\u005a'
+    |   '\u005f'
+    |   '\u0061'..'\u007a'
+    |   '\u00a2'..'\u00a5'
+    |   '\u00aa'
+    |   '\u00b5'
+    |   '\u00ba'
+    |   '\u00c0'..'\u00d6'
+    |   '\u00d8'..'\u00f6'
+    |   '\u00f8'..'\u0236'
+    |   '\u0250'..'\u02c1'
+    |   '\u02c6'..'\u02d1'
+    |   '\u02e0'..'\u02e4'
+    |   '\u02ee'
+    |   '\u037a'
+    |   '\u0386'
+    |   '\u0388'..'\u038a'
+    |   '\u038c'
+    |   '\u038e'..'\u03a1'
+    |   '\u03a3'..'\u03ce'
+    |   '\u03d0'..'\u03f5'
+    |   '\u03f7'..'\u03fb'
+    |   '\u0400'..'\u0481'
+    |   '\u048a'..'\u04ce'
+    |   '\u04d0'..'\u04f5'
+    |   '\u04f8'..'\u04f9'
+    |   '\u0500'..'\u050f'
+    |   '\u0531'..'\u0556'
+    |   '\u0559'
+    |   '\u0561'..'\u0587'
+    |   '\u05d0'..'\u05ea'
+    |   '\u05f0'..'\u05f2'
+    |   '\u0621'..'\u063a'
+    |   '\u0640'..'\u064a'
+    |   '\u066e'..'\u066f'
+    |   '\u0671'..'\u06d3'
+    |   '\u06d5'
+    |   '\u06e5'..'\u06e6'
+    |   '\u06ee'..'\u06ef'
+    |   '\u06fa'..'\u06fc'
+    |   '\u06ff'
+    |   '\u0710'
+    |   '\u0712'..'\u072f'
+    |   '\u074d'..'\u074f'
+    |   '\u0780'..'\u07a5'
+    |   '\u07b1'
+    |   '\u0904'..'\u0939'
+    |   '\u093d'
+    |   '\u0950'
+    |   '\u0958'..'\u0961'
+    |   '\u0985'..'\u098c'
+    |   '\u098f'..'\u0990'
+    |   '\u0993'..'\u09a8'
+    |   '\u09aa'..'\u09b0'
+    |   '\u09b2'
+    |   '\u09b6'..'\u09b9'
+    |   '\u09bd'
+    |   '\u09dc'..'\u09dd'
+    |   '\u09df'..'\u09e1'
+    |   '\u09f0'..'\u09f3'
+    |   '\u0a05'..'\u0a0a'
+    |   '\u0a0f'..'\u0a10'
+    |   '\u0a13'..'\u0a28'
+    |   '\u0a2a'..'\u0a30'
+    |   '\u0a32'..'\u0a33'
+    |   '\u0a35'..'\u0a36'
+    |   '\u0a38'..'\u0a39'
+    |   '\u0a59'..'\u0a5c'
+    |   '\u0a5e'
+    |   '\u0a72'..'\u0a74'
+    |   '\u0a85'..'\u0a8d'
+    |   '\u0a8f'..'\u0a91'
+    |   '\u0a93'..'\u0aa8'
+    |   '\u0aaa'..'\u0ab0'
+    |   '\u0ab2'..'\u0ab3'
+    |   '\u0ab5'..'\u0ab9'
+    |   '\u0abd'
+    |   '\u0ad0'
+    |   '\u0ae0'..'\u0ae1'
+    |   '\u0af1'
+    |   '\u0b05'..'\u0b0c'
+    |   '\u0b0f'..'\u0b10'
+    |   '\u0b13'..'\u0b28'
+    |   '\u0b2a'..'\u0b30'
+    |   '\u0b32'..'\u0b33'
+    |   '\u0b35'..'\u0b39'
+    |   '\u0b3d'
+    |   '\u0b5c'..'\u0b5d'
+    |   '\u0b5f'..'\u0b61'
+    |   '\u0b71'
+    |   '\u0b83'
+    |   '\u0b85'..'\u0b8a'
+    |   '\u0b8e'..'\u0b90'
+    |   '\u0b92'..'\u0b95'
+    |   '\u0b99'..'\u0b9a'
+    |   '\u0b9c'
+    |   '\u0b9e'..'\u0b9f'
+    |   '\u0ba3'..'\u0ba4'
+    |   '\u0ba8'..'\u0baa'
+    |   '\u0bae'..'\u0bb5'
+    |   '\u0bb7'..'\u0bb9'
+    |   '\u0bf9'
+    |   '\u0c05'..'\u0c0c'
+    |   '\u0c0e'..'\u0c10'
+    |   '\u0c12'..'\u0c28'
+    |   '\u0c2a'..'\u0c33'
+    |   '\u0c35'..'\u0c39'
+    |   '\u0c60'..'\u0c61'
+    |   '\u0c85'..'\u0c8c'
+    |   '\u0c8e'..'\u0c90'
+    |   '\u0c92'..'\u0ca8'
+    |   '\u0caa'..'\u0cb3'
+    |   '\u0cb5'..'\u0cb9'
+    |   '\u0cbd'
+    |   '\u0cde'
+    |   '\u0ce0'..'\u0ce1'
+    |   '\u0d05'..'\u0d0c'
+    |   '\u0d0e'..'\u0d10'
+    |   '\u0d12'..'\u0d28'
+    |   '\u0d2a'..'\u0d39'
+    |   '\u0d60'..'\u0d61'
+    |   '\u0d85'..'\u0d96'
+    |   '\u0d9a'..'\u0db1'
+    |   '\u0db3'..'\u0dbb'
+    |   '\u0dbd'
+    |   '\u0dc0'..'\u0dc6'
+    |   '\u0e01'..'\u0e30'
+    |   '\u0e32'..'\u0e33'
+    |   '\u0e3f'..'\u0e46'
+    |   '\u0e81'..'\u0e82'
+    |   '\u0e84'
+    |   '\u0e87'..'\u0e88'
+    |   '\u0e8a'
+    |   '\u0e8d'
+    |   '\u0e94'..'\u0e97'
+    |   '\u0e99'..'\u0e9f'
+    |   '\u0ea1'..'\u0ea3'
+    |   '\u0ea5'
+    |   '\u0ea7'
+    |   '\u0eaa'..'\u0eab'
+    |   '\u0ead'..'\u0eb0'
+    |   '\u0eb2'..'\u0eb3'
+    |   '\u0ebd'
+    |   '\u0ec0'..'\u0ec4'
+    |   '\u0ec6'
+    |   '\u0edc'..'\u0edd'
+    |   '\u0f00'
+    |   '\u0f40'..'\u0f47'
+    |   '\u0f49'..'\u0f6a'
+    |   '\u0f88'..'\u0f8b'
+    |   '\u1000'..'\u1021'
+    |   '\u1023'..'\u1027'
+    |   '\u1029'..'\u102a'
+    |   '\u1050'..'\u1055'
+    |   '\u10a0'..'\u10c5'
+    |   '\u10d0'..'\u10f8'
+    |   '\u1100'..'\u1159'
+    |   '\u115f'..'\u11a2'
+    |   '\u11a8'..'\u11f9'
+    |   '\u1200'..'\u1206'
+    |   '\u1208'..'\u1246'
+    |   '\u1248'
+    |   '\u124a'..'\u124d'
+    |   '\u1250'..'\u1256'
+    |   '\u1258'
+    |   '\u125a'..'\u125d'
+    |   '\u1260'..'\u1286'
+    |   '\u1288'
+    |   '\u128a'..'\u128d'
+    |   '\u1290'..'\u12ae'
+    |   '\u12b0'
+    |   '\u12b2'..'\u12b5'
+    |   '\u12b8'..'\u12be'
+    |   '\u12c0'
+    |   '\u12c2'..'\u12c5'
+    |   '\u12c8'..'\u12ce'
+    |   '\u12d0'..'\u12d6'
+    |   '\u12d8'..'\u12ee'
+    |   '\u12f0'..'\u130e'
+    |   '\u1310'
+    |   '\u1312'..'\u1315'
+    |   '\u1318'..'\u131e'
+    |   '\u1320'..'\u1346'
+    |   '\u1348'..'\u135a'
+    |   '\u13a0'..'\u13f4'
+    |   '\u1401'..'\u166c'
+    |   '\u166f'..'\u1676'
+    |   '\u1681'..'\u169a'
+    |   '\u16a0'..'\u16ea'
+    |   '\u16ee'..'\u16f0'
+    |   '\u1700'..'\u170c'
+    |   '\u170e'..'\u1711'
+    |   '\u1720'..'\u1731'
+    |   '\u1740'..'\u1751'
+    |   '\u1760'..'\u176c'
+    |   '\u176e'..'\u1770'
+    |   '\u1780'..'\u17b3'
+    |   '\u17d7' 
+    |   '\u17db'..'\u17dc'
+    |   '\u1820'..'\u1877'
+    |   '\u1880'..'\u18a8'
+    |   '\u1900'..'\u191c'
+    |   '\u1950'..'\u196d'
+    |   '\u1970'..'\u1974'
+    |   '\u1d00'..'\u1d6b'
+    |   '\u1e00'..'\u1e9b'
+    |   '\u1ea0'..'\u1ef9'
+    |   '\u1f00'..'\u1f15'
+    |   '\u1f18'..'\u1f1d'
+    |   '\u1f20'..'\u1f45'
+    |   '\u1f48'..'\u1f4d'
+    |   '\u1f50'..'\u1f57'
+    |   '\u1f59'
+    |   '\u1f5b'
+    |   '\u1f5d'
+    |   '\u1f5f'..'\u1f7d'
+    |   '\u1f80'..'\u1fb4'
+    |   '\u1fb6'..'\u1fbc'
+    |   '\u1fbe'
+    |   '\u1fc2'..'\u1fc4'
+    |   '\u1fc6'..'\u1fcc'
+    |   '\u1fd0'..'\u1fd3'
+    |   '\u1fd6'..'\u1fdb'
+    |   '\u1fe0'..'\u1fec'
+    |   '\u1ff2'..'\u1ff4'
+    |   '\u1ff6'..'\u1ffc'
+    |   '\u203f'..'\u2040'
+    |   '\u2054'
+    |   '\u2071'
+    |   '\u207f'
+    |   '\u20a0'..'\u20b1'
+    |   '\u2102'
+    |   '\u2107'
+    |   '\u210a'..'\u2113'
+    |   '\u2115'
+    |   '\u2119'..'\u211d'
+    |   '\u2124'
+    |   '\u2126'
+    |   '\u2128'
+    |   '\u212a'..'\u212d'
+    |   '\u212f'..'\u2131'
+    |   '\u2133'..'\u2139'
+    |   '\u213d'..'\u213f'
+    |   '\u2145'..'\u2149'
+    |   '\u2160'..'\u2183'
+    |   '\u3005'..'\u3007'
+    |   '\u3021'..'\u3029'
+    |   '\u3031'..'\u3035'
+    |   '\u3038'..'\u303c'
+    |   '\u3041'..'\u3096'
+    |   '\u309d'..'\u309f'
+    |   '\u30a1'..'\u30ff'
+    |   '\u3105'..'\u312c'
+    |   '\u3131'..'\u318e'
+    |   '\u31a0'..'\u31b7'
+    |   '\u31f0'..'\u31ff'
+    |   '\u3400'..'\u4db5'
+    |   '\u4e00'..'\u9fa5'
+    |   '\ua000'..'\ua48c'
+    |   '\uac00'..'\ud7a3'
+    |   '\uf900'..'\ufa2d'
+    |   '\ufa30'..'\ufa6a'
+    |   '\ufb00'..'\ufb06'
+    |   '\ufb13'..'\ufb17'
+    |   '\ufb1d'
+    |   '\ufb1f'..'\ufb28'
+    |   '\ufb2a'..'\ufb36'
+    |   '\ufb38'..'\ufb3c'
+    |   '\ufb3e'
+    |   '\ufb40'..'\ufb41'
+    |   '\ufb43'..'\ufb44'
+    |   '\ufb46'..'\ufbb1'
+    |   '\ufbd3'..'\ufd3d'
+    |   '\ufd50'..'\ufd8f'
+    |   '\ufd92'..'\ufdc7'
+    |   '\ufdf0'..'\ufdfc'
+    |   '\ufe33'..'\ufe34'
+    |   '\ufe4d'..'\ufe4f'
+    |   '\ufe69'
+    |   '\ufe70'..'\ufe74'
+    |   '\ufe76'..'\ufefc'
+    |   '\uff04'
+    |   '\uff21'..'\uff3a'
+    |   '\uff3f'
+    |   '\uff41'..'\uff5a'
+    |   '\uff65'..'\uffbe'
+    |   '\uffc2'..'\uffc7'
+    |   '\uffca'..'\uffcf'
+    |   '\uffd2'..'\uffd7'
+    |   '\uffda'..'\uffdc'
+    |   '\uffe0'..'\uffe1'
+    |   '\uffe5'..'\uffe6'
+// UTF-16:    |   ('\ud800'..'\udbff') ('\udc00'..'\udfff') 
+    ;                
+                       
+fragment 
+IdentifierPart
+    :   '\u0000'..'\u0008'
+    |   '\u000e'..'\u001b'
+    |   '\u0024'
+    |   '\u0030'..'\u0039'
+    |   '\u0041'..'\u005a'
+    |   '\u005f'
+    |   '\u0061'..'\u007a'
+    |   '\u007f'..'\u009f'
+    |   '\u00a2'..'\u00a5'
+    |   '\u00aa'
+    |   '\u00ad'
+    |   '\u00b5'
+    |   '\u00ba'
+    |   '\u00c0'..'\u00d6'
+    |   '\u00d8'..'\u00f6'
+    |   '\u00f8'..'\u0236'
+    |   '\u0250'..'\u02c1'
+    |   '\u02c6'..'\u02d1'
+    |   '\u02e0'..'\u02e4'
+    |   '\u02ee'
+    |   '\u0300'..'\u0357'
+    |   '\u035d'..'\u036f'
+    |   '\u037a'
+    |   '\u0386'
+    |   '\u0388'..'\u038a'
+    |   '\u038c'
+    |   '\u038e'..'\u03a1'
+    |   '\u03a3'..'\u03ce'
+    |   '\u03d0'..'\u03f5'
+    |   '\u03f7'..'\u03fb'
+    |   '\u0400'..'\u0481'
+    |   '\u0483'..'\u0486'
+    |   '\u048a'..'\u04ce'
+    |   '\u04d0'..'\u04f5'
+    |   '\u04f8'..'\u04f9'
+    |   '\u0500'..'\u050f'
+    |   '\u0531'..'\u0556'
+    |   '\u0559'
+    |   '\u0561'..'\u0587'
+    |   '\u0591'..'\u05a1'
+    |   '\u05a3'..'\u05b9'
+    |   '\u05bb'..'\u05bd'
+    |   '\u05bf'
+    |   '\u05c1'..'\u05c2'
+    |   '\u05c4'
+    |   '\u05d0'..'\u05ea'
+    |   '\u05f0'..'\u05f2'
+    |   '\u0600'..'\u0603'
+    |   '\u0610'..'\u0615'
+    |   '\u0621'..'\u063a'
+    |   '\u0640'..'\u0658'
+    |   '\u0660'..'\u0669'
+    |   '\u066e'..'\u06d3'
+    |   '\u06d5'..'\u06dd'
+    |   '\u06df'..'\u06e8'
+    |   '\u06ea'..'\u06fc'
+    |   '\u06ff'
+    |   '\u070f'..'\u074a'
+    |   '\u074d'..'\u074f'
+    |   '\u0780'..'\u07b1'
+    |   '\u0901'..'\u0939'
+    |   '\u093c'..'\u094d'
+    |   '\u0950'..'\u0954'
+    |   '\u0958'..'\u0963'
+    |   '\u0966'..'\u096f'
+    |   '\u0981'..'\u0983'
+    |   '\u0985'..'\u098c'
+    |   '\u098f'..'\u0990'
+    |   '\u0993'..'\u09a8'
+    |   '\u09aa'..'\u09b0'
+    |   '\u09b2'
+    |   '\u09b6'..'\u09b9'
+    |   '\u09bc'..'\u09c4'
+    |   '\u09c7'..'\u09c8'
+    |   '\u09cb'..'\u09cd'
+    |   '\u09d7'
+    |   '\u09dc'..'\u09dd'
+    |   '\u09df'..'\u09e3'
+    |   '\u09e6'..'\u09f3'
+    |   '\u0a01'..'\u0a03'
+    |   '\u0a05'..'\u0a0a'
+    |   '\u0a0f'..'\u0a10'
+    |   '\u0a13'..'\u0a28'
+    |   '\u0a2a'..'\u0a30'
+    |   '\u0a32'..'\u0a33'
+    |   '\u0a35'..'\u0a36'
+    |   '\u0a38'..'\u0a39'
+    |   '\u0a3c'
+    |   '\u0a3e'..'\u0a42'
+    |   '\u0a47'..'\u0a48'
+    |   '\u0a4b'..'\u0a4d'
+    |   '\u0a59'..'\u0a5c'
+    |   '\u0a5e'
+    |   '\u0a66'..'\u0a74'
+    |   '\u0a81'..'\u0a83'
+    |   '\u0a85'..'\u0a8d'
+    |   '\u0a8f'..'\u0a91'
+    |   '\u0a93'..'\u0aa8'
+    |   '\u0aaa'..'\u0ab0'
+    |   '\u0ab2'..'\u0ab3'
+    |   '\u0ab5'..'\u0ab9'
+    |   '\u0abc'..'\u0ac5'
+    |   '\u0ac7'..'\u0ac9'
+    |   '\u0acb'..'\u0acd'
+    |   '\u0ad0'
+    |   '\u0ae0'..'\u0ae3'
+    |   '\u0ae6'..'\u0aef'
+    |   '\u0af1'
+    |   '\u0b01'..'\u0b03'
+    |   '\u0b05'..'\u0b0c'        
+    |   '\u0b0f'..'\u0b10'
+    |   '\u0b13'..'\u0b28'
+    |   '\u0b2a'..'\u0b30'
+    |   '\u0b32'..'\u0b33'
+    |   '\u0b35'..'\u0b39'
+    |   '\u0b3c'..'\u0b43'
+    |   '\u0b47'..'\u0b48'
+    |   '\u0b4b'..'\u0b4d'
+    |   '\u0b56'..'\u0b57'
+    |   '\u0b5c'..'\u0b5d'
+    |   '\u0b5f'..'\u0b61'
+    |   '\u0b66'..'\u0b6f'
+    |   '\u0b71'
+    |   '\u0b82'..'\u0b83'
+    |   '\u0b85'..'\u0b8a'
+    |   '\u0b8e'..'\u0b90'
+    |   '\u0b92'..'\u0b95'
+    |   '\u0b99'..'\u0b9a'
+    |   '\u0b9c'
+    |   '\u0b9e'..'\u0b9f'
+    |   '\u0ba3'..'\u0ba4'
+    |   '\u0ba8'..'\u0baa'
+    |   '\u0bae'..'\u0bb5'
+    |   '\u0bb7'..'\u0bb9'
+    |   '\u0bbe'..'\u0bc2'
+    |   '\u0bc6'..'\u0bc8'
+    |   '\u0bca'..'\u0bcd'
+    |   '\u0bd7'
+    |   '\u0be7'..'\u0bef'
+    |   '\u0bf9'
+    |   '\u0c01'..'\u0c03'
+    |   '\u0c05'..'\u0c0c'
+    |   '\u0c0e'..'\u0c10'
+    |   '\u0c12'..'\u0c28'
+    |   '\u0c2a'..'\u0c33'
+    |   '\u0c35'..'\u0c39'
+    |   '\u0c3e'..'\u0c44'
+    |   '\u0c46'..'\u0c48'
+    |   '\u0c4a'..'\u0c4d'
+    |   '\u0c55'..'\u0c56'
+    |   '\u0c60'..'\u0c61'
+    |   '\u0c66'..'\u0c6f'        
+    |   '\u0c82'..'\u0c83'
+    |   '\u0c85'..'\u0c8c'
+    |   '\u0c8e'..'\u0c90'
+    |   '\u0c92'..'\u0ca8'
+    |   '\u0caa'..'\u0cb3'
+    |   '\u0cb5'..'\u0cb9'
+    |   '\u0cbc'..'\u0cc4'
+    |   '\u0cc6'..'\u0cc8'
+    |   '\u0cca'..'\u0ccd'
+    |   '\u0cd5'..'\u0cd6'
+    |   '\u0cde'
+    |   '\u0ce0'..'\u0ce1'
+    |   '\u0ce6'..'\u0cef'
+    |   '\u0d02'..'\u0d03'
+    |   '\u0d05'..'\u0d0c'
+    |   '\u0d0e'..'\u0d10'
+    |   '\u0d12'..'\u0d28'
+    |   '\u0d2a'..'\u0d39'
+    |   '\u0d3e'..'\u0d43'
+    |   '\u0d46'..'\u0d48'
+    |   '\u0d4a'..'\u0d4d'
+    |   '\u0d57'
+    |   '\u0d60'..'\u0d61'
+    |   '\u0d66'..'\u0d6f'
+    |   '\u0d82'..'\u0d83'
+    |   '\u0d85'..'\u0d96'
+    |   '\u0d9a'..'\u0db1'
+    |   '\u0db3'..'\u0dbb'
+    |   '\u0dbd'
+    |   '\u0dc0'..'\u0dc6'
+    |   '\u0dca'
+    |   '\u0dcf'..'\u0dd4'
+    |   '\u0dd6'
+    |   '\u0dd8'..'\u0ddf'
+    |   '\u0df2'..'\u0df3'
+    |   '\u0e01'..'\u0e3a'
+    |   '\u0e3f'..'\u0e4e'
+    |   '\u0e50'..'\u0e59'
+    |   '\u0e81'..'\u0e82'
+    |   '\u0e84'
+    |   '\u0e87'..'\u0e88'        
+    |   '\u0e8a'
+    |   '\u0e8d'
+    |   '\u0e94'..'\u0e97'
+    |   '\u0e99'..'\u0e9f'
+    |   '\u0ea1'..'\u0ea3'
+    |   '\u0ea5'
+    |   '\u0ea7'
+    |   '\u0eaa'..'\u0eab'
+    |   '\u0ead'..'\u0eb9'
+    |   '\u0ebb'..'\u0ebd'
+    |   '\u0ec0'..'\u0ec4'
+    |   '\u0ec6'
+    |   '\u0ec8'..'\u0ecd'
+    |   '\u0ed0'..'\u0ed9'
+    |   '\u0edc'..'\u0edd'
+    |   '\u0f00'
+    |   '\u0f18'..'\u0f19'
+    |   '\u0f20'..'\u0f29'
+    |   '\u0f35'
+    |   '\u0f37'
+    |   '\u0f39'
+    |   '\u0f3e'..'\u0f47'
+    |   '\u0f49'..'\u0f6a'
+    |   '\u0f71'..'\u0f84'
+    |   '\u0f86'..'\u0f8b'
+    |   '\u0f90'..'\u0f97'
+    |   '\u0f99'..'\u0fbc'
+    |   '\u0fc6'
+    |   '\u1000'..'\u1021'
+    |   '\u1023'..'\u1027'
+    |   '\u1029'..'\u102a'
+    |   '\u102c'..'\u1032'
+    |   '\u1036'..'\u1039'
+    |   '\u1040'..'\u1049'
+    |   '\u1050'..'\u1059'
+    |   '\u10a0'..'\u10c5'
+    |   '\u10d0'..'\u10f8'
+    |   '\u1100'..'\u1159'
+    |   '\u115f'..'\u11a2'
+    |   '\u11a8'..'\u11f9'
+    |   '\u1200'..'\u1206'        
+    |   '\u1208'..'\u1246'
+    |   '\u1248'
+    |   '\u124a'..'\u124d'
+    |   '\u1250'..'\u1256'
+    |   '\u1258'
+    |   '\u125a'..'\u125d'
+    |   '\u1260'..'\u1286'
+    |   '\u1288'        
+    |   '\u128a'..'\u128d'
+    |   '\u1290'..'\u12ae'
+    |   '\u12b0'
+    |   '\u12b2'..'\u12b5'
+    |   '\u12b8'..'\u12be'
+    |   '\u12c0'
+    |   '\u12c2'..'\u12c5'
+    |   '\u12c8'..'\u12ce'
+    |   '\u12d0'..'\u12d6'
+    |   '\u12d8'..'\u12ee'
+    |   '\u12f0'..'\u130e'
+    |   '\u1310'
+    |   '\u1312'..'\u1315'
+    |   '\u1318'..'\u131e'
+    |   '\u1320'..'\u1346'
+    |   '\u1348'..'\u135a'
+    |   '\u1369'..'\u1371'
+    |   '\u13a0'..'\u13f4'
+    |   '\u1401'..'\u166c'
+    |   '\u166f'..'\u1676'
+    |   '\u1681'..'\u169a'
+    |   '\u16a0'..'\u16ea'
+    |   '\u16ee'..'\u16f0'
+    |   '\u1700'..'\u170c'
+    |   '\u170e'..'\u1714'
+    |   '\u1720'..'\u1734'
+    |   '\u1740'..'\u1753'
+    |   '\u1760'..'\u176c'
+    |   '\u176e'..'\u1770'
+    |   '\u1772'..'\u1773'
+    |   '\u1780'..'\u17d3'
+    |   '\u17d7'
+    |   '\u17db'..'\u17dd'
+    |   '\u17e0'..'\u17e9'
+    |   '\u180b'..'\u180d'
+    |   '\u1810'..'\u1819'
+    |   '\u1820'..'\u1877'
+    |   '\u1880'..'\u18a9'
+    |   '\u1900'..'\u191c'
+    |   '\u1920'..'\u192b'
+    |   '\u1930'..'\u193b'
+    |   '\u1946'..'\u196d'
+    |   '\u1970'..'\u1974'
+    |   '\u1d00'..'\u1d6b'
+    |   '\u1e00'..'\u1e9b'
+    |   '\u1ea0'..'\u1ef9'
+    |   '\u1f00'..'\u1f15'
+    |   '\u1f18'..'\u1f1d'
+    |   '\u1f20'..'\u1f45'
+    |   '\u1f48'..'\u1f4d'
+    |   '\u1f50'..'\u1f57'
+    |   '\u1f59'
+    |   '\u1f5b'
+    |   '\u1f5d'
+    |   '\u1f5f'..'\u1f7d'
+    |   '\u1f80'..'\u1fb4'
+    |   '\u1fb6'..'\u1fbc'        
+    |   '\u1fbe'
+    |   '\u1fc2'..'\u1fc4'
+    |   '\u1fc6'..'\u1fcc'
+    |   '\u1fd0'..'\u1fd3'
+    |   '\u1fd6'..'\u1fdb'
+    |   '\u1fe0'..'\u1fec'
+    |   '\u1ff2'..'\u1ff4'
+    |   '\u1ff6'..'\u1ffc'
+    |   '\u200c'..'\u200f'
+    |   '\u202a'..'\u202e'
+    |   '\u203f'..'\u2040'
+    |   '\u2054'
+    |   '\u2060'..'\u2063'
+    |   '\u206a'..'\u206f'
+    |   '\u2071'
+    |   '\u207f'
+    |   '\u20a0'..'\u20b1'
+    |   '\u20d0'..'\u20dc'
+    |   '\u20e1'
+    |   '\u20e5'..'\u20ea'
+    |   '\u2102'
+    |   '\u2107'
+    |   '\u210a'..'\u2113'
+    |   '\u2115'
+    |   '\u2119'..'\u211d'
+    |   '\u2124'
+    |   '\u2126'
+    |   '\u2128'
+    |   '\u212a'..'\u212d'
+    |   '\u212f'..'\u2131'
+    |   '\u2133'..'\u2139'
+    |   '\u213d'..'\u213f'
+    |   '\u2145'..'\u2149'
+    |   '\u2160'..'\u2183'
+    |   '\u3005'..'\u3007'
+    |   '\u3021'..'\u302f'        
+    |   '\u3031'..'\u3035'
+    |   '\u3038'..'\u303c'
+    |   '\u3041'..'\u3096'
+    |   '\u3099'..'\u309a'
+    |   '\u309d'..'\u309f'
+    |   '\u30a1'..'\u30ff'
+    |   '\u3105'..'\u312c'
+    |   '\u3131'..'\u318e'
+    |   '\u31a0'..'\u31b7'
+    |   '\u31f0'..'\u31ff'
+    |   '\u3400'..'\u4db5'
+    |   '\u4e00'..'\u9fa5'
+    |   '\ua000'..'\ua48c'
+    |   '\uac00'..'\ud7a3'
+    |   '\uf900'..'\ufa2d'
+    |   '\ufa30'..'\ufa6a'
+    |   '\ufb00'..'\ufb06'
+    |   '\ufb13'..'\ufb17'
+    |   '\ufb1d'..'\ufb28'
+    |   '\ufb2a'..'\ufb36'
+    |   '\ufb38'..'\ufb3c'
+    |   '\ufb3e'
+    |   '\ufb40'..'\ufb41'
+    |   '\ufb43'..'\ufb44'
+    |   '\ufb46'..'\ufbb1'
+    |   '\ufbd3'..'\ufd3d'
+    |   '\ufd50'..'\ufd8f'
+    |   '\ufd92'..'\ufdc7'
+    |   '\ufdf0'..'\ufdfc'
+    |   '\ufe00'..'\ufe0f'
+    |   '\ufe20'..'\ufe23'
+    |   '\ufe33'..'\ufe34'
+    |   '\ufe4d'..'\ufe4f'
+    |   '\ufe69'
+    |   '\ufe70'..'\ufe74'
+    |   '\ufe76'..'\ufefc'
+    |   '\ufeff'
+    |   '\uff04'
+    |   '\uff10'..'\uff19'
+    |   '\uff21'..'\uff3a'
+    |   '\uff3f'
+    |   '\uff41'..'\uff5a'
+    |   '\uff65'..'\uffbe'
+    |   '\uffc2'..'\uffc7'
+    |   '\uffca'..'\uffcf'
+    |   '\uffd2'..'\uffd7'
+    |   '\uffda'..'\uffdc'
+    |   '\uffe0'..'\uffe1'
+    |   '\uffe5'..'\uffe6'
+    |   '\ufff9'..'\ufffb' 
+// UTF-16    |   ('\ud800'..'\udbff') ('\udc00'..'\udfff')
+    ;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/dsl/DSLMap.g
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/dsl/DSLMap.g	2009-05-01 15:34:54 UTC (rev 26331)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/dsl/DSLMap.g	2009-05-01 16:54:28 UTC (rev 26332)
@@ -332,12 +332,401 @@
 //	;
 
 LITERAL	
-	:	('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\u00c0'..'\u00ff'|MISC|EscapeSequence|DOT)+
+	:	(IdentifierPart|MISC|EscapeSequence|DOT)+
 	;
 
 fragment		
 MISC 	:
-		'>'|'<'|'!' | '@' | '$' | '%' | '^' | '*' | '-' | '+'  | '?' | COMMA | '/' | '\'' | '"' | '|' | '&' | '(' | ')' | ';'
+		'>'|'<'|'!' | '@' | '%' | '^' | '*' | '-' | '+'  | '?' | COMMA | '/' | '\'' | '"' | '|' | '&' | '(' | ')' | ';'
 	;
 
 
+fragment 
+IdentifierPart
+    :   '\u0000'..'\u0008'
+    |   '\u000e'..'\u001b'
+    |   '\u0024'
+    |   '\u0030'..'\u0039'
+    |   '\u0041'..'\u005a'
+    |   '\u005f'
+    |   '\u0061'..'\u007a'
+    |   '\u007f'..'\u009f'
+    |   '\u00a2'..'\u00a5'
+    |   '\u00aa'
+    |   '\u00ad'
+    |   '\u00b5'
+    |   '\u00ba'
+    |   '\u00c0'..'\u00d6'
+    |   '\u00d8'..'\u00f6'
+    |   '\u00f8'..'\u0236'
+    |   '\u0250'..'\u02c1'
+    |   '\u02c6'..'\u02d1'
+    |   '\u02e0'..'\u02e4'
+    |   '\u02ee'
+    |   '\u0300'..'\u0357'
+    |   '\u035d'..'\u036f'
+    |   '\u037a'
+    |   '\u0386'
+    |   '\u0388'..'\u038a'
+    |   '\u038c'
+    |   '\u038e'..'\u03a1'
+    |   '\u03a3'..'\u03ce'
+    |   '\u03d0'..'\u03f5'
+    |   '\u03f7'..'\u03fb'
+    |   '\u0400'..'\u0481'
+    |   '\u0483'..'\u0486'
+    |   '\u048a'..'\u04ce'
+    |   '\u04d0'..'\u04f5'
+    |   '\u04f8'..'\u04f9'
+    |   '\u0500'..'\u050f'
+    |   '\u0531'..'\u0556'
+    |   '\u0559'
+    |   '\u0561'..'\u0587'
+    |   '\u0591'..'\u05a1'
+    |   '\u05a3'..'\u05b9'
+    |   '\u05bb'..'\u05bd'
+    |   '\u05bf'
+    |   '\u05c1'..'\u05c2'
+    |   '\u05c4'
+    |   '\u05d0'..'\u05ea'
+    |   '\u05f0'..'\u05f2'
+    |   '\u0600'..'\u0603'
+    |   '\u0610'..'\u0615'
+    |   '\u0621'..'\u063a'
+    |   '\u0640'..'\u0658'
+    |   '\u0660'..'\u0669'
+    |   '\u066e'..'\u06d3'
+    |   '\u06d5'..'\u06dd'
+    |   '\u06df'..'\u06e8'
+    |   '\u06ea'..'\u06fc'
+    |   '\u06ff'
+    |   '\u070f'..'\u074a'
+    |   '\u074d'..'\u074f'
+    |   '\u0780'..'\u07b1'
+    |   '\u0901'..'\u0939'
+    |   '\u093c'..'\u094d'
+    |   '\u0950'..'\u0954'
+    |   '\u0958'..'\u0963'
+    |   '\u0966'..'\u096f'
+    |   '\u0981'..'\u0983'
+    |   '\u0985'..'\u098c'
+    |   '\u098f'..'\u0990'
+    |   '\u0993'..'\u09a8'
+    |   '\u09aa'..'\u09b0'
+    |   '\u09b2'
+    |   '\u09b6'..'\u09b9'
+    |   '\u09bc'..'\u09c4'
+    |   '\u09c7'..'\u09c8'
+    |   '\u09cb'..'\u09cd'
+    |   '\u09d7'
+    |   '\u09dc'..'\u09dd'
+    |   '\u09df'..'\u09e3'
+    |   '\u09e6'..'\u09f3'
+    |   '\u0a01'..'\u0a03'
+    |   '\u0a05'..'\u0a0a'
+    |   '\u0a0f'..'\u0a10'
+    |   '\u0a13'..'\u0a28'
+    |   '\u0a2a'..'\u0a30'
+    |   '\u0a32'..'\u0a33'
+    |   '\u0a35'..'\u0a36'
+    |   '\u0a38'..'\u0a39'
+    |   '\u0a3c'
+    |   '\u0a3e'..'\u0a42'
+    |   '\u0a47'..'\u0a48'
+    |   '\u0a4b'..'\u0a4d'
+    |   '\u0a59'..'\u0a5c'
+    |   '\u0a5e'
+    |   '\u0a66'..'\u0a74'
+    |   '\u0a81'..'\u0a83'
+    |   '\u0a85'..'\u0a8d'
+    |   '\u0a8f'..'\u0a91'
+    |   '\u0a93'..'\u0aa8'
+    |   '\u0aaa'..'\u0ab0'
+    |   '\u0ab2'..'\u0ab3'
+    |   '\u0ab5'..'\u0ab9'
+    |   '\u0abc'..'\u0ac5'
+    |   '\u0ac7'..'\u0ac9'
+    |   '\u0acb'..'\u0acd'
+    |   '\u0ad0'
+    |   '\u0ae0'..'\u0ae3'
+    |   '\u0ae6'..'\u0aef'
+    |   '\u0af1'
+    |   '\u0b01'..'\u0b03'
+    |   '\u0b05'..'\u0b0c'        
+    |   '\u0b0f'..'\u0b10'
+    |   '\u0b13'..'\u0b28'
+    |   '\u0b2a'..'\u0b30'
+    |   '\u0b32'..'\u0b33'
+    |   '\u0b35'..'\u0b39'
+    |   '\u0b3c'..'\u0b43'
+    |   '\u0b47'..'\u0b48'
+    |   '\u0b4b'..'\u0b4d'
+    |   '\u0b56'..'\u0b57'
+    |   '\u0b5c'..'\u0b5d'
+    |   '\u0b5f'..'\u0b61'
+    |   '\u0b66'..'\u0b6f'
+    |   '\u0b71'
+    |   '\u0b82'..'\u0b83'
+    |   '\u0b85'..'\u0b8a'
+    |   '\u0b8e'..'\u0b90'
+    |   '\u0b92'..'\u0b95'
+    |   '\u0b99'..'\u0b9a'
+    |   '\u0b9c'
+    |   '\u0b9e'..'\u0b9f'
+    |   '\u0ba3'..'\u0ba4'
+    |   '\u0ba8'..'\u0baa'
+    |   '\u0bae'..'\u0bb5'
+    |   '\u0bb7'..'\u0bb9'
+    |   '\u0bbe'..'\u0bc2'
+    |   '\u0bc6'..'\u0bc8'
+    |   '\u0bca'..'\u0bcd'
+    |   '\u0bd7'
+    |   '\u0be7'..'\u0bef'
+    |   '\u0bf9'
+    |   '\u0c01'..'\u0c03'
+    |   '\u0c05'..'\u0c0c'
+    |   '\u0c0e'..'\u0c10'
+    |   '\u0c12'..'\u0c28'
+    |   '\u0c2a'..'\u0c33'
+    |   '\u0c35'..'\u0c39'
+    |   '\u0c3e'..'\u0c44'
+    |   '\u0c46'..'\u0c48'
+    |   '\u0c4a'..'\u0c4d'
+    |   '\u0c55'..'\u0c56'
+    |   '\u0c60'..'\u0c61'
+    |   '\u0c66'..'\u0c6f'        
+    |   '\u0c82'..'\u0c83'
+    |   '\u0c85'..'\u0c8c'
+    |   '\u0c8e'..'\u0c90'
+    |   '\u0c92'..'\u0ca8'
+    |   '\u0caa'..'\u0cb3'
+    |   '\u0cb5'..'\u0cb9'
+    |   '\u0cbc'..'\u0cc4'
+    |   '\u0cc6'..'\u0cc8'
+    |   '\u0cca'..'\u0ccd'
+    |   '\u0cd5'..'\u0cd6'
+    |   '\u0cde'
+    |   '\u0ce0'..'\u0ce1'
+    |   '\u0ce6'..'\u0cef'
+    |   '\u0d02'..'\u0d03'
+    |   '\u0d05'..'\u0d0c'
+    |   '\u0d0e'..'\u0d10'
+    |   '\u0d12'..'\u0d28'
+    |   '\u0d2a'..'\u0d39'
+    |   '\u0d3e'..'\u0d43'
+    |   '\u0d46'..'\u0d48'
+    |   '\u0d4a'..'\u0d4d'
+    |   '\u0d57'
+    |   '\u0d60'..'\u0d61'
+    |   '\u0d66'..'\u0d6f'
+    |   '\u0d82'..'\u0d83'
+    |   '\u0d85'..'\u0d96'
+    |   '\u0d9a'..'\u0db1'
+    |   '\u0db3'..'\u0dbb'
+    |   '\u0dbd'
+    |   '\u0dc0'..'\u0dc6'
+    |   '\u0dca'
+    |   '\u0dcf'..'\u0dd4'
+    |   '\u0dd6'
+    |   '\u0dd8'..'\u0ddf'
+    |   '\u0df2'..'\u0df3'
+    |   '\u0e01'..'\u0e3a'
+    |   '\u0e3f'..'\u0e4e'
+    |   '\u0e50'..'\u0e59'
+    |   '\u0e81'..'\u0e82'
+    |   '\u0e84'
+    |   '\u0e87'..'\u0e88'        
+    |   '\u0e8a'
+    |   '\u0e8d'
+    |   '\u0e94'..'\u0e97'
+    |   '\u0e99'..'\u0e9f'
+    |   '\u0ea1'..'\u0ea3'
+    |   '\u0ea5'
+    |   '\u0ea7'
+    |   '\u0eaa'..'\u0eab'
+    |   '\u0ead'..'\u0eb9'
+    |   '\u0ebb'..'\u0ebd'
+    |   '\u0ec0'..'\u0ec4'
+    |   '\u0ec6'
+    |   '\u0ec8'..'\u0ecd'
+    |   '\u0ed0'..'\u0ed9'
+    |   '\u0edc'..'\u0edd'
+    |   '\u0f00'
+    |   '\u0f18'..'\u0f19'
+    |   '\u0f20'..'\u0f29'
+    |   '\u0f35'
+    |   '\u0f37'
+    |   '\u0f39'
+    |   '\u0f3e'..'\u0f47'
+    |   '\u0f49'..'\u0f6a'
+    |   '\u0f71'..'\u0f84'
+    |   '\u0f86'..'\u0f8b'
+    |   '\u0f90'..'\u0f97'
+    |   '\u0f99'..'\u0fbc'
+    |   '\u0fc6'
+    |   '\u1000'..'\u1021'
+    |   '\u1023'..'\u1027'
+    |   '\u1029'..'\u102a'
+    |   '\u102c'..'\u1032'
+    |   '\u1036'..'\u1039'
+    |   '\u1040'..'\u1049'
+    |   '\u1050'..'\u1059'
+    |   '\u10a0'..'\u10c5'
+    |   '\u10d0'..'\u10f8'
+    |   '\u1100'..'\u1159'
+    |   '\u115f'..'\u11a2'
+    |   '\u11a8'..'\u11f9'
+    |   '\u1200'..'\u1206'        
+    |   '\u1208'..'\u1246'
+    |   '\u1248'
+    |   '\u124a'..'\u124d'
+    |   '\u1250'..'\u1256'
+    |   '\u1258'
+    |   '\u125a'..'\u125d'
+    |   '\u1260'..'\u1286'
+    |   '\u1288'        
+    |   '\u128a'..'\u128d'
+    |   '\u1290'..'\u12ae'
+    |   '\u12b0'
+    |   '\u12b2'..'\u12b5'
+    |   '\u12b8'..'\u12be'
+    |   '\u12c0'
+    |   '\u12c2'..'\u12c5'
+    |   '\u12c8'..'\u12ce'
+    |   '\u12d0'..'\u12d6'
+    |   '\u12d8'..'\u12ee'
+    |   '\u12f0'..'\u130e'
+    |   '\u1310'
+    |   '\u1312'..'\u1315'
+    |   '\u1318'..'\u131e'
+    |   '\u1320'..'\u1346'
+    |   '\u1348'..'\u135a'
+    |   '\u1369'..'\u1371'
+    |   '\u13a0'..'\u13f4'
+    |   '\u1401'..'\u166c'
+    |   '\u166f'..'\u1676'
+    |   '\u1681'..'\u169a'
+    |   '\u16a0'..'\u16ea'
+    |   '\u16ee'..'\u16f0'
+    |   '\u1700'..'\u170c'
+    |   '\u170e'..'\u1714'
+    |   '\u1720'..'\u1734'
+    |   '\u1740'..'\u1753'
+    |   '\u1760'..'\u176c'
+    |   '\u176e'..'\u1770'
+    |   '\u1772'..'\u1773'
+    |   '\u1780'..'\u17d3'
+    |   '\u17d7'
+    |   '\u17db'..'\u17dd'
+    |   '\u17e0'..'\u17e9'
+    |   '\u180b'..'\u180d'
+    |   '\u1810'..'\u1819'
+    |   '\u1820'..'\u1877'
+    |   '\u1880'..'\u18a9'
+    |   '\u1900'..'\u191c'
+    |   '\u1920'..'\u192b'
+    |   '\u1930'..'\u193b'
+    |   '\u1946'..'\u196d'
+    |   '\u1970'..'\u1974'
+    |   '\u1d00'..'\u1d6b'
+    |   '\u1e00'..'\u1e9b'
+    |   '\u1ea0'..'\u1ef9'
+    |   '\u1f00'..'\u1f15'
+    |   '\u1f18'..'\u1f1d'
+    |   '\u1f20'..'\u1f45'
+    |   '\u1f48'..'\u1f4d'
+    |   '\u1f50'..'\u1f57'
+    |   '\u1f59'
+    |   '\u1f5b'
+    |   '\u1f5d'
+    |   '\u1f5f'..'\u1f7d'
+    |   '\u1f80'..'\u1fb4'
+    |   '\u1fb6'..'\u1fbc'        
+    |   '\u1fbe'
+    |   '\u1fc2'..'\u1fc4'
+    |   '\u1fc6'..'\u1fcc'
+    |   '\u1fd0'..'\u1fd3'
+    |   '\u1fd6'..'\u1fdb'
+    |   '\u1fe0'..'\u1fec'
+    |   '\u1ff2'..'\u1ff4'
+    |   '\u1ff6'..'\u1ffc'
+    |   '\u200c'..'\u200f'
+    |   '\u202a'..'\u202e'
+    |   '\u203f'..'\u2040'
+    |   '\u2054'
+    |   '\u2060'..'\u2063'
+    |   '\u206a'..'\u206f'
+    |   '\u2071'
+    |   '\u207f'
+    |   '\u20a0'..'\u20b1'
+    |   '\u20d0'..'\u20dc'
+    |   '\u20e1'
+    |   '\u20e5'..'\u20ea'
+    |   '\u2102'
+    |   '\u2107'
+    |   '\u210a'..'\u2113'
+    |   '\u2115'
+    |   '\u2119'..'\u211d'
+    |   '\u2124'
+    |   '\u2126'
+    |   '\u2128'
+    |   '\u212a'..'\u212d'
+    |   '\u212f'..'\u2131'
+    |   '\u2133'..'\u2139'
+    |   '\u213d'..'\u213f'
+    |   '\u2145'..'\u2149'
+    |   '\u2160'..'\u2183'
+    |   '\u3005'..'\u3007'
+    |   '\u3021'..'\u302f'        
+    |   '\u3031'..'\u3035'
+    |   '\u3038'..'\u303c'
+    |   '\u3041'..'\u3096'
+    |   '\u3099'..'\u309a'
+    |   '\u309d'..'\u309f'
+    |   '\u30a1'..'\u30ff'
+    |   '\u3105'..'\u312c'
+    |   '\u3131'..'\u318e'
+    |   '\u31a0'..'\u31b7'
+    |   '\u31f0'..'\u31ff'
+    |   '\u3400'..'\u4db5'
+    |   '\u4e00'..'\u9fa5'
+    |   '\ua000'..'\ua48c'
+    |   '\uac00'..'\ud7a3'
+    |   '\uf900'..'\ufa2d'
+    |   '\ufa30'..'\ufa6a'
+    |   '\ufb00'..'\ufb06'
+    |   '\ufb13'..'\ufb17'
+    |   '\ufb1d'..'\ufb28'
+    |   '\ufb2a'..'\ufb36'
+    |   '\ufb38'..'\ufb3c'
+    |   '\ufb3e'
+    |   '\ufb40'..'\ufb41'
+    |   '\ufb43'..'\ufb44'
+    |   '\ufb46'..'\ufbb1'
+    |   '\ufbd3'..'\ufd3d'
+    |   '\ufd50'..'\ufd8f'
+    |   '\ufd92'..'\ufdc7'
+    |   '\ufdf0'..'\ufdfc'
+    |   '\ufe00'..'\ufe0f'
+    |   '\ufe20'..'\ufe23'
+    |   '\ufe33'..'\ufe34'
+    |   '\ufe4d'..'\ufe4f'
+    |   '\ufe69'
+    |   '\ufe70'..'\ufe74'
+    |   '\ufe76'..'\ufefc'
+    |   '\ufeff'
+    |   '\uff04'
+    |   '\uff10'..'\uff19'
+    |   '\uff21'..'\uff3a'
+    |   '\uff3f'
+    |   '\uff41'..'\uff5a'
+    |   '\uff65'..'\uffbe'
+    |   '\uffc2'..'\uffc7'
+    |   '\uffca'..'\uffcf'
+    |   '\uffd2'..'\uffd7'
+    |   '\uffda'..'\uffdc'
+    |   '\uffe0'..'\uffe1'
+    |   '\uffe5'..'\uffe6'
+    |   '\ufff9'..'\ufffb' 
+// UTF-16    |   ('\ud800'..'\udbff') ('\udc00'..'\udfff')
+    ;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g	2009-05-01 15:34:54 UTC (rev 26331)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g	2009-05-01 16:54:28 UTC (rev 26332)
@@ -1077,7 +1077,8 @@
        '\u0d66'..'\u0d6f' |
        '\u0e50'..'\u0e59' |
        '\u0ed0'..'\u0ed9' |
-       '\u1040'..'\u1049'
+       '\u1040'..'\u1049' 
+    |   '\uff10'..'\uff19'
    ;
 
 WS  :  (' '|'\r'|'\t'|'\u000C'|'\n') {$channel=HIDDEN;}

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/Tree2TestDRL.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/Tree2TestDRL.java	2009-05-01 15:34:54 UTC (rev 26331)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/Tree2TestDRL.java	2009-05-01 16:54:28 UTC (rev 26332)
@@ -1,4 +1,4 @@
-// $ANTLR 3.1.1 src/main/resources/org/drools/lang/Tree2TestDRL.g 2009-04-09 16:58:55
+// $ANTLR 3.1.1 src/main/resources/org/drools/lang/Tree2TestDRL.g 2009-05-01 12:52:49
 
 	package org.drools.lang;
 
@@ -10,7 +10,7 @@
 
 public class Tree2TestDRL extends TreeParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "VT_COMPILATION_UNIT", "VT_FUNCTION_IMPORT", "VT_FACT", "VT_CONSTRAINTS", "VT_LABEL", "VT_QUERY_ID", "VT_TEMPLATE_ID", "VT_TYPE_DECLARE_ID", "VT_RULE_ID", "VT_ENTRYPOINT_ID", "VT_SLOT_ID", "VT_SLOT", "VT_RULE_ATTRIBUTES", "VT_RHS_CHUNK", "VT_CURLY_CHUNK", "VT_SQUARE_CHUNK", "VT_PAREN_CHUNK", "VT_BEHAVIOR", "VT_AND_IMPLICIT", "VT_AND_PREFIX", "VT_OR_PREFIX", "VT_AND_INFIX", "VT_OR_INFIX", "VT_ACCUMULATE_INIT_CLAUSE", "VT_ACCUMULATE_ID_CLAUSE", "VT_FROM_SOURCE", "VT_EXPRESSION_CHAIN", "VT_PATTERN", "VT_FACT_BINDING", "VT_FACT_OR", "VT_BIND_FIELD", "VT_FIELD", "VT_ACCESSOR_PATH", "VT_ACCESSOR_ELEMENT", "VT_DATA_TYPE", "VT_PATTERN_TYPE", "VT_PACKAGE_ID", "VT_IMPORT_ID", "VT_GLOBAL_ID", "VT_FUNCTION_ID", "VT_PARAM_LIST", "VK_DATE_EFFECTIVE", "VK_DATE_EXPIRES", "VK_LOCK_ON_ACTIVE", "VK_NO_LOOP", "VK_AUTO_FOCUS", "VK_ACTIVATION_GROUP", "VK_AGENDA_GROUP", "VK_RULEFLOW_GROUP", "VK_DURATION", "VK_DIALECT", "VK_SALIENCE", "VK_ENABLED", "!
 VK_ATTRIBUTES", "VK_RULE", "VK_EXTEND", "VK_IMPORT", "VK_PACKAGE", "VK_TEMPLATE", "VK_QUERY", "VK_DECLARE", "VK_FUNCTION", "VK_GLOBAL", "VK_EVAL", "VK_ENTRY_POINT", "VK_NOT", "VK_IN", "VK_OR", "VK_AND", "VK_EXISTS", "VK_FORALL", "VK_ACTION", "VK_REVERSE", "VK_RESULT", "VK_OPERATOR", "VK_END", "VK_INIT", "SEMICOLON", "ID", "DOT", "DOT_STAR", "STRING", "LEFT_PAREN", "COMMA", "RIGHT_PAREN", "AT", "COLON", "EQUALS", "WHEN", "BOOL", "INT", "DOUBLE_PIPE", "DOUBLE_AMPER", "FROM", "OVER", "ACCUMULATE", "COLLECT", "ARROW", "EQUAL", "GREATER", "GREATER_EQUAL", "LESS", "LESS_EQUAL", "NOT_EQUAL", "FLOAT", "NULL", "LEFT_SQUARE", "RIGHT_SQUARE", "THEN", "LEFT_CURLY", "RIGHT_CURLY", "MISC", "EOL", "WS", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "VT_COMPILATION_UNIT", "VT_FUNCTION_IMPORT", "VT_FACT", "VT_CONSTRAINTS", "VT_LABEL", "VT_QUERY_ID", "VT_TEMPLATE_ID", "VT_TYPE_DECLARE_ID", "VT_RULE_ID", "VT_ENTRYPOINT_ID", "VT_SLOT_ID", "VT_SLOT", "VT_RULE_ATTRIBUTES", "VT_RHS_CHUNK", "VT_CURLY_CHUNK", "VT_SQUARE_CHUNK", "VT_PAREN_CHUNK", "VT_BEHAVIOR", "VT_AND_IMPLICIT", "VT_AND_PREFIX", "VT_OR_PREFIX", "VT_AND_INFIX", "VT_OR_INFIX", "VT_ACCUMULATE_INIT_CLAUSE", "VT_ACCUMULATE_ID_CLAUSE", "VT_FROM_SOURCE", "VT_EXPRESSION_CHAIN", "VT_PATTERN", "VT_FACT_BINDING", "VT_FACT_OR", "VT_BIND_FIELD", "VT_FIELD", "VT_ACCESSOR_PATH", "VT_ACCESSOR_ELEMENT", "VT_DATA_TYPE", "VT_PATTERN_TYPE", "VT_PACKAGE_ID", "VT_IMPORT_ID", "VT_GLOBAL_ID", "VT_FUNCTION_ID", "VT_PARAM_LIST", "VK_DATE_EFFECTIVE", "VK_DATE_EXPIRES", "VK_LOCK_ON_ACTIVE", "VK_NO_LOOP", "VK_AUTO_FOCUS", "VK_ACTIVATION_GROUP", "VK_AGENDA_GROUP", "VK_RULEFLOW_GROUP", "VK_DURATION", "VK_DIALECT", "VK_SALIENCE", "VK_ENABLED", "!
 VK_ATTRIBUTES", "VK_RULE", "VK_EXTEND", "VK_IMPORT", "VK_PACKAGE", "VK_TEMPLATE", "VK_QUERY", "VK_DECLARE", "VK_FUNCTION", "VK_GLOBAL", "VK_EVAL", "VK_ENTRY_POINT", "VK_NOT", "VK_IN", "VK_OR", "VK_AND", "VK_EXISTS", "VK_FORALL", "VK_ACTION", "VK_REVERSE", "VK_RESULT", "VK_OPERATOR", "VK_END", "VK_INIT", "SEMICOLON", "ID", "DOT", "DOT_STAR", "STRING", "LEFT_PAREN", "COMMA", "RIGHT_PAREN", "AT", "COLON", "EQUALS", "WHEN", "BOOL", "INT", "DOUBLE_PIPE", "DOUBLE_AMPER", "FROM", "OVER", "ACCUMULATE", "COLLECT", "ARROW", "EQUAL", "GREATER", "GREATER_EQUAL", "LESS", "LESS_EQUAL", "NOT_EQUAL", "FLOAT", "NULL", "LEFT_SQUARE", "RIGHT_SQUARE", "THEN", "LEFT_CURLY", "RIGHT_CURLY", "MISC", "EOL", "WS", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT", "IdentifierStart", "IdentifierPart"
     };
     public static final int COMMA=87;
     public static final int VT_PATTERN_TYPE=39;
@@ -37,6 +37,7 @@
     public static final int AT=89;
     public static final int LEFT_PAREN=86;
     public static final int DOUBLE_AMPER=96;
+    public static final int IdentifierPart=126;
     public static final int VT_QUERY_ID=9;
     public static final int VT_ACCESSOR_PATH=36;
     public static final int VT_LABEL=8;
@@ -49,9 +50,9 @@
     public static final int STRING=85;
     public static final int VK_AND=72;
     public static final int VT_ACCESSOR_ELEMENT=37;
-    public static final int VK_REVERSE=76;
     public static final int VK_GLOBAL=66;
     public static final int VT_ACCUMULATE_INIT_CLAUSE=27;
+    public static final int VK_REVERSE=76;
     public static final int VT_BEHAVIOR=21;
     public static final int VK_DURATION=53;
     public static final int VT_SQUARE_CHUNK=19;
@@ -67,6 +68,7 @@
     public static final int VT_RULE_ID=12;
     public static final int EQUAL=102;
     public static final int VK_NO_LOOP=48;
+    public static final int IdentifierStart=125;
     public static final int SEMICOLON=81;
     public static final int VK_TEMPLATE=62;
     public static final int VT_AND_IMPLICIT=22;




More information about the jboss-svn-commits mailing list