quickstep-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jianq...@apache.org
Subject [2/3] incubator-quickstep git commit: Minor bug fixes and refactors.
Date Wed, 09 May 2018 21:20:04 GMT
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/42588d43/parser/preprocessed/SqlParser_gen.cpp
----------------------------------------------------------------------
diff --git a/parser/preprocessed/SqlParser_gen.cpp b/parser/preprocessed/SqlParser_gen.cpp
index 9b77875..3292904 100644
--- a/parser/preprocessed/SqlParser_gen.cpp
+++ b/parser/preprocessed/SqlParser_gen.cpp
@@ -221,15 +221,15 @@ extern int quickstep_yydebug;
     TOKEN_BLOCKPROPERTIES = 288,
     TOKEN_BLOCKSAMPLE = 289,
     TOKEN_BLOOM_FILTER = 290,
-    TOKEN_CSB_TREE = 291,
-    TOKEN_BY = 292,
-    TOKEN_CASE = 293,
-    TOKEN_CHARACTER = 294,
-    TOKEN_CHECK = 295,
-    TOKEN_COLUMN = 296,
-    TOKEN_CONSTRAINT = 297,
-    TOKEN_COPY = 298,
-    TOKEN_CREATE = 299,
+    TOKEN_BY = 291,
+    TOKEN_CASE = 292,
+    TOKEN_CHARACTER = 293,
+    TOKEN_CHECK = 294,
+    TOKEN_COLUMN = 295,
+    TOKEN_CONSTRAINT = 296,
+    TOKEN_COPY = 297,
+    TOKEN_CREATE = 298,
+    TOKEN_CSB_TREE = 299,
     TOKEN_CURRENT = 300,
     TOKEN_DATE = 301,
     TOKEN_DATETIME = 302,
@@ -243,85 +243,85 @@ extern int quickstep_yydebug;
     TOKEN_DROP = 310,
     TOKEN_ELSE = 311,
     TOKEN_END = 312,
-    TOKEN_EXISTS = 313,
-    TOKEN_EXTRACT = 314,
-    TOKEN_FALSE = 315,
-    TOKEN_FIRST = 316,
-    TOKEN_FLOAT = 317,
-    TOKEN_FOLLOWING = 318,
-    TOKEN_FOR = 319,
-    TOKEN_FOREIGN = 320,
-    TOKEN_FROM = 321,
-    TOKEN_FULL = 322,
-    TOKEN_GROUP = 323,
-    TOKEN_HASH = 324,
-    TOKEN_HAVING = 325,
-    TOKEN_HOUR = 326,
-    TOKEN_IN = 327,
-    TOKEN_INDEX = 328,
-    TOKEN_INNER = 329,
-    TOKEN_INSERT = 330,
-    TOKEN_INTEGER = 331,
-    TOKEN_INTERVAL = 332,
-    TOKEN_INTO = 333,
-    TOKEN_JOIN = 334,
-    TOKEN_KEY = 335,
-    TOKEN_LAST = 336,
-    TOKEN_LEFT = 337,
-    TOKEN_LIMIT = 338,
-    TOKEN_LONG = 339,
-    TOKEN_MINUTE = 340,
-    TOKEN_MONTH = 341,
-    TOKEN_NULL = 342,
-    TOKEN_NULLS = 343,
-    TOKEN_OFF = 344,
-    TOKEN_ON = 345,
-    TOKEN_ORDER = 346,
-    TOKEN_OUTER = 347,
-    TOKEN_OVER = 348,
-    TOKEN_PARTITION = 349,
-    TOKEN_PARTITIONS = 350,
-    TOKEN_PERCENT = 351,
-    TOKEN_PRECEDING = 352,
-    TOKEN_PRIMARY = 353,
-    TOKEN_PRIORITY = 354,
-    TOKEN_QUIT = 355,
-    TOKEN_RANGE = 356,
-    TOKEN_REAL = 357,
-    TOKEN_REFERENCES = 358,
-    TOKEN_RIGHT = 359,
-    TOKEN_ROW = 360,
-    TOKEN_ROW_DELIMITER = 361,
-    TOKEN_ROWS = 362,
-    TOKEN_SECOND = 363,
-    TOKEN_SELECT = 364,
-    TOKEN_SET = 365,
-    TOKEN_SMA = 366,
-    TOKEN_SMALLINT = 367,
-    TOKEN_STDERR = 368,
-    TOKEN_STDOUT = 369,
-    TOKEN_SUBSTRING = 370,
-    TOKEN_TABLE = 371,
-    TOKEN_THEN = 372,
-    TOKEN_TIME = 373,
-    TOKEN_TIMESTAMP = 374,
-    TOKEN_TO = 375,
-    TOKEN_TRUE = 376,
-    TOKEN_TUPLESAMPLE = 377,
-    TOKEN_UNBOUNDED = 378,
-    TOKEN_UNIQUE = 379,
-    TOKEN_UPDATE = 380,
-    TOKEN_USING = 381,
-    TOKEN_VALUES = 382,
-    TOKEN_VARCHAR = 383,
-    TOKEN_WHEN = 384,
-    TOKEN_WHERE = 385,
-    TOKEN_WINDOW = 386,
-    TOKEN_WITH = 387,
-    TOKEN_YEAR = 388,
-    TOKEN_YEARMONTH = 389,
-    TOKEN_EOF = 390,
-    TOKEN_LEX_ERROR = 391
+    TOKEN_EOF = 313,
+    TOKEN_EXISTS = 314,
+    TOKEN_EXTRACT = 315,
+    TOKEN_FALSE = 316,
+    TOKEN_FIRST = 317,
+    TOKEN_FLOAT = 318,
+    TOKEN_FOLLOWING = 319,
+    TOKEN_FOR = 320,
+    TOKEN_FOREIGN = 321,
+    TOKEN_FROM = 322,
+    TOKEN_FULL = 323,
+    TOKEN_GROUP = 324,
+    TOKEN_HASH = 325,
+    TOKEN_HAVING = 326,
+    TOKEN_HOUR = 327,
+    TOKEN_IN = 328,
+    TOKEN_INDEX = 329,
+    TOKEN_INNER = 330,
+    TOKEN_INSERT = 331,
+    TOKEN_INTEGER = 332,
+    TOKEN_INTERVAL = 333,
+    TOKEN_INTO = 334,
+    TOKEN_JOIN = 335,
+    TOKEN_KEY = 336,
+    TOKEN_LAST = 337,
+    TOKEN_LEFT = 338,
+    TOKEN_LEX_ERROR = 339,
+    TOKEN_LIMIT = 340,
+    TOKEN_LONG = 341,
+    TOKEN_MINUTE = 342,
+    TOKEN_MONTH = 343,
+    TOKEN_NULL = 344,
+    TOKEN_NULLS = 345,
+    TOKEN_OFF = 346,
+    TOKEN_ON = 347,
+    TOKEN_ORDER = 348,
+    TOKEN_OUTER = 349,
+    TOKEN_OVER = 350,
+    TOKEN_PARTITION = 351,
+    TOKEN_PARTITIONS = 352,
+    TOKEN_PERCENT = 353,
+    TOKEN_PRECEDING = 354,
+    TOKEN_PRIMARY = 355,
+    TOKEN_PRIORITY = 356,
+    TOKEN_QUIT = 357,
+    TOKEN_RANGE = 358,
+    TOKEN_REAL = 359,
+    TOKEN_REFERENCES = 360,
+    TOKEN_RIGHT = 361,
+    TOKEN_ROW = 362,
+    TOKEN_ROWS = 363,
+    TOKEN_ROW_DELIMITER = 364,
+    TOKEN_SECOND = 365,
+    TOKEN_SELECT = 366,
+    TOKEN_SET = 367,
+    TOKEN_SMA = 368,
+    TOKEN_SMALLINT = 369,
+    TOKEN_STDERR = 370,
+    TOKEN_STDOUT = 371,
+    TOKEN_SUBSTRING = 372,
+    TOKEN_TABLE = 373,
+    TOKEN_THEN = 374,
+    TOKEN_TIME = 375,
+    TOKEN_TIMESTAMP = 376,
+    TOKEN_TO = 377,
+    TOKEN_TRUE = 378,
+    TOKEN_TUPLESAMPLE = 379,
+    TOKEN_UNBOUNDED = 380,
+    TOKEN_UNIQUE = 381,
+    TOKEN_UPDATE = 382,
+    TOKEN_USING = 383,
+    TOKEN_VALUES = 384,
+    TOKEN_VARCHAR = 385,
+    TOKEN_WHEN = 386,
+    TOKEN_WHERE = 387,
+    TOKEN_WINDOW = 388,
+    TOKEN_WITH = 389,
+    TOKEN_YEAR = 390,
+    TOKEN_YEARMONTH = 391
   };
 #endif
 
@@ -711,7 +711,7 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  50
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1327
+#define YYLAST   1392
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  148
@@ -828,40 +828,40 @@ static const char *const yytname[] =
   "TOKEN_ALL", "TOKEN_UNION", "TOKEN_INTERSECT", "TOKEN_ADD",
   "TOKEN_ALTER", "TOKEN_AS", "TOKEN_ASC", "TOKEN_BIGINT", "TOKEN_BIT",
   "TOKEN_BITWEAVING", "TOKEN_BLOCKPROPERTIES", "TOKEN_BLOCKSAMPLE",
-  "TOKEN_BLOOM_FILTER", "TOKEN_CSB_TREE", "TOKEN_BY", "TOKEN_CASE",
-  "TOKEN_CHARACTER", "TOKEN_CHECK", "TOKEN_COLUMN", "TOKEN_CONSTRAINT",
-  "TOKEN_COPY", "TOKEN_CREATE", "TOKEN_CURRENT", "TOKEN_DATE",
+  "TOKEN_BLOOM_FILTER", "TOKEN_BY", "TOKEN_CASE", "TOKEN_CHARACTER",
+  "TOKEN_CHECK", "TOKEN_COLUMN", "TOKEN_CONSTRAINT", "TOKEN_COPY",
+  "TOKEN_CREATE", "TOKEN_CSB_TREE", "TOKEN_CURRENT", "TOKEN_DATE",
   "TOKEN_DATETIME", "TOKEN_DAY", "TOKEN_DECIMAL", "TOKEN_DEFAULT",
   "TOKEN_DELETE", "TOKEN_DESC", "TOKEN_DISTINCT", "TOKEN_DOUBLE",
-  "TOKEN_DROP", "TOKEN_ELSE", "TOKEN_END", "TOKEN_EXISTS", "TOKEN_EXTRACT",
-  "TOKEN_FALSE", "TOKEN_FIRST", "TOKEN_FLOAT", "TOKEN_FOLLOWING",
-  "TOKEN_FOR", "TOKEN_FOREIGN", "TOKEN_FROM", "TOKEN_FULL", "TOKEN_GROUP",
-  "TOKEN_HASH", "TOKEN_HAVING", "TOKEN_HOUR", "TOKEN_IN", "TOKEN_INDEX",
-  "TOKEN_INNER", "TOKEN_INSERT", "TOKEN_INTEGER", "TOKEN_INTERVAL",
-  "TOKEN_INTO", "TOKEN_JOIN", "TOKEN_KEY", "TOKEN_LAST", "TOKEN_LEFT",
+  "TOKEN_DROP", "TOKEN_ELSE", "TOKEN_END", "TOKEN_EOF", "TOKEN_EXISTS",
+  "TOKEN_EXTRACT", "TOKEN_FALSE", "TOKEN_FIRST", "TOKEN_FLOAT",
+  "TOKEN_FOLLOWING", "TOKEN_FOR", "TOKEN_FOREIGN", "TOKEN_FROM",
+  "TOKEN_FULL", "TOKEN_GROUP", "TOKEN_HASH", "TOKEN_HAVING", "TOKEN_HOUR",
+  "TOKEN_IN", "TOKEN_INDEX", "TOKEN_INNER", "TOKEN_INSERT",
+  "TOKEN_INTEGER", "TOKEN_INTERVAL", "TOKEN_INTO", "TOKEN_JOIN",
+  "TOKEN_KEY", "TOKEN_LAST", "TOKEN_LEFT", "TOKEN_LEX_ERROR",
   "TOKEN_LIMIT", "TOKEN_LONG", "TOKEN_MINUTE", "TOKEN_MONTH", "TOKEN_NULL",
   "TOKEN_NULLS", "TOKEN_OFF", "TOKEN_ON", "TOKEN_ORDER", "TOKEN_OUTER",
   "TOKEN_OVER", "TOKEN_PARTITION", "TOKEN_PARTITIONS", "TOKEN_PERCENT",
   "TOKEN_PRECEDING", "TOKEN_PRIMARY", "TOKEN_PRIORITY", "TOKEN_QUIT",
   "TOKEN_RANGE", "TOKEN_REAL", "TOKEN_REFERENCES", "TOKEN_RIGHT",
-  "TOKEN_ROW", "TOKEN_ROW_DELIMITER", "TOKEN_ROWS", "TOKEN_SECOND",
+  "TOKEN_ROW", "TOKEN_ROWS", "TOKEN_ROW_DELIMITER", "TOKEN_SECOND",
   "TOKEN_SELECT", "TOKEN_SET", "TOKEN_SMA", "TOKEN_SMALLINT",
   "TOKEN_STDERR", "TOKEN_STDOUT", "TOKEN_SUBSTRING", "TOKEN_TABLE",
   "TOKEN_THEN", "TOKEN_TIME", "TOKEN_TIMESTAMP", "TOKEN_TO", "TOKEN_TRUE",
   "TOKEN_TUPLESAMPLE", "TOKEN_UNBOUNDED", "TOKEN_UNIQUE", "TOKEN_UPDATE",
   "TOKEN_USING", "TOKEN_VALUES", "TOKEN_VARCHAR", "TOKEN_WHEN",
   "TOKEN_WHERE", "TOKEN_WINDOW", "TOKEN_WITH", "TOKEN_YEAR",
-  "TOKEN_YEARMONTH", "TOKEN_EOF", "TOKEN_LEX_ERROR", "';'", "'\\n'", "'('",
-  "')'", "','", "'%'", "$accept", "start", "sql_statement",
-  "quit_statement", "alter_table_statement", "create_table_statement",
-  "create_index_statement", "drop_table_statement", "column_def",
-  "column_def_commalist", "data_type", "column_constraint_def",
-  "column_constraint_def_list", "opt_column_constraint_def_list",
-  "table_constraint_def", "table_constraint_def_commalist",
-  "opt_table_constraint_def_commalist", "opt_column_list",
-  "opt_block_properties", "opt_partition_clause", "partition_type",
-  "key_value_list", "key_value", "key_string_value", "key_string_list",
-  "key_integer_value", "key_bool_value", "index_type",
+  "TOKEN_YEARMONTH", "';'", "'\\n'", "'('", "')'", "','", "'%'", "$accept",
+  "start", "sql_statement", "quit_statement", "alter_table_statement",
+  "create_table_statement", "create_index_statement",
+  "drop_table_statement", "column_def", "column_def_commalist",
+  "data_type", "column_constraint_def", "column_constraint_def_list",
+  "opt_column_constraint_def_list", "table_constraint_def",
+  "table_constraint_def_commalist", "opt_table_constraint_def_commalist",
+  "opt_column_list", "opt_block_properties", "opt_partition_clause",
+  "partition_type", "key_value_list", "key_value", "key_string_value",
+  "key_string_list", "key_integer_value", "key_bool_value", "index_type",
   "opt_index_properties", "insert_statement", "copy_statement",
   "copy_to_target", "opt_copy_params", "update_statement",
   "delete_statement", "assignment_list", "assignment_item",
@@ -916,10 +916,10 @@ static const yytype_uint16 yytoknum[] =
 };
 # endif
 
-#define YYPACT_NINF -410
+#define YYPACT_NINF -388
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-410)))
+  (!!((Yystate) == (-388)))
 
 #define YYTABLE_NINF -139
 
@@ -930,62 +930,62 @@ static const yytype_uint16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-     405,  -410,  -410,   -52,    43,   -13,    34,   -38,   116,  -410,
-      48,   231,   231,  -410,   115,   119,  -410,  -410,  -410,  -410,
-    -410,  -410,  -410,  -410,  -410,  -410,   166,    46,    49,  -410,
-     -36,   205,   231,  -410,  -410,    38,   132,   231,   231,   231,
-     231,   231,  -410,  -410,   652,    97,    72,  -410,   203,    95,
-    -410,  -410,  -410,   130,   175,    46,    48,   158,  -410,   130,
-    -410,  -410,  -410,    25,    61,   128,   270,   128,   184,   142,
-     149,  -410,   106,  -410,  -410,   309,   313,  -410,  -410,  -410,
-     743,   153,  -410,   218,  -410,  -410,   189,  -410,  -410,   331,
-    -410,  -410,  -410,  -410,   199,  -410,  -410,   207,   272,   837,
-     347,   305,   211,  -410,  -410,   328,    19,  -410,  -410,   262,
-    -410,  -410,  -410,  -410,  -410,  1019,     5,   231,   231,   220,
-     231,    38,   231,  -410,   130,   373,  -410,   148,   243,  -410,
-    -410,  -410,   244,  -410,   128,  -410,   231,   231,   561,  -410,
-    -410,   245,   231,  -410,  -410,  -410,   561,    52,    17,  -410,
-     400,  -410,   140,   140,  1110,   402,  -410,     1,    29,  -410,
-      20,   149,  1110,  -410,  -410,   231,  1110,  -410,  -410,  -410,
-    -410,  1110,    21,   313,  -410,   231,   323,   -64,  -410,   416,
-    -410,   130,  -410,   167,  -410,   128,   130,    49,  -410,   231,
-     152,   231,   231,   231,  -410,   269,  -410,   169,  1177,   928,
-     220,   470,   426,   433,  -410,  -410,   407,   428,  1188,   303,
-     173,    23,  1110,    64,  -410,  1110,  -410,   388,   306,  -410,
-    -410,  -410,  -410,  -410,  -410,   381,  -410,    66,   310,  -410,
-    -410,     8,   209,   215,  -410,   311,   209,     9,   385,  -410,
-    -410,    19,  -410,   360,  -410,  -410,   315,  1110,  -410,   301,
-     180,   231,  -410,  1110,  -410,   231,  -410,  -410,  -410,   320,
-     384,   386,   329,  -410,  -410,  -410,   196,  -410,  -410,  -410,
-    -410,  -410,    16,   231,   341,   152,   231,  -410,   174,  -410,
-    -410,     2,    81,   561,   561,   206,  -410,  -410,  -410,  -410,
-    -410,  -410,  -410,  -410,  1110,   334,  1110,    58,  -410,   210,
-     335,   349,  1110,    68,  -410,   420,   301,  -410,  -410,  1110,
-     476,  -410,   162,   231,  -410,  -410,   389,  -410,   390,   391,
-     406,    20,  -410,   486,   487,   209,   453,   421,   455,   353,
-     403,  -410,   223,  -410,  1110,  -410,   301,  -410,   561,   357,
-     358,   231,  -410,   231,  -410,  -410,  -410,  -410,  -410,  -410,
-    -410,   231,  -410,  -410,  -410,   225,   477,    86,  -410,   361,
-     366,  -410,   417,   364,  1188,  -410,   430,   231,  -410,  -410,
-     174,  -410,  -410,   433,  -410,  -410,  -410,  1110,   367,   284,
-     837,  -410,   301,   424,  -410,  -410,  1188,  1188,   374,   301,
-    1110,  -410,    33,   -16,  -410,  -410,  -410,  -410,  -410,    20,
-     215,   419,   422,  -410,  1110,   561,   429,  1110,  -410,   475,
-      18,  -410,   301,    31,   231,   231,   227,  -410,   233,  -410,
-     231,  -410,  -410,  -410,  -410,   382,   152,   489,   432,  -410,
-     561,  -410,  -410,   392,  -410,   289,   837,  -410,  1110,   238,
-    -410,  -410,   240,  1188,   301,  -410,   521,  -410,   437,  -410,
-    -410,   393,   426,   498,   456,   393,  1110,  -410,  -410,  -410,
-     522,  -410,   246,   252,  -410,  -410,  -410,   231,  -410,  -410,
-     399,   504,  -410,    32,   231,  1110,   254,   301,  -410,  -410,
-     257,   404,   561,  1110,   540,   412,   408,  -410,   274,    11,
-     442,  -410,   286,   231,   127,  -410,   410,   301,  -410,  -410,
-    -410,   426,   408,  -410,   231,  -410,   412,  -410,  1110,  -410,
-    -410,   460,   454,   447,   458,   549,   231,  -410,   290,  -410,
-    -410,   425,  -410,   528,  -410,  -410,    -6,  -410,  -410,  -410,
-    -410,    12,   431,  -410,   231,   434,  -410,  -410,   495,   462,
-     496,  -410,   231,   293,   360,  -410,  -410,  -410,   299,   473,
-     435,  -410,   563,  -410,  -410
+     239,  -388,  -388,   -36,    39,   -27,    28,   -19,  -388,    23,
+    -388,    30,   237,   237,   122,     7,  -388,  -388,  -388,  -388,
+    -388,  -388,  -388,  -388,  -388,  -388,   154,     3,   156,  -388,
+     -14,   187,   237,  -388,  -388,    53,    13,   237,   237,   237,
+     237,   237,  -388,  -388,   701,   129,   103,  -388,   226,   121,
+    -388,  -388,  -388,   161,   198,     3,    30,   190,  -388,   161,
+    -388,  -388,  -388,    43,    16,   166,   288,   166,   211,   168,
+     182,  -388,   146,  -388,  -388,   329,   334,  -388,  -388,  -388,
+     795,   199,  -388,   270,  -388,  -388,   216,  -388,  -388,   359,
+    -388,  -388,  -388,  -388,   235,  -388,  -388,   258,   320,   890,
+     410,   352,   279,  -388,  -388,   285,    18,  -388,  -388,   326,
+    -388,  -388,  -388,  -388,  -388,  1080,   -17,   237,   237,   283,
+     237,    53,   237,  -388,   161,   421,  -388,   163,   177,  -388,
+    -388,  -388,   286,  -388,   166,  -388,   237,   237,   607,  -388,
+    -388,   287,   237,  -388,  -388,  -388,   607,    57,    62,  -388,
+     422,  -388,   141,   141,  1174,   425,  -388,    -2,    29,  -388,
+      19,   182,  1174,  -388,  -388,   237,  1174,  -388,  -388,  -388,
+    -388,  1174,    20,   334,  -388,   237,   400,    93,  -388,   423,
+    -388,   161,  -388,    80,  -388,   166,   161,   156,  -388,   237,
+     153,   237,   237,   237,  -388,   293,  -388,   130,  1251,   986,
+     283,   511,   430,   431,  -388,  -388,   312,   419,  1238,   298,
+     170,    22,  1174,    78,  -388,  1174,  -388,   383,   301,  -388,
+    -388,  -388,  -388,  -388,  -388,   375,  -388,   181,   303,  -388,
+    -388,    10,    77,   269,  -388,   304,    77,   -20,   379,  -388,
+    -388,    18,  -388,   348,  -388,  -388,   310,  1174,  -388,   330,
+     213,   237,  -388,  1174,  -388,   237,  -388,  -388,  -388,   313,
+     370,   374,   317,  -388,  -388,  -388,   222,  -388,  -388,  -388,
+    -388,  -388,    87,   237,   331,   153,   237,  -388,   256,  -388,
+    -388,    -1,    50,   607,   607,   219,  -388,  -388,  -388,  -388,
+    -388,  -388,  -388,  -388,  1174,   318,  1174,    66,  -388,   224,
+     325,   333,  1174,    26,  -388,   409,   330,  -388,  -388,  1174,
+     465,  -388,   133,   237,  -388,  -388,   376,  -388,   377,   378,
+     388,    19,  -388,   467,   471,    77,   438,   404,   440,   339,
+     387,  -388,   227,  -388,  1174,  -388,   330,  -388,   607,   342,
+     343,   237,  -388,   237,  -388,  -388,  -388,  -388,  -388,  -388,
+    -388,   237,  -388,  -388,  -388,   229,   461,   180,  -388,   344,
+     353,  -388,   399,   351,  1238,  -388,   411,   237,  -388,  -388,
+     256,  -388,  -388,   431,  -388,  -388,  -388,  1174,   354,   292,
+     890,  -388,   330,   402,  -388,  -388,  1238,  1238,   355,   330,
+    1174,  -388,    32,    71,  -388,  -388,  -388,  -388,  -388,    19,
+     269,   398,   401,  -388,  1174,   607,   405,  1174,  -388,   464,
+     142,  -388,   330,    21,   237,   237,   231,  -388,   236,  -388,
+     237,  -388,  -388,  -388,  -388,   358,   153,   468,   406,  -388,
+     607,  -388,  -388,   364,  -388,   323,   890,  -388,  1174,   238,
+    -388,  -388,   240,  1238,   330,  -388,   503,  -388,   414,  -388,
+    -388,   367,   430,   473,   433,   367,  1174,  -388,  -388,  -388,
+     501,  -388,   243,   246,  -388,  -388,  -388,   237,  -388,  -388,
+     380,   486,  -388,    31,   237,  1174,   252,   330,  -388,  -388,
+     254,   384,   607,  1174,   521,   393,   390,  -388,    68,    48,
+     424,  -388,   263,   237,    44,  -388,   392,   330,  -388,  -388,
+    -388,   430,   390,  -388,   237,  -388,   393,  -388,  1174,  -388,
+    -388,   444,   436,   437,   439,   533,   237,  -388,   267,  -388,
+    -388,   407,  -388,   515,  -388,  -388,   132,  -388,  -388,  -388,
+    -388,    49,   408,  -388,   237,   412,  -388,  -388,   481,   443,
+     488,  -388,   237,   272,   348,  -388,  -388,  -388,   274,   456,
+     415,  -388,   552,  -388,  -388
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -993,8 +993,8 @@ static const yytype_int16 yypact[] =
      means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-       0,     6,   300,     0,     0,     0,     0,     0,     0,    18,
-     123,     0,     0,     7,     0,     0,    15,     8,    10,    11,
+       0,     6,   300,     0,     0,     0,     0,     0,     7,     0,
+      18,   123,     0,     0,     0,     0,    15,     8,    10,    11,
       13,    14,     9,    17,    12,    16,     0,   112,   119,   121,
        0,   298,     0,   292,   293,     0,     0,     0,     0,     0,
        0,     0,   124,   125,     0,     0,   114,   115,     0,   156,
@@ -1054,18 +1054,18 @@ static const yytype_uint16 yydefact[] =
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -410,  -410,  -410,  -410,  -410,  -410,  -410,  -410,  -148,  -410,
-     376,   216,  -410,  -410,  -264,  -410,  -410,  -410,  -410,  -410,
-    -410,  -409,   236,  -410,  -410,  -410,  -410,  -410,  -410,  -410,
-    -410,    85,    -3,  -410,  -410,  -410,   325,  -410,   526,  -410,
-    -410,   467,   217,   464,   -43,   533,  -410,  -410,   436,  -410,
-    -114,  -410,  -410,  -186,   192,  -184,    -9,  -410,  -410,  -410,
-    -410,  -410,  -410,  -410,    89,    55,  -410,  -410,  -410,  -410,
-    -410,  -410,   109,    92,  -410,  -410,    79,  -410,  -142,   318,
-     322,   409,   -42,   441,   439,   501,  -154,  -410,  -410,  -410,
-    -410,   398,  -410,   469,   413,  -232,  -195,   449,  -324,  -410,
-    -129,  -410,  -410,  -410,  -410,  -410,  -141,    -4,  -410,  -410,
-    -410
+    -388,  -388,  -388,  -388,  -388,  -388,  -388,  -388,  -145,  -388,
+     363,   194,  -388,  -388,  -264,  -388,  -388,  -388,  -388,  -388,
+    -388,  -387,   223,  -388,  -388,  -388,  -388,  -388,  -388,  -388,
+    -388,    61,   -50,  -388,  -388,  -388,   316,  -388,   513,  -388,
+    -388,   451,   257,   447,   -41,   516,  -388,  -388,   416,  -388,
+    -114,  -388,  -388,  -191,   174,  -214,   -10,  -388,  -388,  -388,
+    -388,  -388,  -388,  -388,    74,    33,  -388,  -388,  -388,  -388,
+    -388,  -388,    91,    73,  -388,  -388,   -56,  -388,  -142,   299,
+     300,   386,   -42,   417,   418,   472,  -154,  -388,  -388,  -388,
+    -388,   373,  -388,   442,   382,  -232,  -195,   435,  -292,  -388,
+    -126,  -388,  -388,  -388,  -388,  -388,  -141,    -4,  -388,  -388,
+    -388
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
@@ -1090,338 +1090,352 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-      36,   210,   105,    48,   211,   182,   236,    45,    49,   207,
-     283,   358,    33,   298,    34,   332,   126,   207,   512,   538,
-      33,   344,    34,   345,    33,    33,    34,    34,    63,   143,
-      56,   283,   175,    68,    69,    70,    71,    72,   147,   283,
-     283,   258,   168,   169,   346,   312,   232,    33,   323,    34,
-     163,   164,   322,   446,   163,   164,   127,   158,   492,   281,
-     536,   513,   539,   442,   135,    37,   129,    56,   383,    32,
-     207,   138,   207,   163,   164,    56,    42,   236,   215,    59,
-     537,   347,   251,    40,   518,   128,   280,   163,   164,   163,
-     164,   285,   286,   287,   288,   289,   290,   291,   292,   293,
-     294,   167,   163,   164,    60,    39,    43,    61,    38,    48,
-     348,   349,   227,   179,    49,    50,   184,   232,   186,   480,
-     105,    67,    10,   421,   457,   215,   422,   423,   361,   447,
-     458,   194,   195,   198,   249,   400,   324,   310,   184,   514,
-     540,   403,   350,   257,   354,   302,   229,   372,   439,   176,
-     384,   146,   231,   176,   207,   207,   237,    10,   295,   282,
-     351,   240,   469,    64,   231,   243,   170,   236,   244,   431,
-     303,   245,   451,   306,   230,   455,   461,   495,   445,   130,
-     131,   381,   256,    57,   362,   198,   212,   264,   265,   272,
-     390,   441,   298,   219,   189,   190,   413,   259,   212,    41,
-     416,   519,   424,    66,   476,   249,   185,   232,    62,   207,
-     418,   336,   117,    33,    53,    34,   220,    27,   118,   363,
-      10,    35,   260,   375,   376,   377,   230,   237,    49,   364,
-     221,   222,    49,   520,   316,    33,   119,    34,   141,   120,
-     238,   317,   313,    55,    10,   236,    54,   179,   298,   318,
-     142,   337,   379,   223,   382,   261,   252,    64,   122,    51,
-     389,    52,   125,   452,   437,   132,   365,   392,   352,   356,
-     121,   319,   198,   462,   463,   134,   207,   366,   224,   136,
-      10,   262,   367,   378,   138,   232,   137,   316,   473,   191,
-     192,   466,   412,   438,   317,   163,   164,   150,   475,  -138,
-     151,   207,   318,   368,   395,   163,   164,   394,   509,    49,
-     163,   164,   254,   255,   275,   276,   144,   237,   301,   255,
-     145,    49,   163,   164,   319,   333,   334,    33,    73,    34,
-      74,   510,    33,   152,    34,   435,   153,   184,   249,   272,
-     501,   342,   343,   154,    75,    76,   246,   184,   444,   163,
-     164,   155,   159,   207,   156,   385,   386,   162,    78,    79,
-     172,   165,   249,   433,   181,   249,    80,    81,   411,   334,
-     419,   420,   464,   255,    82,    83,   160,    84,   465,   255,
-     188,   247,    85,   478,   334,   479,   386,    86,   193,   208,
-      87,   490,   255,   543,   249,   237,   477,   491,   255,   498,
-     334,   548,   499,   386,    88,    89,     1,   218,     2,   228,
-     184,   184,    90,   273,   488,    91,   356,   285,   286,   287,
-     288,   289,   290,   291,   292,   293,   294,   253,   163,   164,
-      92,   517,   343,   497,   283,   533,   343,     3,   549,   255,
-      93,   488,   284,    94,   551,   255,    95,    96,   297,   300,
-     307,   308,   309,     4,     5,   311,    97,   321,   326,   328,
-     331,     6,    98,   272,   338,     7,   488,    99,   248,   339,
-     496,   340,   357,   341,    33,    73,    34,    74,   380,   387,
-     199,   388,   391,   393,   295,     8,   396,   397,   398,   272,
-     399,    75,    76,   401,   402,   404,   405,   407,   408,   409,
-     523,   414,   415,   427,   175,    78,    79,   426,   430,   429,
-       9,   436,   532,    80,    81,   432,   440,   456,   443,    10,
-     449,    82,    83,   450,    84,   453,   467,   470,   481,    85,
-     184,   471,   482,   200,    86,    11,   474,    87,   184,   334,
-     483,   489,    12,   493,   484,    13,   494,   503,   504,   500,
-     516,    88,    89,   526,   508,   522,   528,   529,   531,    90,
-     530,   535,    91,   545,   547,    33,    73,    34,    74,   534,
-     554,   199,   546,   552,   278,   542,   335,    92,   544,   417,
-     553,   123,    75,    76,    10,   180,   434,    93,   187,   124,
-      94,   448,   502,    95,    96,   524,    78,    79,   239,   550,
-     525,   373,   226,    97,    80,    81,   374,   241,   279,    98,
-     242,   304,    82,    83,   201,    84,   174,   216,     0,     0,
-      85,     0,     0,     0,   200,    86,   305,     0,    87,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    88,    89,     0,     0,     0,     0,     0,     0,
-      90,     0,     0,    91,     0,     0,    33,    73,    34,    74,
-       0,     0,     0,     0,     0,     0,     0,     0,    92,     0,
-       0,     0,     0,    75,    76,    77,     0,     0,    93,     0,
-       0,    94,     0,     0,    95,    96,     0,    78,    79,     0,
-       0,     0,     0,     0,    97,    80,    81,     0,     0,     0,
-      98,     0,     0,    82,    83,   201,    84,     0,     0,     0,
-       0,    85,     0,     0,     0,     0,    86,     0,     0,    87,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    88,    89,     0,     0,     0,     0,     0,
-       0,    90,     0,     0,    91,     0,     0,    33,    73,    34,
-      74,     0,     0,     0,     0,     0,     0,     0,     0,    92,
-       0,     0,     0,     0,    75,    76,     0,     0,     0,    93,
-       0,     0,    94,     0,     0,    95,    96,     0,    78,    79,
-       0,     0,     0,     0,     0,    97,    80,    81,     0,     0,
-       0,    98,     0,     0,    82,    83,    99,    84,     0,     0,
-       0,     0,    85,     0,     0,     0,     0,    86,     0,     0,
-      87,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    88,    89,     0,     0,     0,     0,
+      36,   210,   105,    48,   211,   182,   236,   283,    45,    49,
+     175,   358,   207,   298,    33,   332,    34,   135,   126,   323,
+     207,   129,   322,    33,    33,    34,    34,    56,    63,   283,
+     283,   143,    56,    68,    69,    70,    71,    72,   147,   283,
+     312,   168,   169,    33,   258,    34,   232,   163,   164,    60,
+     163,   164,    37,   163,   164,   512,   538,   158,    42,   281,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+      51,   163,   164,   207,   127,   207,   383,   236,   163,   164,
+     492,    33,    56,    34,   194,    66,   280,    32,    43,   163,
+     164,    33,   344,    34,   345,   442,    38,    67,   513,   539,
+      39,   167,   509,   128,    40,   238,   518,    41,    48,   324,
+     313,   403,   227,   179,    49,   346,   184,   232,   186,   519,
+     105,   252,    50,   215,   176,   510,    11,   176,   295,    61,
+     400,   361,   195,   198,   249,   256,   130,   131,   184,   215,
+      64,   446,    57,   229,   372,   257,   302,   354,   439,    52,
+     390,   480,   520,   347,   231,    11,   237,   207,   207,   282,
+     384,   240,   469,   231,   243,   170,   461,   236,   244,   431,
+     303,   245,   451,   306,   230,   455,   495,   445,   514,   540,
+      64,   381,   185,   348,   349,   198,    59,   264,   265,   272,
+      62,   441,   298,   212,   219,   230,   413,   259,   146,   536,
+     416,    53,   163,   164,   476,   249,   316,   232,   189,   190,
+     418,   336,   207,   317,   212,   350,   447,   421,   220,   537,
+     422,   318,   191,   192,   260,   254,   255,   237,    49,   423,
+     138,   351,    49,   221,   222,    54,   375,   376,   377,   251,
+       1,    33,     2,    34,   319,   236,   117,   179,   298,   118,
+     457,   337,   379,   310,   382,   458,   223,    27,   261,   119,
+     389,    35,    11,   452,   437,   120,   362,   392,   352,   356,
+      11,     3,   198,   462,   463,   275,   276,    11,   394,   207,
+     141,   224,   122,    55,   262,   232,     4,     5,   473,    33,
+     142,    34,   412,   134,   466,     6,   125,   378,   424,     7,
+     363,   438,     8,   395,   207,   132,   163,   164,   136,    49,
+     121,   364,   137,   163,   164,   301,   255,   237,   165,   138,
+       9,    49,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,   475,   163,   164,   435,   144,   184,   249,   272,
+     501,   145,   316,   150,   163,   164,    10,   184,   444,   317,
+     365,   163,   164,   151,  -138,    11,   207,   318,   333,   334,
+     152,   366,   249,   433,   153,   249,   367,   342,   343,   385,
+     386,    12,   411,   334,   419,   420,   464,   255,    13,   154,
+     319,   465,   255,   478,   334,   479,   386,   368,   490,   255,
+     295,   491,   255,   543,   249,   237,   477,   498,   334,   499,
+     386,   548,   155,   156,    33,    73,    34,    74,   517,   343,
+     184,   184,   533,   343,   488,   159,   356,   549,   255,   551,
+     255,    75,    76,   246,   160,   162,   172,   181,   188,   218,
+     193,   208,   228,   497,   253,    78,    79,   273,   283,   297,
+     284,   488,    80,    81,   300,   307,   308,   309,   311,   328,
+     321,    82,    83,   326,    84,   331,   339,   338,   247,    85,
+     340,   341,   380,   272,   357,    86,   488,   388,    87,   387,
+     496,   391,   393,   399,   401,   396,   397,   398,   402,   404,
+     405,   407,    88,    89,   408,   409,   414,   415,   175,   272,
+     426,    90,   427,   429,    91,   430,   440,   432,   436,   443,
+     523,   449,   467,   453,   450,   456,   470,   471,   474,    92,
+     481,   482,   532,   334,   483,    33,    73,    34,    74,    93,
+     489,   199,    94,   484,   493,    95,    96,   494,   503,   500,
+     184,   504,    75,    76,   516,    97,   508,   522,   184,   526,
+     528,    98,   531,   530,    99,   248,    78,    79,   535,   529,
+     545,   534,   542,    80,    81,   546,   544,   547,   552,   554,
+     553,   278,    82,    83,   434,    84,   417,   335,   123,   180,
+      85,   187,   124,   448,   502,   200,    86,   550,   239,    87,
+     524,   525,   373,   241,   374,   279,   304,   174,   226,   242,
+     216,     0,     0,    88,    89,   305,     0,     0,     0,     0,
        0,     0,    90,     0,     0,    91,     0,     0,     0,     0,
-       0,    33,    73,    34,    74,     0,     0,     0,     0,     0,
-      92,     0,     0,     0,     0,     0,     0,     0,    75,    76,
+       0,    33,    73,    34,    74,     0,     0,   199,     0,     0,
+      92,     0,     0,     0,     0,     0,     0,    11,    75,    76,
       93,     0,     0,    94,     0,     0,    95,    96,     0,     0,
-       0,     0,    78,    79,     0,     0,    97,   146,     0,     0,
-      80,    81,    98,     0,     0,     0,     0,    99,    82,    83,
+       0,     0,    78,    79,     0,     0,    97,     0,     0,    80,
+      81,     0,    98,     0,     0,   201,     0,     0,    82,    83,
        0,    84,     0,     0,     0,     0,    85,     0,     0,     0,
-       0,    86,     0,     0,    87,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    88,    89,
-       0,     0,     0,     0,     0,     0,    90,     0,     0,    91,
-       0,     0,    33,    73,    34,    74,     0,     0,     0,     0,
-       0,     0,     0,     0,    92,     0,     0,     0,     0,    75,
-      76,    10,     0,     0,    93,     0,     0,    94,     0,     0,
-      95,    96,     0,    78,    79,     0,     0,     0,     0,     0,
-      97,    80,    81,     0,     0,     0,    98,     0,     0,    82,
-      83,    99,    84,     0,     0,     0,     0,    85,     0,     0,
        0,   200,    86,     0,     0,    87,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,    88,
-      89,     0,     0,     0,     0,     0,     0,    90,     0,     0,
-      91,     0,     0,    33,    73,    34,    74,     0,     0,     0,
-       0,     0,     0,     0,     0,    92,     0,     0,     0,     0,
-      75,   173,     0,     0,     0,    93,     0,     0,    94,     0,
-       0,    95,    96,     0,    78,    79,     0,     0,     0,     0,
-       0,    97,    80,    81,     0,     0,     0,    98,     0,     0,
-      82,    83,   201,    84,     0,     0,     0,     0,    85,     0,
-       0,     0,     0,    86,     0,     0,    87,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      88,    89,     0,     0,     0,     0,     0,     0,    90,     0,
-       0,    91,     0,     0,    33,    73,    34,    74,     0,     0,
+      89,     0,     0,     0,     0,     0,     0,     0,    90,     0,
+       0,    91,     0,     0,     0,    33,    73,    34,    74,     0,
        0,     0,     0,     0,     0,     0,    92,     0,     0,     0,
-       0,    75,    76,     0,     0,     0,    93,     0,     0,    94,
-       0,     0,    95,    96,     0,    78,    79,     0,     0,     0,
+       0,     0,    75,    76,    77,     0,    93,     0,     0,    94,
+       0,     0,    95,    96,     0,     0,    78,    79,     0,     0,
        0,     0,    97,    80,    81,     0,     0,     0,    98,     0,
-       0,    82,    83,    99,    84,     0,     0,     0,     0,    85,
-       0,     0,     0,     0,    86,     0,     0,    87,     0,     0,
+       0,   201,    82,    83,     0,    84,     0,     0,     0,     0,
+      85,     0,     0,     0,     0,     0,    86,     0,     0,    87,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    88,    89,     0,     0,     0,     0,     0,
+       0,     0,    90,     0,     0,    91,     0,     0,     0,    33,
+      73,    34,    74,     0,     0,     0,     0,     0,     0,     0,
+      92,     0,     0,     0,     0,     0,    75,    76,     0,     0,
+      93,     0,     0,    94,     0,     0,    95,    96,     0,     0,
+      78,    79,     0,     0,     0,     0,    97,    80,    81,     0,
+       0,     0,    98,     0,     0,    99,    82,    83,     0,    84,
+       0,     0,     0,     0,    85,     0,     0,     0,     0,     0,
+      86,     0,     0,    87,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    88,    89,     0,
+       0,     0,     0,     0,     0,     0,    90,     0,     0,    91,
+       0,     0,     0,     0,    33,    73,    34,    74,     0,     0,
+       0,     0,     0,     0,    92,     0,     0,     0,     0,     0,
+       0,    75,    76,     0,    93,     0,     0,    94,     0,     0,
+      95,    96,     0,     0,     0,    78,    79,     0,     0,     0,
+      97,   146,    80,    81,     0,     0,    98,     0,     0,    99,
+       0,    82,    83,     0,    84,     0,     0,     0,     0,    85,
+       0,     0,     0,     0,     0,    86,     0,     0,    87,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    88,    89,     0,     0,     0,     0,     0,     0,
+       0,    90,     0,     0,    91,     0,     0,     0,     0,     0,
+      33,    73,    34,    74,     0,     0,     0,     0,     0,    92,
+       0,     0,     0,     0,     0,     0,    11,    75,    76,    93,
+       0,     0,    94,     0,     0,    95,    96,     0,     0,     0,
+       0,    78,    79,     0,     0,    97,     0,     0,    80,    81,
+       0,    98,     0,     0,    99,     0,     0,    82,    83,     0,
+      84,     0,     0,     0,     0,    85,     0,     0,     0,     0,
+     200,    86,     0,     0,    87,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    88,    89,
+       0,     0,     0,     0,     0,     0,     0,    90,     0,     0,
+      91,     0,     0,     0,    33,    73,    34,    74,     0,     0,
+       0,     0,     0,     0,     0,    92,     0,     0,     0,     0,
+       0,    75,   173,     0,     0,    93,     0,     0,    94,     0,
+       0,    95,    96,     0,     0,    78,    79,     0,     0,     0,
+       0,    97,    80,    81,     0,     0,     0,    98,     0,     0,
+     201,    82,    83,     0,    84,     0,     0,     0,     0,    85,
+       0,     0,     0,     0,     0,    86,     0,     0,    87,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    88,    89,    73,     0,    74,     0,     0,     0,    90,
-       0,     0,    91,     0,     0,     0,     0,     0,     0,    75,
-     173,     0,    78,    79,     0,     0,     0,    92,     0,     0,
-       0,    81,     0,    78,    79,     0,     0,    93,    82,    83,
-      94,    84,    81,    95,    96,     0,    85,     0,     0,    82,
-      83,     0,    84,    97,    87,     0,     0,    85,     0,    98,
-       0,     0,     0,     0,    99,    87,     0,     0,    88,   277,
-       0,     0,     0,     0,     0,     0,    90,     0,     0,    88,
-      89,     0,     0,     0,     0,     0,     0,    90,     0,     0,
-      91,     0,     0,     0,    92,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    93,    92,     0,     0,     0,     0,
-      95,    96,     0,     0,     0,    93,     0,     0,     0,     0,
-      97,    95,    96,     0,     0,     0,    98,     0,     0,     0,
-       0,    97,     0,     0,     0,     0,     0,    98
+       0,     0,    88,    89,     0,     0,     0,     0,     0,     0,
+       0,    90,     0,     0,    91,     0,     0,     0,    33,    73,
+      34,    74,     0,     0,     0,     0,     0,     0,     0,    92,
+       0,     0,     0,     0,     0,    75,    76,     0,     0,    93,
+       0,     0,    94,     0,     0,    95,    96,     0,     0,    78,
+      79,     0,     0,     0,     0,    97,    80,    81,     0,     0,
+       0,    98,     0,     0,    99,    82,    83,     0,    84,     0,
+       0,     0,     0,    85,     0,     0,     0,     0,     0,    86,
+       0,     0,    87,    73,     0,    74,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    88,    89,     0,    75,
+     173,     0,     0,     0,     0,    90,     0,     0,    91,     0,
+       0,     0,     0,    78,    79,     0,     0,     0,     0,     0,
+       0,    81,     0,    92,     0,     0,    78,    79,     0,    82,
+      83,     0,    84,    93,    81,     0,    94,    85,     0,    95,
+      96,     0,    82,    83,     0,    84,    87,     0,     0,    97,
+      85,     0,     0,     0,     0,    98,     0,     0,    99,    87,
+      88,    89,     0,     0,     0,     0,     0,     0,     0,    90,
+       0,     0,    91,    88,   277,     0,     0,     0,     0,     0,
+       0,     0,    90,     0,     0,     0,     0,    92,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    93,     0,     0,
+      92,     0,     0,    95,    96,     0,     0,     0,     0,     0,
+      93,     0,     0,    97,     0,     0,    95,    96,     0,    98,
+       0,     0,     0,     0,     0,     0,    97,     0,     0,     0,
+       0,     0,    98
 };
 
 static const yytype_int16 yycheck[] =
 {
-       4,   142,    44,    12,   146,   119,   160,    11,    12,   138,
-       8,   275,     4,   208,     6,   247,    59,   146,     7,     7,
-       4,     5,     6,     7,     4,     4,     6,     6,    32,    72,
-      29,     8,    27,    37,    38,    39,    40,    41,    80,     8,
-       8,   189,    23,    24,    28,   231,   160,     4,    39,     6,
-      21,    22,   236,    69,    21,    22,    31,    99,   467,   201,
-      66,    50,    50,   387,    67,    78,     5,    29,    10,   121,
-     199,   135,   201,    21,    22,    29,    28,   231,    61,    30,
-      86,    65,   146,   121,   493,    60,   200,    21,    22,    21,
-      22,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,   105,    21,    22,   140,    71,    58,   143,   121,   118,
-      94,    95,   154,   117,   118,     0,   120,   231,   122,   443,
-     162,    36,   114,    37,   106,    61,    40,    41,   276,   145,
-     112,   134,   136,   137,   176,   321,   127,    71,   142,   128,
-     128,   325,   126,   186,   273,   122,   145,   145,   380,   144,
-      92,   134,   144,   144,   283,   284,   160,   114,    77,   201,
-     144,   165,   426,   125,   144,   144,   147,   321,   172,   364,
-     212,   175,   404,   215,   145,   407,   145,   145,   145,   118,
-     119,   295,   185,   137,    10,   189,   134,   191,   192,   193,
-     122,   386,   387,    53,    46,    47,   338,    45,   134,    83,
-     341,    74,   116,    71,   436,   247,   121,   321,     3,   338,
-     351,   253,   115,     4,    48,     6,    76,     0,   146,    45,
-     114,     4,    70,    17,    18,    19,   145,   231,   232,    55,
-      90,    91,   236,   106,    72,     4,    33,     6,   132,   144,
-     161,    79,    33,    26,   114,   399,    80,   251,   443,    87,
-     144,   255,   294,   113,   296,   103,   177,   125,    83,   140,
-     302,   142,   104,   405,   378,   137,    92,   309,   272,   273,
-      53,   109,   276,   414,   415,     5,   405,   103,   138,    95,
-     114,   129,   108,    77,   135,   399,   144,    72,   430,    46,
-      47,   420,   334,     9,    79,    21,    22,   144,     9,    84,
-      82,   430,    87,   129,   313,    21,    22,   145,    34,   313,
-      21,    22,   145,   146,   145,   146,     7,   321,   145,   146,
-       7,   325,    21,    22,   109,   145,   146,     4,     5,     6,
-       7,    57,     4,   144,     6,   377,     5,   341,   380,   343,
-     482,   145,   146,   144,    21,    22,    23,   351,   390,    21,
-      22,   144,     5,   482,    82,   145,   146,   146,    35,    36,
-      98,    33,   404,   367,   144,   407,    43,    44,   145,   146,
-     145,   146,   145,   146,    51,    52,    71,    54,   145,   146,
-       7,    58,    59,   145,   146,   145,   146,    64,   144,   144,
-      67,   145,   146,   534,   436,   399,   438,   145,   146,   145,
-     146,   542,   145,   146,    81,    82,     1,     7,     3,     7,
-     414,   415,    89,   144,   456,    92,   420,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    11,    21,    22,
-     107,   145,   146,   475,     8,   145,   146,    32,   145,   146,
-     117,   483,     9,   120,   145,   146,   123,   124,    20,   146,
-      62,   145,    71,    48,    49,   145,   133,   146,    73,    99,
-     145,    56,   139,   467,   144,    60,   508,   144,   145,    85,
-     474,    85,   131,   144,     4,     5,     6,     7,   144,   144,
-      10,   132,    62,     7,    77,    80,    97,    97,    97,   493,
-      84,    21,    22,     7,     7,    42,    75,    42,   145,    96,
-     504,   144,   144,   137,    27,    35,    36,   146,   144,    92,
-     105,   144,   516,    43,    44,    85,    92,    42,   144,   114,
-     101,    51,    52,   101,    54,    96,   144,    38,     7,    59,
-     534,    99,    95,    63,    64,   130,   144,    67,   542,   146,
-      42,    19,   137,   144,    88,   140,    42,     7,   136,   145,
-     108,    81,    82,    93,   146,   145,   102,   110,     9,    89,
-     102,    33,    92,    68,    68,     4,     5,     6,     7,   144,
-       7,    10,   110,   100,   198,   144,   251,   107,   144,   343,
-     145,    55,    21,    22,   114,   118,   370,   117,   124,    56,
-     120,   399,   483,   123,   124,   506,    35,    36,   162,   544,
-     508,   283,   153,   133,    43,    44,   284,   166,   199,   139,
-     171,   213,    51,    52,   144,    54,   115,   148,    -1,    -1,
-      59,    -1,    -1,    -1,    63,    64,   213,    -1,    67,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    81,    82,    -1,    -1,    -1,    -1,    -1,    -1,
-      89,    -1,    -1,    92,    -1,    -1,     4,     5,     6,     7,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,
-      -1,    -1,    -1,    21,    22,    23,    -1,    -1,   117,    -1,
-      -1,   120,    -1,    -1,   123,   124,    -1,    35,    36,    -1,
-      -1,    -1,    -1,    -1,   133,    43,    44,    -1,    -1,    -1,
-     139,    -1,    -1,    51,    52,   144,    54,    -1,    -1,    -1,
-      -1,    59,    -1,    -1,    -1,    -1,    64,    -1,    -1,    67,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    81,    82,    -1,    -1,    -1,    -1,    -1,
-      -1,    89,    -1,    -1,    92,    -1,    -1,     4,     5,     6,
-       7,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,
-      -1,    -1,    -1,    -1,    21,    22,    -1,    -1,    -1,   117,
-      -1,    -1,   120,    -1,    -1,   123,   124,    -1,    35,    36,
-      -1,    -1,    -1,    -1,    -1,   133,    43,    44,    -1,    -1,
-      -1,   139,    -1,    -1,    51,    52,   144,    54,    -1,    -1,
-      -1,    -1,    59,    -1,    -1,    -1,    -1,    64,    -1,    -1,
-      67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    81,    82,    -1,    -1,    -1,    -1,
-      -1,    -1,    89,    -1,    -1,    92,    -1,    -1,    -1,    -1,
-      -1,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,
-     107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    21,    22,
-     117,    -1,    -1,   120,    -1,    -1,   123,   124,    -1,    -1,
-      -1,    -1,    35,    36,    -1,    -1,   133,   134,    -1,    -1,
-      43,    44,   139,    -1,    -1,    -1,    -1,   144,    51,    52,
+       4,   142,    44,    13,   146,   119,   160,     8,    12,    13,
+      27,   275,   138,   208,     4,   247,     6,    67,    59,    39,
+     146,     5,   236,     4,     4,     6,     6,    29,    32,     8,
+       8,    72,    29,    37,    38,    39,    40,    41,    80,     8,
+     231,    23,    24,     4,   189,     6,   160,    21,    22,    63,
+      21,    22,    79,    21,    22,     7,     7,    99,    28,   201,
+      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+      63,    21,    22,   199,    31,   201,    10,   231,    21,    22,
+     467,     4,    29,     6,   134,    72,   200,   123,    58,    21,
+      22,     4,     5,     6,     7,   387,   123,    36,    50,    50,
+      72,   105,    34,    60,   123,   161,   493,    84,   118,   129,
+      33,   325,   154,   117,   118,    28,   120,   231,   122,    75,
+     162,   177,     0,    61,   144,    57,   116,   144,    78,   143,
+     321,   276,   136,   137,   176,   185,   120,   121,   142,    61,
+     127,    70,   139,   145,   145,   186,   124,   273,   380,   142,
+     124,   443,   108,    66,   144,   116,   160,   283,   284,   201,
+      94,   165,   426,   144,   144,   147,   145,   321,   172,   364,
+     212,   175,   404,   215,   145,   407,   145,   145,   130,   130,
+     127,   295,   121,    96,    97,   189,    30,   191,   192,   193,
+       3,   386,   387,   136,    53,   145,   338,    44,   136,    67,
+     341,    47,    21,    22,   436,   247,    73,   321,    45,    46,
+     351,   253,   338,    80,   136,   128,   145,    37,    77,    87,
+      40,    88,    45,    46,    71,   145,   146,   231,   232,    49,
+     137,   144,   236,    92,    93,    81,    17,    18,    19,   146,
+       1,     4,     3,     6,   111,   399,   117,   251,   443,   146,
+     108,   255,   294,    72,   296,   113,   115,     0,   105,    33,
+     302,     4,   116,   405,   378,   144,    10,   309,   272,   273,
+     116,    32,   276,   414,   415,   145,   146,   116,   145,   405,
+     134,   140,    84,    26,   131,   399,    47,    48,   430,     4,
+     144,     6,   334,     5,   420,    56,   106,    78,   118,    60,
+      44,     9,    63,   313,   430,   139,    21,    22,    97,   313,
+      53,    55,   144,    21,    22,   145,   146,   321,    33,   137,
+      81,   325,    10,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,     9,    21,    22,   377,     7,   341,   380,   343,
+     482,     7,    73,   144,    21,    22,   107,   351,   390,    80,
+      94,    21,    22,    83,    85,   116,   482,    88,   145,   146,
+     144,   105,   404,   367,     5,   407,   110,   145,   146,   145,
+     146,   132,   145,   146,   145,   146,   145,   146,   139,   144,
+     111,   145,   146,   145,   146,   145,   146,   131,   145,   146,
+      78,   145,   146,   534,   436,   399,   438,   145,   146,   145,
+     146,   542,   144,    83,     4,     5,     6,     7,   145,   146,
+     414,   415,   145,   146,   456,     5,   420,   145,   146,   145,
+     146,    21,    22,    23,    72,   146,   100,   144,     7,     7,
+     144,   144,     7,   475,    11,    35,    36,   144,     8,    20,
+       9,   483,    42,    43,   146,    62,   145,    72,   145,   101,
+     146,    51,    52,    74,    54,   145,    86,   144,    58,    59,
+      86,   144,   144,   467,   133,    65,   508,   134,    68,   144,
+     474,    62,     7,    85,     7,    99,    99,    99,     7,    41,
+      76,    41,    82,    83,   145,    98,   144,   144,    27,   493,
+     146,    91,   139,    94,    94,   144,    94,    86,   144,   144,
+     504,   103,   144,    98,   103,    41,    38,   101,   144,   109,
+       7,    97,   516,   146,    41,     4,     5,     6,     7,   119,
+      19,    10,   122,    90,   144,   125,   126,    41,     7,   145,
+     534,   138,    21,    22,   110,   135,   146,   145,   542,    95,
+     104,   141,     9,   104,   144,   145,    35,    36,    33,   112,
+      69,   144,   144,    42,    43,   112,   144,    69,   102,     7,
+     145,   198,    51,    52,   370,    54,   343,   251,    55,   118,
+      59,   124,    56,   399,   483,    64,    65,   544,   162,    68,
+     506,   508,   283,   166,   284,   199,   213,   115,   153,   171,
+     148,    -1,    -1,    82,    83,   213,    -1,    -1,    -1,    -1,
+      -1,    -1,    91,    -1,    -1,    94,    -1,    -1,    -1,    -1,
+      -1,     4,     5,     6,     7,    -1,    -1,    10,    -1,    -1,
+     109,    -1,    -1,    -1,    -1,    -1,    -1,   116,    21,    22,
+     119,    -1,    -1,   122,    -1,    -1,   125,   126,    -1,    -1,
+      -1,    -1,    35,    36,    -1,    -1,   135,    -1,    -1,    42,
+      43,    -1,   141,    -1,    -1,   144,    -1,    -1,    51,    52,
       -1,    54,    -1,    -1,    -1,    -1,    59,    -1,    -1,    -1,
-      -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    81,    82,
-      -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,    92,
-      -1,    -1,     4,     5,     6,     7,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,    21,
-      22,   114,    -1,    -1,   117,    -1,    -1,   120,    -1,    -1,
-     123,   124,    -1,    35,    36,    -1,    -1,    -1,    -1,    -1,
-     133,    43,    44,    -1,    -1,    -1,   139,    -1,    -1,    51,
-      52,   144,    54,    -1,    -1,    -1,    -1,    59,    -1,    -1,
-      -1,    63,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    81,
-      82,    -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,
-      92,    -1,    -1,     4,     5,     6,     7,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,
-      21,    22,    -1,    -1,    -1,   117,    -1,    -1,   120,    -1,
-      -1,   123,   124,    -1,    35,    36,    -1,    -1,    -1,    -1,
-      -1,   133,    43,    44,    -1,    -1,    -1,   139,    -1,    -1,
-      51,    52,   144,    54,    -1,    -1,    -1,    -1,    59,    -1,
-      -1,    -1,    -1,    64,    -1,    -1,    67,    -1,    -1,    -1,
+      -1,    64,    65,    -1,    -1,    68,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,
+      83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,
+      -1,    94,    -1,    -1,    -1,     4,     5,     6,     7,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,
+      -1,    -1,    21,    22,    23,    -1,   119,    -1,    -1,   122,
+      -1,    -1,   125,   126,    -1,    -1,    35,    36,    -1,    -1,
+      -1,    -1,   135,    42,    43,    -1,    -1,    -1,   141,    -1,
+      -1,   144,    51,    52,    -1,    54,    -1,    -1,    -1,    -1,
+      59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    82,    83,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    91,    -1,    -1,    94,    -1,    -1,    -1,     4,
+       5,     6,     7,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     109,    -1,    -1,    -1,    -1,    -1,    21,    22,    -1,    -1,
+     119,    -1,    -1,   122,    -1,    -1,   125,   126,    -1,    -1,
+      35,    36,    -1,    -1,    -1,    -1,   135,    42,    43,    -1,
+      -1,    -1,   141,    -1,    -1,   144,    51,    52,    -1,    54,
+      -1,    -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,
+      65,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    83,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,    -1,    94,
+      -1,    -1,    -1,    -1,     4,     5,     6,     7,    -1,    -1,
+      -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,    -1,
+      -1,    21,    22,    -1,   119,    -1,    -1,   122,    -1,    -1,
+     125,   126,    -1,    -1,    -1,    35,    36,    -1,    -1,    -1,
+     135,   136,    42,    43,    -1,    -1,   141,    -1,    -1,   144,
+      -1,    51,    52,    -1,    54,    -1,    -1,    -1,    -1,    59,
+      -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      81,    82,    -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,
-      -1,    92,    -1,    -1,     4,     5,     6,     7,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,
-      -1,    21,    22,    -1,    -1,    -1,   117,    -1,    -1,   120,
-      -1,    -1,   123,   124,    -1,    35,    36,    -1,    -1,    -1,
-      -1,    -1,   133,    43,    44,    -1,    -1,    -1,   139,    -1,
-      -1,    51,    52,   144,    54,    -1,    -1,    -1,    -1,    59,
-      -1,    -1,    -1,    -1,    64,    -1,    -1,    67,    -1,    -1,
+      -1,    -1,    82,    83,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    91,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,
+       4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,   109,
+      -1,    -1,    -1,    -1,    -1,    -1,   116,    21,    22,   119,
+      -1,    -1,   122,    -1,    -1,   125,   126,    -1,    -1,    -1,
+      -1,    35,    36,    -1,    -1,   135,    -1,    -1,    42,    43,
+      -1,   141,    -1,    -1,   144,    -1,    -1,    51,    52,    -1,
+      54,    -1,    -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,
+      64,    65,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    83,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,    -1,
+      94,    -1,    -1,    -1,     4,     5,     6,     7,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,
+      -1,    21,    22,    -1,    -1,   119,    -1,    -1,   122,    -1,
+      -1,   125,   126,    -1,    -1,    35,    36,    -1,    -1,    -1,
+      -1,   135,    42,    43,    -1,    -1,    -1,   141,    -1,    -1,
+     144,    51,    52,    -1,    54,    -1,    -1,    -1,    -1,    59,
+      -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    81,    82,     5,    -1,     7,    -1,    -1,    -1,    89,
-      -1,    -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,    21,
-      22,    -1,    35,    36,    -1,    -1,    -1,   107,    -1,    -1,
-      -1,    44,    -1,    35,    36,    -1,    -1,   117,    51,    52,
-     120,    54,    44,   123,   124,    -1,    59,    -1,    -1,    51,
-      52,    -1,    54,   133,    67,    -1,    -1,    59,    -1,   139,
-      -1,    -1,    -1,    -1,   144,    67,    -1,    -1,    81,    82,
-      -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,    81,
-      82,    -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,
-      92,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   117,   107,    -1,    -1,    -1,    -1,
-     123,   124,    -1,    -1,    -1,   117,    -1,    -1,    -1,    -1,
-     133,   123,   124,    -1,    -1,    -1,   139,    -1,    -1,    -1,
-      -1,   133,    -1,    -1,    -1,    -1,    -1,   139
+      -1,    -1,    82,    83,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    91,    -1,    -1,    94,    -1,    -1,    -1,     4,     5,
+       6,     7,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
+      -1,    -1,    -1,    -1,    -1,    21,    22,    -1,    -1,   119,
+      -1,    -1,   122,    -1,    -1,   125,   126,    -1,    -1,    35,
+      36,    -1,    -1,    -1,    -1,   135,    42,    43,    -1,    -1,
+      -1,   141,    -1,    -1,   144,    51,    52,    -1,    54,    -1,
+      -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,    65,
+      -1,    -1,    68,     5,    -1,     7,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    82,    83,    -1,    21,
+      22,    -1,    -1,    -1,    -1,    91,    -1,    -1,    94,    -1,
+      -1,    -1,    -1,    35,    36,    -1,    -1,    -1,    -1,    -1,
+      -1,    43,    -1,   109,    -1,    -1,    35,    36,    -1,    51,
+      52,    -1,    54,   119,    43,    -1,   122,    59,    -1,   125,
+     126,    -1,    51,    52,    -1,    54,    68,    -1,    -1,   135,
+      59,    -1,    -1,    -1,    -1,   141,    -1,    -1,   144,    68,
+      82,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
+      -1,    -1,    94,    82,    83,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    91,    -1,    -1,    -1,    -1,   109,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,
+     109,    -1,    -1,   125,   126,    -1,    -1,    -1,    -1,    -1,
+     119,    -1,    -1,   135,    -1,    -1,   125,   126,    -1,   141,
+      -1,    -1,    -1,    -1,    -1,    -1,   135,    -1,    -1,    -1,
+      -1,    -1,   141
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
      symbol of state STATE-NUM.  */
 static const yytype_uint16 yystos[] =
 {
-       0,     1,     3,    32,    48,    49,    56,    60,    80,   105,
-     114,   130,   137,   140,   149,   150,   151,   152,   153,   154,
+       0,     1,     3,    32,    47,    48,    56,    60,    63,    81,
+     107,   116,   132,   139,   149,   150,   151,   152,   153,   154,
      155,   177,   178,   181,   182,   185,   187,   190,   191,   192,
-     257,   258,   121,     4,     6,   190,   255,    78,   121,    71,
-     121,    83,    28,    58,   193,   255,   188,   189,   204,   255,
-       0,   140,   142,    48,    80,   190,    29,   137,   186,    30,
-     140,   143,     3,   255,   125,   179,    71,   179,   255,   255,
+     257,   258,   123,     4,     6,   190,   255,    79,   123,    72,
+     123,    84,    28,    58,   193,   255,   188,   189,   204,   255,
+       0,    63,   142,    47,    81,   190,    29,   139,   186,    30,
+      63,   143,     3,   255,   127,   179,    72,   179,   255,   255,
      255,   255,   255,     5,     7,    21,    22,    23,    35,    36,
-      43,    44,    51,    52,    54,    59,    64,    67,    81,    82,
-      89,    92,   107,   117,   120,   123,   124,   133,   139,   144,
+      42,    43,    51,    52,    54,    59,    65,    68,    82,    83,
+      91,    94,   109,   119,   122,   125,   126,   135,   141,   144,
      158,   194,   195,   196,   198,   230,   231,   232,   233,   234,
-     235,   236,   237,   244,   248,   251,   255,   115,   146,    33,
-     144,   190,    83,   186,   193,   104,   192,    31,    60,     5,
-     118,   119,   137,   180,     5,   180,    95,   144,   135,   224,
-     225,   132,   144,   192,     7,     7,   134,   230,   240,   241,
-     144,    82,   144,     5,   144,   144,    82,   190,   230,     5,
-      71,   197,   146,    21,    22,    33,   252,   255,    23,    24,
-     147,   253,    98,    22,   233,    27,   144,   183,   184,   255,
-     189,   144,   198,   254,   255,   179,   255,   191,     7,    46,
-      47,    46,    47,   144,   180,   255,   156,   157,   255,    10,
-      63,   144,   226,   227,   228,   229,   230,   248,   144,   247,
-     254,   226,   134,   238,   239,    61,   241,   242,     7,    53,
-      76,    90,    91,   113,   138,   245,   245,   230,     7,   145,
+     235,   236,   237,   244,   248,   251,   255,   117,   146,    33,
+     144,   190,    84,   186,   193,   106,   192,    31,    60,     5,
+     120,   121,   139,   180,     5,   180,    97,   144,   137,   224,
+     225,   134,   144,   192,     7,     7,   136,   230,   240,   241,
+     144,    83,   144,     5,   144,   144,    83,   190,   230,     5,
+      72,   197,   146,    21,    22,    33,   252,   255,    23,    24,
+     147,   253,   100,    22,   233,    27,   144,   183,   184,   255,
+     189,   144,   198,   254,   255,   179,   255,   191,     7,    45,
+      46,    45,    46,   144,   180,   255,   156,   157,   255,    10,
+      64,   144,   226,   227,   228,   229,   230,   248,   144,   247,
+     254,   226,   136,   238,   239,    61,   241,   242,     7,    53,
+      77,    92,    93,   115,   140,   245,   245,   230,     7,   145,
      145,   144,   198,   201,   202,   205,   234,   255,   224,   196,
      255,   231,   232,   144,   255,   255,    23,    58,   145,   230,
-     243,   146,   224,    11,   145,   146,   180,   192,   156,    45,
-      70,   103,   129,   162,   255,   255,   169,   170,   171,   172,
-     173,   174,   255,   144,   165,   145,   146,    82,   158,   229,
+     243,   146,   224,    11,   145,   146,   180,   192,   156,    44,
+      71,   105,   131,   162,   255,   255,   169,   170,   171,   172,
+     173,   174,   255,   144,   165,   145,   146,    83,   158,   229,
      198,   226,   230,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    77,   250,    20,   244,   246,
-     146,   145,   122,   230,   239,   242,   230,    62,   145,    71,
-      71,   145,   201,    33,   203,   204,    72,    79,    87,   109,
-     200,   146,   203,    39,   127,   199,    73,   206,    99,   213,
-     214,   145,   243,   145,   146,   184,   230,   255,   144,    85,
-      85,   144,   145,   146,     5,     7,    28,    65,    94,    95,
-     126,   144,   255,   256,   248,   249,   255,   131,   162,   163,
-     164,   156,    10,    45,    55,    92,   103,   108,   129,   159,
-     160,   161,   145,   227,   228,    17,    18,    19,    77,   230,
-     144,   198,   230,    10,    92,   145,   146,   144,   132,   230,
-     122,    62,   230,     7,   145,   204,    97,    97,    97,    84,
-     201,     7,     7,   203,    42,    75,   207,    42,   145,    96,
+      15,    16,    17,    18,    19,    78,   250,    20,   244,   246,
+     146,   145,   124,   230,   239,   242,   230,    62,   145,    72,
+      72,   145,   201,    33,   203,   204,    73,    80,    88,   111,
+     200,   146,   203,    39,   129,   199,    74,   206,   101,   213,
+     214,   145,   243,   145,   146,   184,   230,   255,   144,    86,
+      86,   144,   145,   146,     5,     7,    28,    66,    96,    97,
+     128,   144,   255,   256,   248,   249,   255,   133,   162,   163,
+     164,   156,    10,    44,    55,    94,   105,   110,   131,   159,
+     160,   161,   145,   227,   228,    17,    18,    19,    78,   230,
+     144,   198,   230,    10,    94,   145,   146,   144,   134,   230,
+     124,    62,   230,     7,   145,   204,    99,    99,    99,    85,
+     201,     7,     7,   203,    41,    76,   207,    41,   145,    98,
      215,   145,   230,   226,   144,   144,   254,   170,   254,   145,
-     146,    37,    40,    41,   116,   175,   146,   137,   166,    92,
-     144,   244,    85,   255,   159,   230,   144,   198,     9,   243,
-      92,   244,   246,   144,   230,   145,    69,   145,   202,   101,
-     101,   243,   226,    96,   208,   243,    42,   106,   112,   216,
+     146,    37,    40,    49,   118,   175,   146,   139,   166,    94,
+     144,   244,    86,   255,   159,   230,   144,   198,     9,   243,
+      94,   244,   246,   144,   230,   145,    70,   145,   202,   103,
+     103,   243,   226,    98,   208,   243,    41,   108,   113,   216,
      217,   145,   254,   254,   145,   145,   248,   144,   176,   162,
-      38,    99,   167,   226,   144,     9,   243,   230,   145,   145,
-     246,     7,    95,    42,    88,   209,   220,   221,   230,    19,
-     145,   145,   169,   144,    42,   145,   255,   230,   145,   145,
-     145,   226,   220,     7,   136,   210,   211,   212,   146,    34,
-      57,   222,     7,    50,   128,   218,   108,   145,   169,    74,
-     106,   168,   145,   255,   212,   221,    93,   223,   102,   110,
-     102,     9,   255,   145,   144,    33,    66,    86,     7,    50,
-     128,   219,   144,   254,   144,    68,   110,    68,   254,   145,
-     213,   145,   100,   145,     7
+      38,   101,   167,   226,   144,     9,   243,   230,   145,   145,
+     246,     7,    97,    41,    90,   209,   220,   221,   230,    19,
+     145,   145,   169,   144,    41,   145,   255,   230,   145,   145,
+     145,   226,   220,     7,   138,   210,   211,   212,   146,    34,
+      57,   222,     7,    50,   130,   218,   110,   145,   169,    75,
+     108,   168,   145,   255,   212,   221,    95,   223,   104,   112,
+     104,     9,   255,   145,   144,    33,    67,    87,     7,    50,
+     130,   219,   144,   254,   144,    69,   112,    69,   254,   145,
+     213,   145,   102,   145,     7
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
@@ -1996,7 +2010,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2000 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2014 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 4: /* TOKEN_NAME  */
@@ -2006,7 +2020,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2010 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2024 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 5: /* TOKEN_STRING_SINGLE_QUOTED  */
@@ -2016,7 +2030,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2020 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2034 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 6: /* TOKEN_STRING_DOUBLE_QUOTED  */
@@ -2026,7 +2040,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2030 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2044 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 7: /* TOKEN_UNSIGNED_NUMVAL  */
@@ -2036,7 +2050,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).numeric_literal_value_);
   }
 }
-#line 2040 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2054 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 150: /* sql_statement  */
@@ -2046,7 +2060,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).statement_);
   }
 }
-#line 2050 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2064 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 151: /* quit_statement  */
@@ -2056,7 +2070,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).quit_statement_);
   }
 }
-#line 2060 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2074 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 152: /* alter_table_statement  */
@@ -2066,7 +2080,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).statement_);
   }
 }
-#line 2070 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2084 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 153: /* create_table_statement  */
@@ -2076,7 +2090,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).create_table_statement_);
   }
 }
-#line 2080 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2094 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 154: /* create_index_statement  */
@@ -2086,7 +2100,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).statement_);
   }
 }
-#line 2090 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2104 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 155: /* drop_table_statement  */
@@ -2096,7 +2110,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).drop_table_statement_);
   }
 }
-#line 2100 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2114 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 156: /* column_def  */
@@ -2106,7 +2120,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).attribute_definition_);
   }
 }
-#line 2110 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2124 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 157: /* column_def_commalist  */
@@ -2116,7 +2130,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).attribute_definition_list_);
   }
 }
-#line 2120 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2134 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 158: /* data_type  */
@@ -2126,7 +2140,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).data_type_);
   }
 }
-#line 2130 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2144 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 159: /* column_constraint_def  */
@@ -2136,7 +2150,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).column_constraint_);
   }
 }
-#line 2140 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2154 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 160: /* column_constraint_def_list  */
@@ -2146,7 +2160,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).column_constraint_list_);
   }
 }
-#line 2150 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2164 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 161: /* opt_column_constraint_def_list  */
@@ -2156,7 +2170,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).column_constraint_list_);
   }
 }
-#line 2160 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2174 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 165: /* opt_column_list  */
@@ -2166,7 +2180,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).attribute_list_);
   }
 }
-#line 2170 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2184 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 166: /* opt_block_properties  */
@@ -2176,7 +2190,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).block_properties_);
   }
 }
-#line 2180 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2194 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 167: /* opt_partition_clause  */
@@ -2186,7 +2200,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).partition_clause_);
   }
 }
-#line 2190 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2204 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 168: /* partition_type  */
@@ -2196,7 +2210,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2200 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2214 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 169: /* key_value_list  */
@@ -2206,7 +2220,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_value_list_);
   }
 }
-#line 2210 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2224 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 170: /* key_value  */
@@ -2216,7 +2230,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_value_);
   }
 }
-#line 2220 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2234 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 171: /* key_string_value  */
@@ -2226,7 +2240,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_string_value_);
   }
 }
-#line 2230 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2244 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 172: /* key_string_list  */
@@ -2236,7 +2250,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_string_list_);
   }
 }
-#line 2240 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2254 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 173: /* key_integer_value  */
@@ -2246,7 +2260,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_integer_value_);
   }
 }
-#line 2250 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2264 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 174: /* key_bool_value  */
@@ -2256,7 +2270,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_bool_value_);
   }
 }
-#line 2260 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2274 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 175: /* index_type  */
@@ -2266,7 +2280,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2270 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2284 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 176: /* opt_index_properties  */
@@ -2276,7 +2290,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_value_list_);
   }
 }
-#line 2280 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2294 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 177: /* insert_statement  */
@@ -2286,7 +2300,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).insert_statement_);
   }
 }
-#line 2290 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2304 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 178: /* copy_statement  */
@@ -2296,7 +2310,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).copy_statement_);
   }
 }
-#line 2300 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2314 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 179: /* copy_to_target  */
@@ -2306,7 +2320,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).string_value_);
   }
 }
-#line 2310 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2324 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 180: /* opt_copy_params  */
@@ -2316,7 +2330,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).key_value_list_);
   }
 }
-#line 2320 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2334 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 181: /* update_statement  */
@@ -2326,7 +2340,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).update_statement_);
   }
 }
-#line 2330 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2344 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 182: /* delete_statement  */
@@ -2336,7 +2350,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).delete_statement_);
   }
 }
-#line 2340 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2354 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 183: /* assignment_list  */
@@ -2346,7 +2360,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).assignment_list_);
   }
 }
-#line 2350 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2364 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 184: /* assignment_item  */
@@ -2356,7 +2370,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).assignment_);
   }
 }
-#line 2360 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2374 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 185: /* set_operation_statement  */
@@ -2366,7 +2380,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).set_operation_statement_);
   }
 }
-#line 2370 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2384 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 186: /* opt_priority_clause  */
@@ -2376,7 +2390,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_priority_clause_);
   }
 }
-#line 2380 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2394 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 187: /* with_clause  */
@@ -2386,7 +2400,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).with_list_);
   }
 }
-#line 2390 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2404 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 188: /* with_list  */
@@ -2396,7 +2410,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).with_list_);
   }
 }
-#line 2400 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2414 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 189: /* with_list_element  */
@@ -2406,7 +2420,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).with_list_element_);
   }
 }
-#line 2410 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2424 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 190: /* set_operation_union  */
@@ -2416,7 +2430,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).set_operation_);
   }
 }
-#line 2420 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2434 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 191: /* set_operation_intersect  */
@@ -2426,7 +2440,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).set_operation_);
   }
 }
-#line 2430 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2444 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 192: /* select_query  */
@@ -2436,13 +2450,13 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).select_query_);
   }
 }
-#line 2440 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2454 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 193: /* opt_all_distinct  */
 #line 629 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2446 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2460 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 194: /* selection  */
@@ -2452,7 +2466,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).selection_);
   }
 }
-#line 2456 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2470 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 195: /* selection_item_commalist  */
@@ -2462,7 +2476,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).selection_list_);
   }
 }
-#line 2466 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2480 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 196: /* selection_item  */
@@ -2472,7 +2486,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).selection_item_);
   }
 }
-#line 2476 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2490 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 197: /* from_clause  */
@@ -2482,7 +2496,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_list_);
   }
 }
-#line 2486 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2500 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 198: /* subquery_expression  */
@@ -2492,7 +2506,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).subquery_expression_);
   }
 }
-#line 2496 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2510 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 199: /* opt_sample_clause  */
@@ -2502,13 +2516,13 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_sample_clause_);
   }
 }
-#line 2506 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2520 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 200: /* join_type  */
 #line 633 "../SqlParser.ypp" /* yacc.c:1257  */
       { }
-#line 2512 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2526 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 201: /* joined_table_reference  */
@@ -2518,7 +2532,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_);
   }
 }
-#line 2522 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2536 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 202: /* table_reference  */
@@ -2528,7 +2542,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_);
   }
 }
-#line 2532 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2546 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 203: /* table_reference_signature  */
@@ -2538,7 +2552,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_signature_);
   }
 }
-#line 2542 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2556 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 204: /* table_reference_signature_primary  */
@@ -2548,7 +2562,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_signature_);
   }
 }
-#line 2552 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2566 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 205: /* joined_table_reference_commalist  */
@@ -2558,7 +2572,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).table_reference_list_);
   }
 }
-#line 2562 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2576 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 206: /* opt_group_by_clause  */
@@ -2568,7 +2582,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_group_by_clause_);
   }
 }
-#line 2572 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2586 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 207: /* opt_having_clause  */
@@ -2578,7 +2592,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_having_clause_);
   }
 }
-#line 2582 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2596 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 208: /* opt_order_by_clause  */
@@ -2588,7 +2602,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_order_by_clause_);
   }
 }
-#line 2592 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2606 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 209: /* opt_limit_clause  */
@@ -2598,7 +2612,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_limit_clause_);
   }
 }
-#line 2602 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2616 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 210: /* opt_window_clause  */
@@ -2608,7 +2622,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_window_clause_);
   }
 }
-#line 2612 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2626 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 211: /* window_declaration_list  */
@@ -2618,7 +2632,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).opt_window_clause_);
   }
 }
-#line 2622 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2636 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 212: /* window_declaration  */
@@ -2628,7 +2642,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).window_definition_);
   }
 }
-#line 2632 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2646 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 213: /* window_definition  */
@@ -2638,7 +2652,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).window_definition_);
   }
 }
-#line 2642 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2656 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 214: /* opt_window_partition  */
@@ -2648,7 +2662,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).window_partition_by_list_);
   }
 }
-#line 2652 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#line 2666 "SqlParser_gen.cpp" /* yacc.c:1257  */
         break;
 
     case 215: /* opt_window_order  */
@@ -2658,7 +2672,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
     delete ((*yyvaluep).window_order_by_list_);
   }
 }
-#line 2662 "SqlParser_gen.cpp" /* yacc.c:1257  */
+#l

<TRUNCATED>


Mime
View raw message