]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3448] fixed netconf master
authorRazvan Becheriu <razvan@isc.org>
Mon, 20 Apr 2026 17:50:57 +0000 (20:50 +0300)
committerRazvan Becheriu <razvan@isc.org>
Mon, 20 Apr 2026 17:50:57 +0000 (20:50 +0300)
src/bin/d2/d2_lexer.cc
src/bin/dhcp4/dhcp4_lexer.cc
src/bin/dhcp6/dhcp6_lexer.cc
src/bin/netconf/netconf_lexer.cc
src/bin/netconf/netconf_lexer.ll
src/bin/netconf/netconf_parser.cc
src/bin/netconf/netconf_parser.h
src/bin/netconf/netconf_parser.yy
src/lib/eval/lexer.cc

index 92e386daa044963e7e9cac805169cb5d2d2eb168..1e56767ffbb43ff890c5a4bd045149841571ae37 100644 (file)
@@ -1,6 +1,6 @@
-#line 1 "d2_lexer.cc"
+#line 2 "d2_lexer.cc"
 
-#line 3 "d2_lexer.cc"
+#line 4 "d2_lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
@@ -1214,7 +1214,7 @@ unsigned int comment_start_line = 0;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::d2::D2ParserContext::fatal(msg)
-#line 1217 "d2_lexer.cc"
+#line 1218 "d2_lexer.cc"
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
@@ -1240,8 +1240,8 @@ unsigned int comment_start_line = 0;
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
-#line 1243 "d2_lexer.cc"
 #line 1244 "d2_lexer.cc"
+#line 1245 "d2_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -1561,7 +1561,7 @@ YY_DECL
     }
 
 
-#line 1564 "d2_lexer.cc"
+#line 1565 "d2_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -2812,7 +2812,7 @@ YY_RULE_SETUP
 #line 1022 "d2_lexer.ll"
 ECHO;
        YY_BREAK
-#line 2815 "d2_lexer.cc"
+#line 2816 "d2_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
index 7e602585adab3efa430c847f17475e36d39daf1e..9d7e68689e50d453631e87ccab04fe9d42250281 100644 (file)
@@ -1,6 +1,6 @@
-#line 1 "dhcp4_lexer.cc"
+#line 2 "dhcp4_lexer.cc"
 
-#line 3 "dhcp4_lexer.cc"
+#line 4 "dhcp4_lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
@@ -2311,7 +2311,7 @@ using namespace isc::dhcp;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
-#line 2314 "dhcp4_lexer.cc"
+#line 2315 "dhcp4_lexer.cc"
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
@@ -2337,8 +2337,8 @@ using namespace isc::dhcp;
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
-#line 2340 "dhcp4_lexer.cc"
 #line 2341 "dhcp4_lexer.cc"
+#line 2342 "dhcp4_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -2666,7 +2666,7 @@ YY_DECL
     }
 
 
-#line 2669 "dhcp4_lexer.cc"
+#line 2670 "dhcp4_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -6008,7 +6008,7 @@ YY_RULE_SETUP
 #line 2642 "dhcp4_lexer.ll"
 ECHO;
        YY_BREAK
-#line 6011 "dhcp4_lexer.cc"
+#line 6012 "dhcp4_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
index fe8b36bb9a526165f295a7e82b6edc1227a327b2..aabce984479645c3c63b1f30f6945ff5ecaa7d6b 100644 (file)
@@ -1,6 +1,6 @@
-#line 1 "dhcp6_lexer.cc"
+#line 2 "dhcp6_lexer.cc"
 
-#line 3 "dhcp6_lexer.cc"
+#line 4 "dhcp6_lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
@@ -2297,7 +2297,7 @@ using namespace isc::dhcp;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
-#line 2300 "dhcp6_lexer.cc"
+#line 2301 "dhcp6_lexer.cc"
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
@@ -2323,8 +2323,8 @@ using namespace isc::dhcp;
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
-#line 2326 "dhcp6_lexer.cc"
 #line 2327 "dhcp6_lexer.cc"
+#line 2328 "dhcp6_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -2654,7 +2654,7 @@ YY_DECL
     }
 
 
-#line 2657 "dhcp6_lexer.cc"
+#line 2658 "dhcp6_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -6048,7 +6048,7 @@ YY_RULE_SETUP
 #line 2684 "dhcp6_lexer.ll"
 ECHO;
        YY_BREAK
-#line 6051 "dhcp6_lexer.cc"
+#line 6052 "dhcp6_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
index 3184004df43dccdded4071516c1133dcd4e8a892..1dd9cc1d8993bdbdb1fea98552be51fd5f574615 100644 (file)
@@ -1,6 +1,6 @@
-#line 1 "netconf_lexer.cc"
+#line 2 "netconf_lexer.cc"
 
-#line 3 "netconf_lexer.cc"
+#line 4 "netconf_lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
@@ -691,8 +691,8 @@ static void yynoreturn yy_fatal_error ( const char* msg  );
 /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
        (yy_c_buf_p) = yy_cp;
 /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
-#define YY_NUM_RULES 64
-#define YY_END_OF_BUFFER 65
+#define YY_NUM_RULES 63
+#define YY_END_OF_BUFFER 64
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -700,48 +700,48 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static const flex_int16_t yy_accept[371] =
+static const flex_int16_t yy_accept[369] =
     {   0,
-       57,   57,    0,    0,    0,    0,    0,    0,    0,    0,
-       65,   63,   10,   11,   63,    1,   57,   54,   57,   57,
-       63,   56,   55,   63,   63,   63,   63,   63,   50,   51,
-       63,   63,   63,   52,   53,    5,    5,    5,   63,   63,
-       63,   10,   11,    0,    0,   45,    0,    0,    0,    0,
+       56,   56,    0,    0,    0,    0,    0,    0,    0,    0,
+       64,   62,   10,   11,   62,    1,   56,   53,   56,   56,
+       62,   55,   54,   62,   62,   62,   62,   62,   49,   50,
+       62,   62,   62,   51,   52,    5,    5,    5,   62,   62,
+       62,   10,   11,    0,    0,   44,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    1,   57,   57,    0,   56,   57,    3,    2,    6,
-        0,   57,    0,    0,    0,    0,    0,    0,    4,    0,
-        0,    9,    0,   46,    0,    0,    0,   48,    0,    0,
+        0,    1,   56,   56,    0,   55,   56,    3,    2,    6,
+        0,   56,    0,    0,    0,    0,    0,    0,    4,    0,
+        0,    9,    0,   45,    0,    0,    0,   47,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    2,    0,    0,    0,    0,    0,    0,    0,
-        8,    0,    0,   47,   49,    0,    0,   22,    0,    0,
-       21,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    2,    0,    0,    0,    0,    0,    0,    0,    8,
+        0,    0,   46,   48,    0,    0,    0,    0,   21,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   62,   60,    0,   59,   58,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   61,   59,    0,   58,   57,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,   61,   58,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   26,
-
-        0,    0,    0,    0,    0,    0,   35,    0,    0,    0,
-        0,    0,    0,    0,   25,    0,    0,    0,    0,    0,
-        0,    0,    0,   19,   20,   39,    0,    0,    0,    0,
-        0,    0,   23,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    7,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   41,   38,    0,    0,    0,    0,    0,
-        0,   27,    0,    0,    0,   12,    0,   14,    0,    0,
-        0,   32,   34,    0,   40,    0,    0,    0,   42,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   44,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,   60,   57,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,   25,    0,    0,
+
+        0,    0,    0,    0,   34,    0,    0,    0,    0,    0,
+        0,    0,   24,    0,    0,    0,    0,    0,    0,    0,
+        0,   19,   20,   38,    0,    0,    0,    0,    0,    0,
+       22,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        7,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   40,   37,    0,    0,    0,    0,    0,    0,   26,
+        0,    0,    0,   12,    0,   14,    0,    0,    0,   31,
+       33,    0,   39,    0,    0,    0,   41,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,   43,    0,    0,    0,    0,    0,    0,    0,
 
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,   43,    0,    0,
-        0,    0,   33,    0,    0,   30,    0,    0,    0,   15,
-        0,    0,    0,    0,    0,   29,   28,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,   13,    0,    0,    0,
-        0,    0,    0,    0,    0,   24,    0,    0,   37,   36,
-        0,    0,   31,   18,    0,    0,    0,   17,   16,    0
+        0,    0,    0,    0,    0,   42,    0,    0,    0,    0,
+       32,    0,    0,   29,    0,    0,    0,   15,    0,    0,
+        0,    0,    0,   28,   27,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,   13,    0,    0,    0,    0,    0,
+        0,    0,    0,   23,    0,    0,   36,   35,    0,    0,
+       30,   18,    0,    0,    0,   17,   16,    0
     } ;
 
 static const YY_CHAR yy_ec[256] =
@@ -786,97 +786,97 @@ static const YY_CHAR yy_meta[61] =
         4,    1,    4,    4,    1,    1,    1,    1,    1,    1
     } ;
 
-static const flex_int16_t yy_base[380] =
+static const flex_int16_t yy_base[378] =
     {   0,
         0,    0,   59,   62,   65,    0,   63,   67,   47,   64,
-      286, 2508,   84,  259,  125,    0,  105, 2508,  120,  125,
-       85,  169, 2508,  238,  139,   65,   69,   82, 2508, 2508,
-       80,   84,  118, 2508, 2508, 2508,   92,  205,  168,    0,
-      193,  110,  205,   97,  186, 2508,  193,  184,  201,  209,
+      283, 2475,   84,  259,  125,    0,  105, 2475,  120,  125,
+       85,  169, 2475,  231,  139,   65,   69,   82, 2475, 2475,
+       80,   84,  118, 2475, 2475, 2475,   92,  205,  168,    0,
+      193,  110,  205,   97,  186, 2475,  193,  184,  201,  209,
       221,  238,  245,  264,  254,  271,  279,  290,  299,  308,
-      314,    0,  314,  347,  358,  364,  368, 2508,    0, 2508,
-      214,  320,  121,  152,  128,  174,  217,  160, 2508,  168,
-      199, 2508,  137, 2508,    0,  388,  195,  394,  436,  400,
-      410,  422,  429,  462,  477,  483,  490,  499,  505,  511,
-
-      518,  524,  544,  553,  559,  566,  578,  587,  594,  601,
-      616,  622,    0,  223,  223,  255,  224,  242,  259,  130,
-     2508,  634,  155, 2508, 2508,  659,  656, 2508,  645,  684,
-     2508,  700,  709,  717,  723,  729,  737,  743,  771,  780,
-      788,  794,  800,  808,  814,  823,  836,  851,  858,  869,
-      876,  884,  282, 2508, 2508,  300, 2508, 2508,  103,  891,
-      927,  902,  913,  928,  953,  968,  974,  986,  996, 1003,
-     1009, 1019, 1025, 1031, 1042, 1053, 1064, 1075, 1081, 1090,
-     1097, 1103, 1109, 1123, 1132, 1143, 2508, 2508,  112, 1152,
-     1187, 1160, 1172, 1166, 1185, 1231, 1237, 1243, 1249, 2508,
-
-     1255, 1265, 1271, 1277, 1288, 1294, 2508, 1311, 1317, 1323,
-     1335, 1345, 1352, 1359, 2508, 1369, 1380,   64, 1387, 1393,
-     1416, 1428, 1435, 2508, 2508, 2508, 1444, 1450, 1456, 1464,
-     1478, 1490, 2508, 1498, 1511, 1518, 1524, 1534, 1540, 1546,
-     1552, 1559, 2508, 1569, 1580, 1592, 1603, 1614, 1620, 1626,
-     1632, 1638, 1649, 2508, 2508, 1655, 1672, 1678, 1684, 1690,
-     1696, 2508, 1706, 1713, 1724, 2508, 1730, 2508, 1739, 1750,
-     1767, 2508, 2508, 1773, 2508, 1779, 1786, 1793, 2508, 1807,
-     1814, 1821, 1829, 1836, 1850, 1857, 1864, 1871, 1883, 1890,
-     1899, 1905, 1912, 1924, 2508, 1934, 1941, 1947, 1953, 1967,
-
-     1976, 1982, 1993, 2000, 2010, 2017, 2026, 2033, 2039, 2046,
-     2052, 2061, 2072, 2081, 2087, 2094, 2100, 2508, 2106, 2115,
-     2122, 2140, 2508, 2148, 2157, 2508, 2163, 2174, 2181, 2508,
-     2191, 2197, 2207, 2217, 2231, 2508, 2508, 2242, 2250, 2256,
-     2265, 2279, 2289, 2299, 2305, 2314, 2508, 2322, 2328, 2340,
-     2347, 2357, 2364, 2373, 2380, 2508, 2392, 2399, 2508, 2508,
-     2406, 2415, 2508, 2508, 2421, 2427, 2435, 2508, 2508, 2508,
-     2473, 2477, 2481, 2485, 2489, 2493, 2497, 2499, 2503
+      314,    0,  314,  347,  358,  364,  368, 2475,    0, 2475,
+      214,  320,  121,  152,  128,  174,  217,  160, 2475,  168,
+      199, 2475,  137, 2475,    0,  388,  195,  394,  436,  400,
+      422,  410,  429,  462,  477,  483,  490,  496,  502,  512,
+
+      518,  536,  546,  552,  560,  569,  575,  585,  594,  610,
+      618,    0,  216,  223,  235,  224,  253,  282,  130, 2475,
+      627,  155, 2475, 2475,  652,  646,  638,  653, 2475,  681,
+      694,  701,  707,  714,  722,  730,  748,  736,  756,  764,
+      773,  784,  792,  799,  807,  813,  825,  832,  841,  847,
+      300, 2475, 2475,  303, 2475, 2475,  103,  853,  889,  865,
+      914,  930,  936,  942,  949,  964,  970,  982,  988,  998,
+     1004, 1011, 1021, 1032, 1040, 1054, 1060, 1069, 1075, 1083,
+     1089, 1103, 1122, 1111, 2475, 2475,  112, 1128, 1163, 1137,
+     1150, 1156, 1162, 1191, 1208, 1214, 1220, 2475, 1226, 1232,
+
+     1242, 1248, 1254, 1260, 2475, 1266, 1283, 1289, 1295, 1301,
+     1308, 1323, 2475, 1329, 1342,   64, 1349, 1362, 1370, 1378,
+     1385, 2475, 2475, 2475, 1395, 1403, 1413, 1428, 1436, 1442,
+     2475, 1448, 1471, 1483, 1489, 1495, 1506, 1512, 1524, 1531,
+     2475, 1545, 1552, 1559, 1565, 1580, 1587, 1593, 1599, 1605,
+     1616, 2475, 2475, 1622, 1639, 1645, 1651, 1657, 1663, 2475,
+     1673, 1680, 1691, 2475, 1697, 2475, 1706, 1717, 1734, 2475,
+     2475, 1740, 2475, 1746, 1753, 1760, 2475, 1774, 1781, 1788,
+     1796, 1803, 1817, 1824, 1831, 1838, 1850, 1857, 1866, 1872,
+     1879, 1891, 2475, 1901, 1908, 1914, 1920, 1934, 1943, 1949,
+
+     1960, 1967, 1977, 1984, 1993, 2000, 2006, 2013, 2019, 2028,
+     2039, 2048, 2054, 2061, 2067, 2475, 2073, 2082, 2089, 2107,
+     2475, 2115, 2124, 2475, 2130, 2141, 2148, 2475, 2158, 2164,
+     2174, 2184, 2198, 2475, 2475, 2209, 2217, 2223, 2232, 2246,
+     2256, 2266, 2272, 2281, 2475, 2289, 2295, 2307, 2314, 2324,
+     2331, 2340, 2347, 2475, 2359, 2366, 2475, 2475, 2373, 2382,
+     2475, 2475, 2388, 2394, 2402, 2475, 2475, 2475, 2440, 2444,
+     2448, 2452, 2456, 2460, 2464, 2466, 2470
     } ;
 
-static const flex_int16_t yy_def[380] =
+static const flex_int16_t yy_def[378] =
     {   0,
-      370,    1,  371,  371,    1,    5,    5,    5,    5,    5,
-      370,  370,  370,  370,  372,  373,  370,  370,  370,  370,
+      368,    1,  369,  369,    1,    5,    5,    5,    5,    5,
+      368,  368,  368,  368,  370,  371,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  372,
+      368,  368,  368,  373,  370,  368,  370,  374,  370,  370,
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  371,  368,  368,  368,  368,  368,  368,  375,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      372,  368,  373,  368,  376,  370,  377,  370,  374,  370,
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  375,  368,  368,  368,  368,  368,  368,  368,  368,
+      370,  377,  368,  368,   89,  370,  370,  370,  368,  370,
       370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  374,
-      370,  370,  370,  375,  372,  370,  372,  376,  372,  372,
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  373,  370,  370,  370,  370,  370,  370,  377,  370,
       370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      374,  370,  375,  370,  378,  372,  379,  372,  376,  372,
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  377,  370,  370,  370,  370,  370,  370,  370,
-      370,  372,  379,  370,  370,   89,  372,  370,  372,  372,
-      370,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  370,  370,  370,  370,  370,  370,  370,  372,
-       89,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  372,  372,  372,  372,  370,  370,  370,  372,
-       89,  372,  372,  372,  372,  372,  372,  372,  372,  370,
-
-      372,  372,  372,  372,  372,  372,  370,  372,  372,  372,
-      372,  372,  372,  372,  370,  372,  372,  370,  372,  372,
-      372,  372,  372,  370,  370,  370,  372,  372,  372,  372,
-      372,  372,  370,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  370,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  372,  370,  370,  372,  372,  372,  372,  372,
-      372,  370,  372,  372,  372,  370,  372,  370,  372,  372,
-      372,  370,  370,  372,  370,  372,  372,  372,  370,  372,
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  372,  372,  370,  372,  372,  372,  372,  372,
-
-      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
-      372,  372,  372,  372,  372,  372,  372,  370,  372,  372,
-      372,  372,  370,  372,  372,  370,  372,  372,  372,  370,
-      372,  372,  372,  372,  372,  370,  370,  372,  372,  372,
-      372,  372,  372,  372,  372,  372,  370,  372,  372,  372,
-      372,  372,  372,  372,  372,  370,  372,  372,  370,  370,
-      372,  372,  370,  370,  372,  372,  372,  370,  370,    0,
-      370,  370,  370,  370,  370,  370,  370,  370,  370
+      368,  368,  368,  368,  368,  368,  368,  370,   89,  370,
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  370,  370,  370,  368,  368,  368,  370,   89,  370,
+      370,  370,  370,  370,  370,  370,  370,  368,  370,  370,
+
+      370,  370,  370,  370,  368,  370,  370,  370,  370,  370,
+      370,  370,  368,  370,  370,  368,  370,  370,  370,  370,
+      370,  368,  368,  368,  370,  370,  370,  370,  370,  370,
+      368,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      368,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  368,  368,  370,  370,  370,  370,  370,  370,  368,
+      370,  370,  370,  368,  370,  368,  370,  370,  370,  368,
+      368,  370,  368,  370,  370,  370,  368,  370,  370,  370,
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  370,  368,  370,  370,  370,  370,  370,  370,  370,
+
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  370,  370,  370,  370,  368,  370,  370,  370,  370,
+      368,  370,  370,  368,  370,  370,  370,  368,  370,  370,
+      370,  370,  370,  368,  368,  370,  370,  370,  370,  370,
+      370,  370,  370,  370,  368,  370,  370,  370,  370,  370,
+      370,  370,  370,  368,  370,  370,  368,  368,  370,  370,
+      368,  368,  370,  370,  370,  368,  368,    0,  368,  368,
+      368,  368,  368,  368,  368,  368,  368
     } ;
 
-static const flex_int16_t yy_nxt[2569] =
+static const flex_int16_t yy_nxt[2536] =
     {   0,
        12,   13,   14,   13,   12,   15,   16,   12,   17,   18,
        19,   20,   21,   22,   22,   22,   22,   23,   24,   12,
@@ -889,280 +889,277 @@ static const flex_int16_t yy_nxt[2569] =
        12,   12,   12,   12,   41,   42,   73,   42,   12,   12,
        12,   12,   68,   42,   12,   42,   12,   69,   12,   74,
 
-       73,   73,   84,  243,   12,   12,   12,   12,   39,   75,
+       73,   73,   84,  241,   12,   12,   12,   12,   39,   75,
        12,   42,   12,   42,   74,   76,   63,   12,   64,   64,
        64,   64,   74,   12,   12,   44,   44,   44,   65,   85,
        46,   63,   75,   66,   66,   66,   66,   77,   67,   67,
-       67,   67,   84,   65,   65,   75,  114,   71,   65,   71,
-      218,   47,   72,   72,   72,   72,  189,   48,  116,   65,
-      124,   49,   50,   51,   65,   52,  114,   53,   78,   85,
-       54,   55,   56,   57,   58,  159,   59,  115,   60,   61,
-       63,  116,   66,   66,   66,   66,   44,   44,   44,   88,
-      116,   46,   65,   44,   44,   44,   45,  115,   46,  114,
-
-      124,   44,   44,   44,  121,  120,   46,   43,   65,   44,
-       44,   44,   82,  119,   46,   80,   45,   79,   48,  117,
+       67,   67,   84,   65,   65,   75,  113,   71,   65,   71,
+      216,   47,   72,   72,   72,   72,  187,   48,  115,   65,
+      123,   49,   50,   51,   65,   52,  113,   53,   78,   85,
+       54,   55,   56,   57,   58,  157,   59,  114,   60,   61,
+       63,  115,   66,   66,   66,   66,   44,   44,   44,   88,
+      115,   46,   65,   44,   44,   44,   45,  114,   46,  113,
+
+      123,   44,   44,   44,  120,  119,   46,   43,   65,   44,
+       44,   44,   82,  118,   46,   80,   45,   79,   48,  116,
        45,   44,   44,   44,   45,   48,   46,   72,   72,   72,
-       72,   45,   86,   48,   45,   93,   45,   89,   44,   44,
-       44,   48,  115,   46,   91,   44,   44,   44,  154,   90,
-       46,  153,  153,   48,   44,   44,   44,   92,   70,   46,
-       94,   43,  118,   95,   44,   44,   44,  154,  154,   46,
-       48,   44,   44,   44,  153,  156,   46,   48,  155,   44,
-       44,   44,  155,   96,   46,  370,   48,  157,  370,  101,
-       44,   44,   44,   97,  155,   46,   48,   98,  158,   44,
-
-       44,   44,  102,   48,   46,  187,  103,   99,   44,   44,
-       44,   48,  100,   46,   44,   44,   44,  370,  370,   46,
-      370,  187,   48,  187,  370,  105,  370,   67,   67,   67,
-       67,   48,  104,   72,   72,   72,   72,   65,  106,  188,
-       48,  370,  370,  370,  370,  370,   48,  107,  370,  112,
-      370,  108,  109,   65,  370,  110,  370,  370,   63,  111,
-       64,   64,   64,   64,  370,  370,   71,  370,   71,  370,
-       65,   72,   72,   72,   72,   63,  370,   66,   66,   66,
-       66,   67,   67,   67,   67,  370,   65,   65,   44,   44,
-       44,   65,  370,   46,   44,   44,   44,  370,  370,   46,
-
-       44,   44,   44,   65,  370,   46,  370,   65,  370,  370,
-       44,   44,   44,  370,  370,  128,  370,  370,  370,  370,
-       48,  370,   44,   44,   44,  370,   48,   46,  370,   44,
-       44,   44,   48,  370,  131,  370,  370,  370,  370,  370,
-      122,  125,   48,  370,  370,  370,  370,  370,  127,  126,
-      126,  126,  126,  370,   48,  370,  370,  126,  126,  126,
-      126,   48,   44,   44,   44,  370,  370,   46,  129,  130,
-      370,  126,  126,  126,  126,  126,  126,   44,   44,   44,
-      370,  370,   46,   44,   44,   44,  370,  370,   46,  370,
-       44,   44,   44,  370,   48,   46,  370,  370,  132,   44,
-
-       44,   44,  370,  370,   46,   44,   44,   44,  370,   48,
-       46,   44,   44,   44,  133,   48,   46,  370,   44,   44,
-       44,  370,   48,   46,   44,   44,   44,  370,  370,   46,
-      370,   48,  370,  370,  370,  370,  134,   48,  135,  370,
-      370,  137,  370,   48,   44,   44,   44,  370,  370,   46,
-       48,  136,  138,   44,   44,   44,   48,  370,   46,   44,
-       44,   44,  141,  370,   46,  139,   44,   44,   44,  370,
-      370,   46,  370,  140,  370,  370,   48,  370,   44,   44,
-       44,  370,  370,   46,  370,   48,  370,   44,   44,   44,
-      142,   48,   46,  370,   44,   44,   44,  370,   48,   46,
-
-      370,   44,   44,   44,  370,  143,   46,  370,  370,  144,
-       48,  145,  370,  370,  370,  147,   44,   44,   44,   48,
-      146,   46,   44,   44,   44,  148,   48,   46,  370,  370,
-      149,  370,  370,   48,   44,   44,   44,  370,  370,   46,
-      370,  370,  370,  370,  150,   44,   44,   44,   48,  370,
-       46,  370,  370,  370,   48,  151,   44,   44,   44,  370,
-      370,   46,  370,  370,  370,  370,   48,  152,  370,  370,
-      370,  160,  161,  161,  161,  161,  370,   48,  370,  370,
-      161,  161,  161,  161,   44,   44,   44,  370,   48,   46,
-      370,  163,  370,  370,  161,  161,  161,  161,  161,  161,
-
-       44,   44,   44,  370,  370,   46,  370,  370,  162,   44,
-       44,   44,  370,  370,   46,  370,   48,   44,   44,   44,
-      370,  370,   46,   44,   44,   44,  370,  370,   46,   44,
-       44,   44,   48,  370,   46,  370,  164,   44,   44,   44,
-      370,   48,   46,   44,   44,   44,  370,  370,   46,   48,
-      370,  370,  370,  165,  370,   48,  370,  370,  166,  370,
-      370,   48,  370,  370,  370,  370,  370,  168,  167,   48,
-      370,   44,   44,   44,  370,   48,   46,  370,  169,  370,
-       44,   44,   44,  370,  171,   46,  370,  170,   44,   44,
-       44,  370,  370,   46,   44,   44,   44,  370,  370,   46,
-
-       44,   44,   44,   48,  370,   46,  172,  370,   44,   44,
-       44,  370,   48,   46,   44,   44,   44,  370,  370,   46,
-       48,  370,  370,   44,   44,   44,   48,  175,   46,  370,
-      370,  173,   48,  176,  174,  370,   44,   44,   44,  370,
-       48,   46,  370,  178,  370,  370,   48,  370,  370,  177,
-      370,   44,   44,   44,  370,   48,   46,  370,   44,   44,
-       44,  370,  180,   46,  370,  370,  179,  370,   48,   44,
-       44,   44,  370,  370,   46,  370,   44,   44,   44,  370,
-      181,   46,  370,   48,   44,   44,   44,  370,  370,   46,
-       48,   44,   44,   44,  370,  370,   46,  370,  370,  182,
-
-      370,   48,   44,   44,   44,  370,  370,   46,   48,  183,
-      370,  370,  192,   44,   44,   44,   48,  370,   46,  370,
-      370,  370,  370,   48,  184,  370,  185,  186,   44,   44,
-       44,  370,  370,   46,   48,  370,  370,  370,  370,  190,
-      191,  191,  191,  191,  370,   48,  370,  370,  191,  191,
-      191,  191,  193,   44,   44,   44,  370,  370,   46,  370,
-       48,  370,  191,  191,  191,  191,  191,  191,   44,   44,
-       44,  370,  370,   46,   44,   44,   44,  370,  194,   46,
-      370,  370,  370,  196,  197,   48,   44,   44,   44,  370,
-      370,   46,  370,  370,  195,  370,   44,   44,   44,  370,
-
-       48,  200,  370,   44,   44,   44,   48,  370,   46,   44,
-       44,   44,  370,  370,   46,  370,  198,  370,   48,   44,
-       44,   44,  370,  370,   46,   44,   44,   44,   48,  370,
-       46,   44,   44,   44,  370,   48,   46,  199,  201,  370,
-      370,   48,   44,   44,   44,  370,  370,   46,  202,  370,
-      370,   48,  370,   44,   44,   44,  370,   48,  207,  370,
-      203,  370,  370,   48,   44,   44,   44,  370,  204,   46,
-      205,  370,  370,  370,   48,   44,   44,   44,  370,  370,
-       46,   44,   44,   44,  370,   48,   46,  206,  370,  370,
-       44,   44,   44,  370,  370,   46,   48,   44,   44,   44,
-
-      370,  370,   46,   44,   44,   44,  370,   48,   46,   44,
-       44,   44,  370,   48,   46,  370,  370,  208,  370,  370,
-      210,  209,   48,   44,   44,   44,  370,  370,  215,   48,
-      370,  370,   44,   44,   44,   48,  212,   46,  370,  370,
-      211,   48,  216,   44,   44,   44,  214,  370,   46,  370,
-      370,  370,   44,   44,   44,   48,  213,   46,  370,  370,
-       44,   44,   44,  370,   48,   46,   44,   44,   44,  370,
-      370,   46,   44,   44,   44,   48,  370,   46,  370,  370,
-      370,  217,  370,  370,   48,   44,   44,   44,  370,  370,
-       46,  370,   48,  370,  370,  370,  370,  370,   48,  219,
-
-       45,   45,   45,   45,   48,  370,  370,  370,   45,   45,
-       45,   45,  370,  220,  222,  370,  370,   48,  370,  221,
-      370,  370,   45,   45,   45,   45,   45,   45,  370,  370,
-      223,   44,   44,   44,  370,  370,  224,   44,   44,   44,
-      370,  370,  225,   44,   44,   44,  370,  370,  226,   44,
-       44,   44,  370,  370,   46,   44,   44,   44,  370,  227,
-       46,  370,  370,   48,  370,   44,   44,   44,  370,   48,
-       46,   44,   44,   44,  370,   48,   46,   44,   44,   44,
-      370,   48,   46,  370,  370,  370,  370,   48,   44,   44,
-       44,  370,  370,   46,   44,   44,   44,   48,  370,  233,
-
-      370,  370,  370,   48,  370,  228,  370,  370,  370,   48,
-      230,   44,   44,   44,  370,  229,   46,   44,   44,   44,
-       48,  370,   46,   44,   44,   44,   48,  370,   46,  370,
-      370,  370,  370,  370,  231,   44,   44,   44,  232,  370,
-       46,  370,  370,   48,  370,   44,   44,   44,  370,   48,
-       46,  370,   44,   44,   44,   48,  235,   46,  370,   44,
-       44,   44,  370,  234,   46,  370,  370,   48,  370,   44,
-       44,   44,  370,  236,   46,  370,  370,   48,  237,  370,
-       44,   44,   44,  370,   48,   46,  370,   44,   44,   44,
-      370,   48,   46,   44,   44,   44,  370,  238,   46,  370,
-
-      370,   48,  370,  370,  239,  370,  241,  370,  370,  240,
-      370,  370,   48,  370,  370,  242,   44,   44,   44,   48,
-      370,   46,  370,  370,  370,   48,  370,  244,   44,   44,
-       44,  370,  370,   46,  370,   44,   44,   44,  370,  370,
-       46,  370,  245,  370,   44,   44,   44,  370,   48,   46,
-       44,   44,   44,  370,  370,   46,   44,   44,   44,  370,
-       48,   46,  370,  370,   44,   44,   44,   48,  246,   46,
-      370,  370,  370,  247,  248,  370,   48,  370,   44,   44,
-       44,  370,   48,   46,  370,  370,  370,  370,   48,  249,
-       44,   44,   44,  370,  370,  254,   48,  370,   44,   44,
-
-       44,  370,  252,  255,  370,  370,  250,  251,  256,  370,
-       48,   44,   44,   44,  370,  370,   46,  253,   44,   44,
-       44,  370,   48,   46,   44,   44,   44,  370,  370,   46,
-       48,  370,  257,  370,   44,   44,   44,  370,  370,   46,
-       44,   44,   44,   48,  261,  262,   44,   44,   44,  370,
-       48,   46,   44,   44,   44,  370,   48,   46,  370,   44,
-       44,   44,  370,  258,   46,  259,   48,  370,  370,   44,
-       44,   44,   48,  370,  266,  370,  260,  370,   48,  370,
-       44,   44,   44,  370,   48,   46,  370,  370,  370,  263,
-      370,   48,   44,   44,   44,  370,  370,  268,  370,  370,
-
-      264,   48,  370,   44,   44,   44,  370,  370,   46,  370,
-      370,  265,   48,  269,   44,   44,   44,  370,  267,   46,
-       44,   44,   44,  370,   48,   46,   44,   44,   44,  370,
-      370,  272,   44,   44,   44,   48,  370,  273,   44,   44,
-       44,  370,  370,   46,  370,  370,   48,  370,  274,   44,
-       44,   44,   48,  370,  275,   44,   44,   44,   48,  370,
-       46,  370,  370,  271,   48,  370,  370,  370,  270,  370,
-       48,  370,   44,   44,   44,  370,  370,   46,   44,   44,
-       44,   48,  370,   46,   44,   44,   44,   48,  370,  279,
-       44,   44,   44,  370,  370,   46,   44,   44,   44,  370,
-
-      370,   46,  370,  276,   48,  370,   44,   44,   44,  370,
-       48,   46,  370,   44,   44,   44,   48,  278,   46,  370,
-      277,  370,   48,  370,   44,   44,   44,  370,   48,   46,
-       44,   44,   44,  370,  370,   46,  370,  370,   48,   44,
-       44,   44,  284,  281,   46,   48,  280,  370,  282,  283,
-       44,   44,   44,  370,  370,   46,   48,  370,  370,  370,
-      285,  370,   48,  286,  370,  287,  370,   44,   44,   44,
-      370,   48,   46,   44,   44,   44,  370,  370,   46,   44,
-       44,   44,   48,  370,   46,  370,   44,   44,   44,  289,
-      288,   46,  370,   44,   44,   44,  370,  370,   46,   48,
-
-      370,  370,  370,  290,  370,   48,  370,   44,   44,   44,
-      370,   48,  295,  370,   44,   44,   44,  370,   48,   46,
-      370,   44,   44,   44,  291,   48,   46,  370,  292,   44,
-       44,   44,  370,  370,   46,  293,   44,   44,   44,   48,
-      370,   46,  370,  294,  370,  370,   48,  370,  370,  296,
-       44,   44,   44,   48,  370,   46,  370,   44,   44,   44,
-      370,   48,   46,  370,   44,   44,   44,  301,   48,   46,
-      370,   44,   44,   44,  370,  299,   46,  297,  370,  298,
-      370,  370,   48,   44,   44,   44,  370,  370,   46,   48,
-       44,   44,   44,  370,  370,   46,   48,  370,  370,   44,
-
-       44,   44,  300,   48,   46,   44,   44,   44,  370,  370,
-       46,  370,   44,   44,   44,   48,  302,   46,  370,  303,
-      370,  370,   48,  370,   44,   44,   44,  370,  304,   46,
-      370,   48,  370,  370,   44,   44,   44,   48,  306,   46,
-      305,   44,   44,   44,   48,  370,   46,   44,   44,   44,
-      370,  370,   46,   44,   44,   44,   48,  307,   46,  370,
-      370,  370,  370,  313,  308,  370,   48,   44,   44,   44,
-      370,  370,   46,   48,  370,  309,   44,   44,   44,   48,
-      310,   46,   44,   44,   44,   48,  370,   46,  370,  370,
-      311,  370,  312,   44,   44,   44,  370,  370,   46,   48,
-
-       44,   44,   44,  370,  370,  318,  314,  370,   48,  370,
-       44,   44,   44,  315,   48,   46,  370,   44,   44,   44,
-      370,  316,   46,  370,  370,   48,   44,   44,   44,  370,
-      317,   46,   48,   44,   44,   44,  370,  370,   46,   44,
-       44,   44,   48,  370,  323,  319,   44,   44,   44,   48,
-      370,   46,   44,   44,   44,  370,  370,   46,   48,  370,
-      370,   44,   44,   44,  370,   48,  326,  320,  370,  321,
-      370,   48,   44,   44,   44,  370,  322,   46,   48,  370,
-      370,   44,   44,   44,   48,  324,   46,   44,   44,   44,
-      370,  325,   46,   48,   44,   44,   44,  370,  370,  330,
-
-       44,   44,   44,  370,   48,   46,   44,   44,   44,  327,
-      370,   46,  370,   48,  370,   44,   44,   44,  370,   48,
-       46,  370,   44,   44,   44,  370,   48,   46,  370,  329,
-      370,  370,   48,  370,  370,  370,  328,  370,   48,  370,
-       44,   44,   44,  370,  331,   46,  370,   48,   44,   44,
-       44,  370,  370,  336,   48,  370,  332,   44,   44,   44,
-      370,  370,  337,   44,   44,   44,  370,  370,   46,  333,
-      334,  370,   48,  370,   44,   44,   44,  370,  370,   46,
-       48,   44,   44,   44,  370,  370,   46,  370,  335,   48,
-      370,   44,   44,   44,  370,   48,   46,   44,   44,   44,
-
-      370,  370,   46,  370,  370,  338,   48,   44,   44,   44,
-      370,  370,   46,   48,  370,  370,  340,   44,   44,   44,
-      370,  370,   46,   48,  370,  370,  339,  370,  370,   48,
-      341,   44,   44,   44,  370,  370,   46,  370,  370,   48,
-      342,  370,   44,   44,   44,  370,  343,   46,  370,   48,
-       44,   44,   44,  370,  370,  347,   44,   44,   44,  370,
-      370,   46,  370,   48,  344,   44,   44,   44,  370,  370,
-       46,  370,  370,  370,   48,  370,  370,  346,  345,   44,
-       44,   44,   48,  370,   46,  370,  370,  370,   48,   44,
-       44,   44,  370,  370,   46,  370,  370,   48,  370,   44,
-
-       44,   44,  370,  348,   46,   44,   44,   44,  370,  370,
-       46,   48,  370,  370,   44,   44,   44,  349,  350,   46,
-      370,   48,   44,   44,   44,  370,  370,   46,   44,   44,
-       44,   48,  370,  356,  370,  370,  370,   48,  370,  351,
-       44,   44,   44,  370,  370,   46,   48,   44,   44,   44,
-      352,  370,   46,  370,   48,  370,  353,   44,   44,   44,
-       48,  354,  359,  355,   44,   44,   44,  370,  370,  360,
-      370,  370,   48,   44,   44,   44,  370,  370,   46,   48,
-       44,   44,   44,  370,  370,   46,  370,  370,  370,   48,
-      370,  357,   44,   44,   44,  370,   48,  363,  358,   44,
-
-       44,   44,  370,  370,  364,   48,   44,   44,   44,  370,
-      370,   46,   48,  370,  361,   44,   44,   44,  370,  362,
-       46,   44,   44,   44,   48,  370,   46,   44,   44,   44,
-      370,   48,  368,  370,  370,   44,   44,   44,   48,  370,
-      369,  370,  370,  370,  370,  365,  370,   48,  370,  370,
-      370,  370,  370,   48,  370,  370,  370,  370,  370,   48,
-      370,  370,  370,  370,  370,  370,  366,   48,  370,  370,
-      370,  370,  367,   36,   36,   36,   36,   45,   45,   45,
-       45,   62,  370,   62,   62,   81,  370,  370,   81,   83,
-       83,   83,   83,   87,   87,   87,   87,  113,  370,  113,
-
-      113,   83,   83,  123,  123,  123,  123,   11,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370
+       72,   45,   86,   48,   45,   92,   45,   89,   44,   44,
+       44,   48,  114,   46,  151,   44,   44,   44,  152,   90,
+       46,   70,  151,   48,   44,   44,   44,   91,  153,   46,
+       93,   43,  117,   94,   44,   44,   44,  151,  152,   46,
+       48,   44,   44,   44,  153,  154,   46,   48,  152,   44,
+       44,   44,  368,   95,   46,  368,   48,  368,  368,  100,
+       44,   44,   44,   96,  368,   46,   48,   97,  155,   44,
+
+       44,   44,  101,   48,   46,  153,  102,   98,   44,   44,
+       44,   48,   99,   46,   44,   44,   44,  368,  368,   46,
+      368,  156,   48,  185,  368,  104,  185,   67,   67,   67,
+       67,   48,  103,   72,   72,   72,   72,   65,  105,  185,
+       48,  368,  186,  368,  368,  368,   48,  106,  368,  111,
+      368,  107,  108,   65,  368,  109,  368,  368,   63,  110,
+       64,   64,   64,   64,  368,  368,   71,  368,   71,  368,
+       65,   72,   72,   72,   72,   63,  368,   66,   66,   66,
+       66,   67,   67,   67,   67,  368,   65,   65,   44,   44,
+       44,   65,  368,   46,   44,   44,   44,  368,  368,   46,
+
+       44,   44,   44,   65,  368,   46,  368,   65,  368,  368,
+       44,   44,   44,  368,  368,  129,  368,  368,  368,  368,
+       48,  368,   44,   44,   44,  368,   48,   46,  368,   44,
+       44,   44,   48,  368,   46,  368,  368,  368,  368,  368,
+      121,  124,   48,  368,  368,  368,  368,  368,  126,  125,
+      125,  125,  125,  368,   48,  368,  368,  125,  125,  125,
+      125,   48,   44,   44,   44,  130,  368,   46,  127,  128,
+      368,  125,  125,  125,  125,  125,  125,   44,   44,   44,
+      368,  368,   46,   44,   44,   44,  368,  368,   46,  368,
+       44,   44,   44,  368,   48,   46,   44,   44,   44,  131,
+
+      368,   46,   44,   44,   44,  368,  368,   46,  368,   48,
+      368,  368,   44,   44,   44,   48,  368,   46,   44,   44,
+       44,  368,   48,   46,  368,  368,  368,  368,   48,  368,
+      132,  133,  135,  368,   48,  368,   44,   44,   44,  368,
+      368,   46,  134,  136,   48,  368,   44,   44,   44,  368,
+       48,   46,   44,   44,   44,  368,  139,   46,  368,  137,
+       44,   44,   44,  368,  368,   46,  368,  138,   48,   44,
+       44,   44,  368,  368,   46,   44,   44,   44,   48,  368,
+       46,  368,  140,  368,   48,   44,   44,   44,  368,  368,
+       46,  368,   48,  368,   44,   44,   44,  368,  141,   46,
+
+      368,   48,  142,  368,  143,  368,  145,   48,  368,  368,
+       44,   44,   44,  146,  144,   46,  368,   48,   44,   44,
+       44,  147,  368,   46,  368,  368,   48,   44,   44,   44,
+      368,  368,   46,  368,  368,  368,  368,  148,   44,   44,
+       44,  368,   48,   46,  368,  368,   44,   44,   44,  149,
+       48,   46,  368,   44,   44,   44,  368,  368,   46,   48,
+      368,  368,  368,  150,  158,  159,  159,  159,  159,  368,
+       48,  368,  368,  159,  159,  159,  159,  368,   48,  368,
+      368,   44,   44,   44,  161,   48,   46,  159,  159,  159,
+      159,  159,  159,  368,   44,   44,   44,  368,  160,   46,
+
+      368,   44,   44,   44,  368,  162,   46,   44,   44,   44,
+      368,  368,   46,   48,   44,   44,   44,  368,  368,   46,
+      368,  368,   44,   44,   44,  368,   48,   46,  368,  368,
+       44,   44,   44,   48,  163,   46,   44,   44,   44,   48,
+      368,   46,  368,  164,  368,  368,   48,  368,   44,   44,
+       44,  166,  165,   46,   48,  368,   44,   44,   44,  368,
+      368,   46,   48,  167,   44,   44,   44,  368,   48,   46,
+      368,  169,  168,   44,   44,   44,  368,  368,   46,  368,
+       48,  368,  368,  170,   44,   44,   44,  171,   48,   46,
+      172,  368,   44,   44,   44,  173,   48,   46,  368,   44,
+
+       44,   44,  368,  174,   46,   48,  368,   44,   44,   44,
+      368,  368,   46,   44,   44,   44,   48,  368,   46,  176,
+      368,  368,  175,  368,   48,   44,   44,   44,  368,  368,
+       46,   48,   44,   44,   44,  368,  368,   46,  178,   48,
+      368,   44,   44,   44,  177,   48,   46,   44,   44,   44,
+      368,  179,   46,   44,   44,   44,  368,   48,   46,  368,
+      368,  180,  368,  368,   48,   44,   44,   44,  368,  368,
+       46,  368,  368,   48,  368,  190,  181,  368,  368,   48,
+      368,  368,  368,  368,  368,   48,  368,  182,  368,  368,
+      184,  183,  368,  368,  368,  368,  368,   48,  368,  368,
+
+      368,  188,  189,  189,  189,  189,  368,  368,  368,  368,
+      189,  189,  189,  189,   44,   44,   44,  368,  368,   46,
+      368,  368,  368,  368,  189,  189,  189,  189,  189,  189,
+       44,   44,   44,  368,  368,   46,   44,   44,   44,  368,
+      368,   46,   44,   44,   44,  368,   48,   46,  368,   44,
+       44,   44,  368,  191,   46,  368,  368,  194,  195,  368,
+      368,  368,   48,  368,   44,   44,   44,  368,   48,   46,
+       44,   44,   44,  368,   48,  198,  368,  193,  368,  368,
+      192,   48,   44,   44,   44,  368,  368,   46,   44,   44,
+       44,  196,  368,   46,  368,  368,   48,  368,   44,   44,
+
+       44,  368,   48,   46,   44,   44,   44,  368,  368,   46,
+      368,   44,   44,   44,   48,  197,   46,  199,  368,  368,
+       48,   44,   44,   44,  368,  368,   46,  200,  368,  368,
+       48,  368,   44,   44,   44,  368,   48,  205,  368,  201,
+       44,   44,   44,   48,  368,   46,  368,  202,  368,  368,
+      203,  368,  368,   48,   44,   44,   44,  368,  368,   46,
+       44,   44,   44,  368,   48,   46,  204,  368,  368,   44,
+       44,   44,   48,  368,   46,   44,   44,   44,  368,  368,
+       46,  368,  368,   44,   44,   44,   48,  368,   46,   44,
+       44,   44,   48,  206,   46,  368,  368,  368,  368,  208,
+
+      207,   48,  368,   44,   44,   44,  368,   48,  213,  368,
+      368,   44,   44,   44,  210,   48,   46,  368,  368,  209,
+      368,   48,   44,   44,   44,  368,  212,   46,   44,   44,
+       44,  368,  214,   46,  368,   48,  211,   44,   44,   44,
+      368,  368,   46,   48,  368,  368,  368,  368,  368,  215,
+       44,   44,   44,  368,   48,   46,   44,   44,   44,  368,
+       48,   46,   44,   44,   44,  368,  368,   46,  368,   48,
+      368,  368,  368,  368,  368,  217,   45,   45,   45,   45,
+      368,  368,   48,  368,   45,   45,   45,   45,   48,  368,
+      218,   44,   44,   44,   48,  368,  222,  219,   45,   45,
+
+       45,   45,   45,   45,  220,  368,  368,  221,   44,   44,
+       44,  368,  368,  223,   44,   44,   44,  368,  368,  224,
+       44,   44,   44,   48,  368,   46,   44,   44,   44,  368,
+      225,   46,   44,   44,   44,  368,  368,   46,  368,  368,
+       48,  368,   44,   44,   44,  368,   48,   46,   44,   44,
+       44,  368,   48,   46,   44,   44,   44,  368,   48,   46,
+       44,   44,   44,  368,   48,  231,   44,   44,   44,  368,
+      368,   46,  368,  368,   48,  368,  226,  368,  368,  368,
+       48,  228,  227,   44,   44,   44,   48,  368,   46,   44,
+       44,   44,   48,  368,   46,   44,   44,   44,   48,  368,
+
+       46,   44,   44,   44,  230,  229,   46,  368,   44,   44,
+       44,  368,  368,   46,  368,   48,  368,  368,  232,  368,
+      368,   48,  233,   44,   44,   44,  368,   48,   46,   44,
+       44,   44,  368,   48,   46,  368,  368,  368,  235,  234,
+       48,  368,   44,   44,   44,  368,  368,   46,  368,   44,
+       44,   44,  368,  236,   46,   48,  368,  368,  368,  368,
+      237,   48,   44,   44,   44,  368,  239,   46,  368,  368,
+       44,   44,   44,  238,   48,   46,  368,  240,   44,   44,
+       44,   48,  368,   46,  368,   44,   44,   44,  368,  242,
+       46,  368,  368,  368,   48,   44,   44,   44,  368,  368,
+
+       46,  368,   48,   44,   44,   44,  368,  368,   46,  368,
+       48,  243,  368,   44,   44,   44,  368,   48,   46,  368,
+      368,  368,  244,  245,  246,  368,  368,   48,   44,   44,
+       44,  368,  368,   46,  368,   48,   44,   44,   44,  368,
+      247,   46,   44,   44,   44,   48,  368,  252,   44,   44,
+       44,  368,  368,  253,  368,  368,  368,  368,  254,  248,
+       48,  368,  368,  368,  249,  368,  250,  368,   48,  368,
+      368,   44,   44,   44,   48,  251,   46,  368,  368,  368,
+       48,  368,  255,   44,   44,   44,  368,  368,   46,   44,
+       44,   44,  368,  368,   46,   44,   44,   44,  368,  368,
+
+       46,  368,  368,   48,  368,  259,   44,   44,   44,  368,
+      368,  260,   44,   44,   44,   48,  368,   46,  368,  368,
+      368,   48,  368,  256,   44,   44,   44,   48,  368,   46,
+      257,   44,   44,   44,  368,  368,   46,  368,   48,  368,
+      368,  258,  368,  368,   48,   44,   44,   44,  368,  368,
+      264,  368,   44,   44,   44,  261,   48,   46,  368,   44,
+       44,   44,  368,   48,  266,   44,   44,   44,  368,  368,
+       46,  368,  262,  368,  368,  267,  368,   48,  368,  368,
+       44,   44,   44,  263,   48,   46,  368,   44,   44,   44,
+      265,   48,   46,   44,   44,   44,  368,   48,  270,   44,
+
+       44,   44,  368,  368,  271,   44,   44,   44,  368,  368,
+       46,  368,   48,  368,  368,  272,   44,   44,   44,   48,
+      368,  273,   44,   44,   44,   48,  368,   46,  368,  368,
+      269,   48,  368,  368,  268,  368,  368,   48,  368,   44,
+       44,   44,  368,  368,   46,   44,   44,   44,   48,  368,
+       46,   44,   44,   44,   48,  368,  277,   44,   44,   44,
+      368,  368,   46,   44,   44,   44,  368,  368,   46,  368,
+      274,   48,  368,   44,   44,   44,  368,   48,   46,  368,
+       44,   44,   44,   48,  276,   46,  368,  275,  368,   48,
+      368,   44,   44,   44,  368,   48,   46,   44,   44,   44,
+
+      368,  368,   46,  368,  368,   48,   44,   44,   44,  282,
+      279,   46,   48,  278,  368,  280,  281,   44,   44,   44,
+      368,  368,   46,   48,  368,  368,  368,  283,  368,   48,
+      284,  368,  285,  368,   44,   44,   44,  368,   48,   46,
+       44,   44,   44,  368,  368,   46,   44,   44,   44,   48,
+      368,   46,  368,   44,   44,   44,  287,  286,   46,  368,
+       44,   44,   44,  368,  368,   46,   48,  368,  368,  368,
+      288,  368,   48,  368,   44,   44,   44,  368,   48,  293,
+      368,   44,   44,   44,  368,   48,   46,  368,   44,   44,
+       44,  289,   48,   46,  368,  290,   44,   44,   44,  368,
+
+      368,   46,  291,   44,   44,   44,   48,  368,   46,  368,
+      292,  368,  368,   48,  368,  368,  294,   44,   44,   44,
+       48,  368,   46,  368,   44,   44,   44,  368,   48,   46,
+      368,   44,   44,   44,  299,   48,   46,  368,   44,   44,
+       44,  368,  297,   46,  295,  368,  296,  368,  368,   48,
+       44,   44,   44,  368,  368,   46,   48,   44,   44,   44,
+      368,  368,   46,   48,  368,  368,   44,   44,   44,  298,
+       48,   46,   44,   44,   44,  368,  368,   46,  368,   44,
+       44,   44,   48,  300,   46,  368,  301,  368,  368,   48,
+      368,   44,   44,   44,  368,  302,   46,  368,   48,  368,
+
+      368,   44,   44,   44,   48,  304,   46,  303,   44,   44,
+       44,   48,  368,   46,   44,   44,   44,  368,  368,   46,
+       44,   44,   44,   48,  305,   46,  368,  368,  368,  368,
+      311,  306,  368,   48,   44,   44,   44,  368,  368,   46,
+       48,  368,  307,   44,   44,   44,   48,  308,   46,   44,
+       44,   44,   48,  368,   46,  368,  368,  309,  368,  310,
+       44,   44,   44,  368,  368,   46,   48,   44,   44,   44,
+      368,  368,  316,  312,  368,   48,  368,   44,   44,   44,
+      313,   48,   46,  368,   44,   44,   44,  368,  314,   46,
+      368,  368,   48,   44,   44,   44,  368,  315,   46,   48,
+
+       44,   44,   44,  368,  368,   46,   44,   44,   44,   48,
+      368,  321,  317,   44,   44,   44,   48,  368,   46,   44,
+       44,   44,  368,  368,   46,   48,  368,  368,   44,   44,
+       44,  368,   48,  324,  318,  368,  319,  368,   48,   44,
+       44,   44,  368,  320,   46,   48,  368,  368,   44,   44,
+       44,   48,  322,   46,   44,   44,   44,  368,  323,   46,
+       48,   44,   44,   44,  368,  368,  328,   44,   44,   44,
+      368,   48,   46,   44,   44,   44,  325,  368,   46,  368,
+       48,  368,   44,   44,   44,  368,   48,   46,  368,   44,
+       44,   44,  368,   48,   46,  368,  327,  368,  368,   48,
+
+      368,  368,  368,  326,  368,   48,  368,   44,   44,   44,
+      368,  329,   46,  368,   48,   44,   44,   44,  368,  368,
+      334,   48,  368,  330,   44,   44,   44,  368,  368,  335,
+       44,   44,   44,  368,  368,   46,  331,  332,  368,   48,
+      368,   44,   44,   44,  368,  368,   46,   48,   44,   44,
+       44,  368,  368,   46,  368,  333,   48,  368,   44,   44,
+       44,  368,   48,   46,   44,   44,   44,  368,  368,   46,
+      368,  368,  336,   48,   44,   44,   44,  368,  368,   46,
+       48,  368,  368,  338,   44,   44,   44,  368,  368,   46,
+       48,  368,  368,  337,  368,  368,   48,  339,   44,   44,
+
+       44,  368,  368,   46,  368,  368,   48,  340,  368,   44,
+       44,   44,  368,  341,   46,  368,   48,   44,   44,   44,
+      368,  368,  345,   44,   44,   44,  368,  368,   46,  368,
+       48,  342,   44,   44,   44,  368,  368,   46,  368,  368,
+      368,   48,  368,  368,  344,  343,   44,   44,   44,   48,
+      368,   46,  368,  368,  368,   48,   44,   44,   44,  368,
+      368,   46,  368,  368,   48,  368,   44,   44,   44,  368,
+      346,   46,   44,   44,   44,  368,  368,   46,   48,  368,
+      368,   44,   44,   44,  347,  348,   46,  368,   48,   44,
+       44,   44,  368,  368,   46,   44,   44,   44,   48,  368,
+
+      354,  368,  368,  368,   48,  368,  349,   44,   44,   44,
+      368,  368,   46,   48,   44,   44,   44,  350,  368,   46,
+      368,   48,  368,  351,   44,   44,   44,   48,  352,  357,
+      353,   44,   44,   44,  368,  368,  358,  368,  368,   48,
+       44,   44,   44,  368,  368,   46,   48,   44,   44,   44,
+      368,  368,   46,  368,  368,  368,   48,  368,  355,   44,
+       44,   44,  368,   48,  361,  356,   44,   44,   44,  368,
+      368,  362,   48,   44,   44,   44,  368,  368,   46,   48,
+      368,  359,   44,   44,   44,  368,  360,   46,   44,   44,
+       44,   48,  368,   46,   44,   44,   44,  368,   48,  366,
+
+      368,  368,   44,   44,   44,   48,  368,  367,  368,  368,
+      368,  368,  363,  368,   48,  368,  368,  368,  368,  368,
+       48,  368,  368,  368,  368,  368,   48,  368,  368,  368,
+      368,  368,  368,  364,   48,  368,  368,  368,  368,  365,
+       36,   36,   36,   36,   45,   45,   45,   45,   62,  368,
+       62,   62,   81,  368,  368,   81,   83,   83,   83,   83,
+       87,   87,   87,   87,  112,  368,  112,  112,   83,   83,
+      122,  122,  122,  122,   11,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368
     } ;
 
-static const flex_int16_t yy_chk[2569] =
+static const flex_int16_t yy_chk[2536] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -1175,14 +1172,14 @@ static const flex_int16_t yy_chk[2569] =
         5,    5,    5,    5,   10,   13,   26,   13,    5,    5,
         9,    5,   21,   37,    5,   37,    5,   21,    5,   27,
 
-       26,   31,   44,  218,    5,    5,    7,   10,    5,   28,
+       26,   31,   44,  216,    5,    5,    7,   10,    5,   28,
         8,   42,    5,   42,   32,   31,   17,    5,   17,   17,
        17,   17,   27,    5,    5,   15,   15,   15,   17,   44,
        15,   19,   28,   19,   19,   19,   19,   32,   20,   20,
        20,   20,   83,   19,   17,   33,   73,   25,   20,   25,
-      189,   15,   25,   25,   25,   25,  159,   15,   75,   19,
-      123,   15,   15,   15,   20,   15,   73,   15,   33,   83,
-       15,   15,   15,   15,   15,  120,   15,   74,   15,   15,
+      187,   15,   25,   25,   25,   25,  157,   15,   75,   19,
+      122,   15,   15,   15,   20,   15,   73,   15,   33,   83,
+       15,   15,   15,   15,   15,  119,   15,   74,   15,   15,
        22,   75,   22,   22,   22,   22,   45,   45,   45,   48,
        78,   45,   22,   47,   47,   47,   48,   74,   47,   76,
 
@@ -1190,18 +1187,18 @@ static const flex_int16_t yy_chk[2569] =
        50,   50,   41,   78,   50,   39,   48,   38,   45,   76,
        48,   51,   51,   51,   48,   47,   51,   71,   71,   71,
        71,   48,   47,   49,   48,   51,   48,   48,   52,   52,
-       52,   50,   77,   52,   50,   53,   53,   53,  115,   49,
-       53,  114,  117,   51,   55,   55,   55,   50,   24,   55,
-       51,   14,   77,   51,   54,   54,   54,  118,  115,   54,
-       52,   56,   56,   56,  114,  117,   56,   53,  116,   57,
-       57,   57,  119,   52,   57,   11,   55,  118,    0,   55,
-       58,   58,   58,   53,  116,   58,   54,   53,  119,   59,
-
-       59,   59,   55,   56,   59,  153,   56,   54,   60,   60,
+       52,   50,   77,   52,  113,   53,   53,   53,  114,   49,
+       53,   24,  116,   51,   55,   55,   55,   50,  115,   55,
+       51,   14,   77,   51,   54,   54,   54,  113,  114,   54,
+       52,   56,   56,   56,  115,  116,   56,   53,  117,   57,
+       57,   57,   11,   52,   57,    0,   55,    0,    0,   55,
+       58,   58,   58,   53,    0,   58,   54,   53,  117,   59,
+
+       59,   59,   55,   56,   59,  118,   56,   54,   60,   60,
        60,   57,   54,   60,   61,   61,   61,    0,    0,   61,
-        0,  153,   58,  156,    0,   58,    0,   63,   63,   63,
-       63,   59,   57,   72,   72,   72,   72,   63,   59,  156,
-       60,    0,    0,    0,    0,    0,   61,   59,    0,   61,
+        0,  118,   58,  151,    0,   58,  154,   63,   63,   63,
+       63,   59,   57,   72,   72,   72,   72,   63,   59,  151,
+       60,    0,  154,    0,    0,    0,   61,   59,    0,   61,
         0,   59,   59,   63,    0,   60,    0,    0,   64,   60,
        64,   64,   64,   64,    0,    0,   65,    0,   65,    0,
        64,   65,   65,   65,   65,   66,    0,   66,   66,   66,
@@ -1209,243 +1206,240 @@ static const flex_int16_t yy_chk[2569] =
        86,   67,    0,   86,   88,   88,   88,    0,    0,   88,
 
        90,   90,   90,   66,    0,   90,    0,   67,    0,    0,
-       91,   91,   91,    0,    0,   91,    0,    0,    0,    0,
-       86,    0,   92,   92,   92,    0,   88,   92,    0,   93,
+       92,   92,   92,    0,    0,   92,    0,    0,    0,    0,
+       86,    0,   91,   91,   91,    0,   88,   91,    0,   93,
        93,   93,   90,    0,   93,    0,    0,    0,    0,    0,
-       86,   89,   91,    0,    0,    0,    0,    0,   90,   89,
-       89,   89,   89,    0,   92,    0,    0,   89,   89,   89,
-       89,   93,   94,   94,   94,    0,    0,   94,   92,   92,
+       86,   89,   92,    0,    0,    0,    0,    0,   90,   89,
+       89,   89,   89,    0,   91,    0,    0,   89,   89,   89,
+       89,   93,   94,   94,   94,   93,    0,   94,   91,   91,
         0,   89,   89,   89,   89,   89,   89,   95,   95,   95,
         0,    0,   95,   96,   96,   96,    0,    0,   96,    0,
-       97,   97,   97,    0,   94,   97,    0,    0,   94,   98,
-
-       98,   98,    0,    0,   98,   99,   99,   99,    0,   95,
-       99,  100,  100,  100,   95,   96,  100,    0,  101,  101,
-      101,    0,   97,  101,  102,  102,  102,    0,    0,  102,
-        0,   98,    0,    0,    0,    0,   96,   99,   97,    0,
-        0,   99,    0,  100,  103,  103,  103,    0,    0,  103,
-      101,   98,  100,  104,  104,  104,  102,    0,  104,  105,
-      105,  105,  102,    0,  105,  101,  106,  106,  106,    0,
-        0,  106,    0,  101,    0,    0,  103,    0,  107,  107,
-      107,    0,    0,  107,    0,  104,    0,  108,  108,  108,
-      103,  105,  108,    0,  109,  109,  109,    0,  106,  109,
-
-        0,  110,  110,  110,    0,  104,  110,    0,    0,  105,
-      107,  105,    0,    0,    0,  107,  111,  111,  111,  108,
-      106,  111,  112,  112,  112,  108,  109,  112,    0,    0,
-      109,    0,    0,  110,  122,  122,  122,    0,    0,  122,
-        0,    0,    0,    0,  110,  129,  129,  129,  111,    0,
-      129,    0,    0,    0,  112,  111,  127,  127,  127,    0,
-        0,  127,    0,    0,    0,    0,  122,  112,    0,    0,
-        0,  122,  126,  126,  126,  126,    0,  129,    0,    0,
-      126,  126,  126,  126,  130,  130,  130,    0,  127,  130,
-        0,  129,    0,    0,  126,  126,  126,  126,  126,  126,
-
-      132,  132,  132,    0,    0,  132,    0,    0,  127,  133,
-      133,  133,    0,    0,  133,    0,  130,  134,  134,  134,
-        0,    0,  134,  135,  135,  135,    0,    0,  135,  136,
-      136,  136,  132,    0,  136,    0,  130,  137,  137,  137,
-        0,  133,  137,  138,  138,  138,    0,    0,  138,  134,
-        0,    0,    0,  132,    0,  135,    0,    0,  133,    0,
-        0,  136,    0,    0,    0,    0,    0,  135,  134,  137,
-        0,  139,  139,  139,    0,  138,  139,    0,  136,    0,
-      140,  140,  140,    0,  138,  140,    0,  137,  141,  141,
-      141,    0,    0,  141,  142,  142,  142,    0,    0,  142,
-
-      143,  143,  143,  139,    0,  143,  139,    0,  144,  144,
-      144,    0,  140,  144,  145,  145,  145,    0,    0,  145,
-      141,    0,    0,  146,  146,  146,  142,  141,  146,    0,
-        0,  140,  143,  142,  140,    0,  147,  147,  147,    0,
-      144,  147,    0,  144,    0,    0,  145,    0,    0,  143,
-        0,  148,  148,  148,    0,  146,  148,    0,  149,  149,
-      149,    0,  146,  149,    0,    0,  145,    0,  147,  150,
-      150,  150,    0,    0,  150,    0,  151,  151,  151,    0,
-      147,  151,    0,  148,  152,  152,  152,    0,    0,  152,
-      149,  160,  160,  160,    0,    0,  160,    0,    0,  148,
-
-        0,  150,  162,  162,  162,    0,    0,  162,  151,  149,
-        0,    0,  162,  163,  163,  163,  152,    0,  163,    0,
-        0,    0,    0,  160,  150,    0,  151,  152,  164,  164,
-      164,    0,    0,  164,  162,    0,    0,    0,    0,  160,
-      161,  161,  161,  161,    0,  163,    0,    0,  161,  161,
-      161,  161,  163,  165,  165,  165,    0,    0,  165,    0,
-      164,    0,  161,  161,  161,  161,  161,  161,  166,  166,
-      166,    0,    0,  166,  167,  167,  167,    0,  164,  167,
-        0,    0,    0,  166,  166,  165,  168,  168,  168,    0,
-        0,  168,    0,    0,  165,    0,  169,  169,  169,    0,
-
-      166,  169,    0,  170,  170,  170,  167,    0,  170,  171,
-      171,  171,    0,    0,  171,    0,  167,    0,  168,  172,
-      172,  172,    0,    0,  172,  173,  173,  173,  169,    0,
-      173,  174,  174,  174,    0,  170,  174,  168,  170,    0,
-        0,  171,  175,  175,  175,    0,    0,  175,  171,    0,
-        0,  172,    0,  176,  176,  176,    0,  173,  176,    0,
-      172,    0,    0,  174,  177,  177,  177,    0,  173,  177,
-      174,    0,    0,    0,  175,  178,  178,  178,    0,    0,
-      178,  179,  179,  179,    0,  176,  179,  175,    0,    0,
-      180,  180,  180,    0,    0,  180,  177,  181,  181,  181,
-
-        0,    0,  181,  182,  182,  182,    0,  178,  182,  183,
-      183,  183,    0,  179,  183,    0,    0,  177,    0,    0,
-      179,  178,  180,  184,  184,  184,    0,    0,  184,  181,
-        0,    0,  185,  185,  185,  182,  181,  185,    0,    0,
-      180,  183,  185,  186,  186,  186,  183,    0,  186,    0,
-        0,    0,  190,  190,  190,  184,  182,  190,    0,    0,
-      192,  192,  192,    0,  185,  192,  194,  194,  194,    0,
-        0,  194,  193,  193,  193,  186,    0,  193,    0,    0,
-        0,  186,    0,    0,  190,  195,  195,  195,    0,    0,
-      195,    0,  192,    0,    0,    0,    0,    0,  194,  190,
-
-      191,  191,  191,  191,  193,    0,    0,    0,  191,  191,
-      191,  191,    0,  192,  194,    0,    0,  195,    0,  193,
-        0,    0,  191,  191,  191,  191,  191,  191,    0,    0,
-      195,  196,  196,  196,    0,    0,  196,  197,  197,  197,
-        0,    0,  197,  198,  198,  198,    0,    0,  198,  199,
-      199,  199,    0,    0,  199,  201,  201,  201,    0,  199,
-      201,    0,    0,  196,    0,  202,  202,  202,    0,  197,
-      202,  203,  203,  203,    0,  198,  203,  204,  204,  204,
-        0,  199,  204,    0,    0,    0,    0,  201,  205,  205,
-      205,    0,    0,  205,  206,  206,  206,  202,    0,  206,
-
-        0,    0,    0,  203,    0,  201,    0,    0,    0,  204,
-      203,  208,  208,  208,    0,  202,  208,  209,  209,  209,
-      205,    0,  209,  210,  210,  210,  206,    0,  210,    0,
-        0,    0,    0,    0,  204,  211,  211,  211,  205,    0,
-      211,    0,    0,  208,    0,  212,  212,  212,    0,  209,
-      212,    0,  213,  213,  213,  210,  209,  213,    0,  214,
-      214,  214,    0,  208,  214,    0,    0,  211,    0,  216,
-      216,  216,    0,  210,  216,    0,    0,  212,  211,    0,
-      217,  217,  217,    0,  213,  217,    0,  219,  219,  219,
-        0,  214,  219,  220,  220,  220,    0,  212,  220,    0,
-
-        0,  216,    0,    0,  213,    0,  216,    0,    0,  214,
-        0,    0,  217,    0,    0,  217,  221,  221,  221,  219,
-        0,  221,    0,    0,    0,  220,    0,  219,  222,  222,
-      222,    0,    0,  222,    0,  223,  223,  223,    0,    0,
-      223,    0,  220,    0,  227,  227,  227,    0,  221,  227,
-      228,  228,  228,    0,    0,  228,  229,  229,  229,    0,
-      222,  229,    0,    0,  230,  230,  230,  223,  221,  230,
-        0,    0,    0,  222,  223,    0,  227,    0,  231,  231,
-      231,    0,  228,  231,    0,    0,    0,    0,  229,  227,
-      232,  232,  232,    0,    0,  232,  230,    0,  234,  234,
-
-      234,    0,  230,  234,    0,    0,  228,  229,  234,    0,
-      231,  235,  235,  235,    0,    0,  235,  231,  236,  236,
-      236,    0,  232,  236,  237,  237,  237,    0,    0,  237,
-      234,    0,  234,    0,  238,  238,  238,    0,    0,  238,
-      239,  239,  239,  235,  238,  239,  240,  240,  240,    0,
-      236,  240,  241,  241,  241,    0,  237,  241,    0,  242,
-      242,  242,    0,  235,  242,  236,  238,    0,    0,  244,
-      244,  244,  239,    0,  244,    0,  237,    0,  240,    0,
-      245,  245,  245,    0,  241,  245,    0,    0,    0,  240,
-        0,  242,  246,  246,  246,    0,    0,  246,    0,    0,
-
-      241,  244,    0,  247,  247,  247,    0,    0,  247,    0,
-        0,  242,  245,  247,  248,  248,  248,    0,  245,  248,
-      249,  249,  249,    0,  246,  249,  250,  250,  250,    0,
-        0,  250,  251,  251,  251,  247,    0,  251,  252,  252,
-      252,    0,    0,  252,    0,    0,  248,    0,  252,  253,
-      253,  253,  249,    0,  253,  256,  256,  256,  250,    0,
-      256,    0,    0,  249,  251,    0,    0,    0,  248,    0,
-      252,    0,  257,  257,  257,    0,    0,  257,  258,  258,
-      258,  253,    0,  258,  259,  259,  259,  256,    0,  259,
-      260,  260,  260,    0,    0,  260,  261,  261,  261,    0,
-
-        0,  261,    0,  256,  257,    0,  263,  263,  263,    0,
-      258,  263,    0,  264,  264,  264,  259,  258,  264,    0,
-      257,    0,  260,    0,  265,  265,  265,    0,  261,  265,
-      267,  267,  267,    0,    0,  267,    0,    0,  263,  269,
-      269,  269,  263,  261,  269,  264,  260,    0,  261,  261,
-      270,  270,  270,    0,    0,  270,  265,    0,    0,    0,
-      264,    0,  267,  265,    0,  267,    0,  271,  271,  271,
-        0,  269,  271,  274,  274,  274,    0,    0,  274,  276,
-      276,  276,  270,    0,  276,    0,  277,  277,  277,  270,
-      269,  277,    0,  278,  278,  278,    0,    0,  278,  271,
-
-        0,    0,    0,  271,    0,  274,    0,  280,  280,  280,
-        0,  276,  280,    0,  281,  281,  281,    0,  277,  281,
-        0,  282,  282,  282,  274,  278,  282,    0,  276,  283,
-      283,  283,    0,    0,  283,  277,  284,  284,  284,  280,
-        0,  284,    0,  278,    0,    0,  281,    0,    0,  281,
-      285,  285,  285,  282,    0,  285,    0,  286,  286,  286,
-        0,  283,  286,    0,  287,  287,  287,  286,  284,  287,
-        0,  288,  288,  288,    0,  284,  288,  282,    0,  283,
-        0,    0,  285,  289,  289,  289,    0,    0,  289,  286,
-      290,  290,  290,    0,    0,  290,  287,    0,    0,  291,
-
-      291,  291,  285,  288,  291,  292,  292,  292,    0,    0,
-      292,    0,  293,  293,  293,  289,  287,  293,    0,  288,
-        0,    0,  290,    0,  294,  294,  294,    0,  289,  294,
-        0,  291,    0,    0,  296,  296,  296,  292,  291,  296,
-      290,  297,  297,  297,  293,    0,  297,  298,  298,  298,
-        0,    0,  298,  299,  299,  299,  294,  292,  299,    0,
-        0,    0,    0,  299,  293,    0,  296,  300,  300,  300,
-        0,    0,  300,  297,    0,  294,  301,  301,  301,  298,
-      296,  301,  302,  302,  302,  299,    0,  302,    0,    0,
-      297,    0,  298,  303,  303,  303,    0,    0,  303,  300,
-
-      304,  304,  304,    0,    0,  304,  300,    0,  301,    0,
-      305,  305,  305,  301,  302,  305,    0,  306,  306,  306,
-        0,  302,  306,    0,    0,  303,  307,  307,  307,    0,
-      303,  307,  304,  308,  308,  308,    0,    0,  308,  309,
-      309,  309,  305,    0,  309,  305,  310,  310,  310,  306,
-        0,  310,  311,  311,  311,    0,    0,  311,  307,    0,
-        0,  312,  312,  312,    0,  308,  312,  306,    0,  307,
-        0,  309,  313,  313,  313,    0,  308,  313,  310,    0,
-        0,  314,  314,  314,  311,  310,  314,  315,  315,  315,
-        0,  311,  315,  312,  316,  316,  316,    0,    0,  316,
-
-      317,  317,  317,    0,  313,  317,  319,  319,  319,  313,
-        0,  319,    0,  314,    0,  320,  320,  320,    0,  315,
-      320,    0,  321,  321,  321,    0,  316,  321,    0,  315,
-        0,    0,  317,    0,    0,    0,  314,    0,  319,    0,
-      322,  322,  322,    0,  317,  322,    0,  320,  324,  324,
-      324,    0,    0,  324,  321,    0,  319,  325,  325,  325,
-        0,    0,  325,  327,  327,  327,    0,    0,  327,  320,
-      321,    0,  322,    0,  328,  328,  328,    0,    0,  328,
-      324,  329,  329,  329,    0,    0,  329,    0,  322,  325,
-        0,  331,  331,  331,    0,  327,  331,  332,  332,  332,
-
-        0,    0,  332,    0,    0,  327,  328,  333,  333,  333,
-        0,    0,  333,  329,    0,    0,  329,  334,  334,  334,
-        0,    0,  334,  331,    0,    0,  328,    0,    0,  332,
-      331,  335,  335,  335,    0,    0,  335,    0,    0,  333,
-      332,    0,  338,  338,  338,    0,  333,  338,    0,  334,
-      339,  339,  339,    0,    0,  339,  340,  340,  340,    0,
-        0,  340,    0,  335,  334,  341,  341,  341,    0,    0,
-      341,    0,    0,    0,  338,    0,    0,  338,  335,  342,
-      342,  342,  339,    0,  342,    0,    0,    0,  340,  343,
-      343,  343,    0,    0,  343,    0,    0,  341,    0,  344,
-
-      344,  344,    0,  340,  344,  345,  345,  345,    0,    0,
-      345,  342,    0,    0,  346,  346,  346,  341,  342,  346,
-        0,  343,  348,  348,  348,    0,    0,  348,  349,  349,
-      349,  344,    0,  349,    0,    0,    0,  345,    0,  343,
-      350,  350,  350,    0,    0,  350,  346,  351,  351,  351,
-      344,    0,  351,    0,  348,    0,  345,  352,  352,  352,
-      349,  346,  352,  348,  353,  353,  353,    0,    0,  353,
-        0,    0,  350,  354,  354,  354,    0,    0,  354,  351,
-      355,  355,  355,    0,    0,  355,    0,    0,    0,  352,
-        0,  350,  357,  357,  357,    0,  353,  357,  351,  358,
-
-      358,  358,    0,    0,  358,  354,  361,  361,  361,    0,
-        0,  361,  355,    0,  354,  362,  362,  362,    0,  355,
-      362,  365,  365,  365,  357,    0,  365,  366,  366,  366,
-        0,  358,  366,    0,    0,  367,  367,  367,  361,    0,
-      367,    0,    0,    0,    0,  361,    0,  362,    0,    0,
-        0,    0,    0,  365,    0,    0,    0,    0,    0,  366,
-        0,    0,    0,    0,    0,    0,  362,  367,    0,    0,
-        0,    0,  365,  371,  371,  371,  371,  372,  372,  372,
-      372,  373,    0,  373,  373,  374,    0,    0,  374,  375,
-      375,  375,  375,  376,  376,  376,  376,  377,    0,  377,
-
-      377,  378,  378,  379,  379,  379,  379,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
-      370,  370,  370,  370,  370,  370,  370,  370
+       97,   97,   97,    0,   94,   97,   98,   98,   98,   94,
+
+        0,   98,   99,   99,   99,    0,    0,   99,    0,   95,
+        0,    0,  100,  100,  100,   96,    0,  100,  101,  101,
+      101,    0,   97,  101,    0,    0,    0,    0,   98,    0,
+       95,   96,   98,    0,   99,    0,  102,  102,  102,    0,
+        0,  102,   97,   99,  100,    0,  103,  103,  103,    0,
+      101,  103,  104,  104,  104,    0,  101,  104,    0,  100,
+      105,  105,  105,    0,    0,  105,    0,  100,  102,  106,
+      106,  106,    0,    0,  106,  107,  107,  107,  103,    0,
+      107,    0,  102,    0,  104,  108,  108,  108,    0,    0,
+      108,    0,  105,    0,  109,  109,  109,    0,  103,  109,
+
+        0,  106,  104,    0,  104,    0,  106,  107,    0,    0,
+      110,  110,  110,  107,  105,  110,    0,  108,  111,  111,
+      111,  108,    0,  111,    0,    0,  109,  121,  121,  121,
+        0,    0,  121,    0,    0,    0,    0,  109,  127,  127,
+      127,    0,  110,  127,    0,    0,  126,  126,  126,  110,
+      111,  126,    0,  128,  128,  128,    0,    0,  128,  121,
+        0,    0,    0,  111,  121,  125,  125,  125,  125,    0,
+      127,    0,    0,  125,  125,  125,  125,    0,  126,    0,
+        0,  130,  130,  130,  127,  128,  130,  125,  125,  125,
+      125,  125,  125,    0,  131,  131,  131,    0,  126,  131,
+
+        0,  132,  132,  132,    0,  128,  132,  133,  133,  133,
+        0,    0,  133,  130,  134,  134,  134,    0,    0,  134,
+        0,    0,  135,  135,  135,    0,  131,  135,    0,    0,
+      136,  136,  136,  132,  130,  136,  138,  138,  138,  133,
+        0,  138,    0,  131,    0,    0,  134,    0,  137,  137,
+      137,  133,  132,  137,  135,    0,  139,  139,  139,    0,
+        0,  139,  136,  134,  140,  140,  140,    0,  138,  140,
+        0,  136,  135,  141,  141,  141,    0,    0,  141,    0,
+      137,    0,    0,  137,  142,  142,  142,  138,  139,  142,
+      138,    0,  143,  143,  143,  139,  140,  143,    0,  144,
+
+      144,  144,    0,  140,  144,  141,    0,  145,  145,  145,
+        0,    0,  145,  146,  146,  146,  142,    0,  146,  142,
+        0,    0,  141,    0,  143,  147,  147,  147,    0,    0,
+      147,  144,  148,  148,  148,    0,    0,  148,  144,  145,
+        0,  149,  149,  149,  143,  146,  149,  150,  150,  150,
+        0,  145,  150,  158,  158,  158,    0,  147,  158,    0,
+        0,  146,    0,    0,  148,  160,  160,  160,    0,    0,
+      160,    0,    0,  149,    0,  160,  147,    0,    0,  150,
+        0,    0,    0,    0,    0,  158,    0,  148,    0,    0,
+      150,  149,    0,    0,    0,    0,    0,  160,    0,    0,
+
+        0,  158,  159,  159,  159,  159,    0,    0,    0,    0,
+      159,  159,  159,  159,  161,  161,  161,    0,    0,  161,
+        0,    0,    0,    0,  159,  159,  159,  159,  159,  159,
+      162,  162,  162,    0,    0,  162,  163,  163,  163,    0,
+        0,  163,  164,  164,  164,    0,  161,  164,    0,  165,
+      165,  165,    0,  161,  165,    0,    0,  164,  164,    0,
+        0,    0,  162,    0,  166,  166,  166,    0,  163,  166,
+      167,  167,  167,    0,  164,  167,    0,  163,    0,    0,
+      162,  165,  168,  168,  168,    0,    0,  168,  169,  169,
+      169,  165,    0,  169,    0,    0,  166,    0,  170,  170,
+
+      170,    0,  167,  170,  171,  171,  171,    0,    0,  171,
+        0,  172,  172,  172,  168,  166,  172,  168,    0,    0,
+      169,  173,  173,  173,    0,    0,  173,  169,    0,    0,
+      170,    0,  174,  174,  174,    0,  171,  174,    0,  170,
+      175,  175,  175,  172,    0,  175,    0,  171,    0,    0,
+      172,    0,    0,  173,  176,  176,  176,    0,    0,  176,
+      177,  177,  177,    0,  174,  177,  173,    0,    0,  178,
+      178,  178,  175,    0,  178,  179,  179,  179,    0,    0,
+      179,    0,    0,  180,  180,  180,  176,    0,  180,  181,
+      181,  181,  177,  175,  181,    0,    0,    0,    0,  177,
+
+      176,  178,    0,  182,  182,  182,    0,  179,  182,    0,
+        0,  184,  184,  184,  179,  180,  184,    0,    0,  178,
+        0,  181,  183,  183,  183,    0,  181,  183,  188,  188,
+      188,    0,  183,  188,    0,  182,  180,  190,  190,  190,
+        0,    0,  190,  184,    0,    0,    0,    0,    0,  184,
+      191,  191,  191,    0,  183,  191,  192,  192,  192,    0,
+      188,  192,  193,  193,  193,    0,    0,  193,    0,  190,
+        0,    0,    0,    0,    0,  188,  189,  189,  189,  189,
+        0,    0,  191,    0,  189,  189,  189,  189,  192,    0,
+      190,  194,  194,  194,  193,    0,  194,  191,  189,  189,
+
+      189,  189,  189,  189,  192,    0,    0,  193,  195,  195,
+      195,    0,    0,  195,  196,  196,  196,    0,    0,  196,
+      197,  197,  197,  194,    0,  197,  199,  199,  199,    0,
+      197,  199,  200,  200,  200,    0,    0,  200,    0,    0,
+      195,    0,  201,  201,  201,    0,  196,  201,  202,  202,
+      202,    0,  197,  202,  203,  203,  203,    0,  199,  203,
+      204,  204,  204,    0,  200,  204,  206,  206,  206,    0,
+        0,  206,    0,    0,  201,    0,  199,    0,    0,    0,
+      202,  201,  200,  207,  207,  207,  203,    0,  207,  208,
+      208,  208,  204,    0,  208,  209,  209,  209,  206,    0,
+
+      209,  210,  210,  210,  203,  202,  210,    0,  211,  211,
+      211,    0,    0,  211,    0,  207,    0,    0,  206,    0,
+        0,  208,  207,  212,  212,  212,    0,  209,  212,  214,
+      214,  214,    0,  210,  214,    0,    0,    0,  209,  208,
+      211,    0,  215,  215,  215,    0,    0,  215,    0,  217,
+      217,  217,    0,  210,  217,  212,    0,    0,    0,    0,
+      211,  214,  218,  218,  218,    0,  214,  218,    0,    0,
+      219,  219,  219,  212,  215,  219,    0,  215,  220,  220,
+      220,  217,    0,  220,    0,  221,  221,  221,    0,  217,
+      221,    0,    0,    0,  218,  225,  225,  225,    0,    0,
+
+      225,    0,  219,  226,  226,  226,    0,    0,  226,    0,
+      220,  218,    0,  227,  227,  227,    0,  221,  227,    0,
+        0,    0,  219,  220,  221,    0,    0,  225,  228,  228,
+      228,    0,    0,  228,    0,  226,  229,  229,  229,    0,
+      225,  229,  230,  230,  230,  227,    0,  230,  232,  232,
+      232,    0,    0,  232,    0,    0,    0,    0,  232,  226,
+      228,    0,    0,    0,  227,    0,  228,    0,  229,    0,
+        0,  233,  233,  233,  230,  229,  233,    0,    0,    0,
+      232,    0,  232,  234,  234,  234,    0,    0,  234,  235,
+      235,  235,    0,    0,  235,  236,  236,  236,    0,    0,
+
+      236,    0,    0,  233,    0,  236,  237,  237,  237,    0,
+        0,  237,  238,  238,  238,  234,    0,  238,    0,    0,
+        0,  235,    0,  233,  239,  239,  239,  236,    0,  239,
+      234,  240,  240,  240,    0,    0,  240,    0,  237,    0,
+        0,  235,    0,    0,  238,  242,  242,  242,    0,    0,
+      242,    0,  243,  243,  243,  238,  239,  243,    0,  244,
+      244,  244,    0,  240,  244,  245,  245,  245,    0,    0,
+      245,    0,  239,    0,    0,  245,    0,  242,    0,    0,
+      246,  246,  246,  240,  243,  246,    0,  247,  247,  247,
+      243,  244,  247,  248,  248,  248,    0,  245,  248,  249,
+
+      249,  249,    0,    0,  249,  250,  250,  250,    0,    0,
+      250,    0,  246,    0,    0,  250,  251,  251,  251,  247,
+        0,  251,  254,  254,  254,  248,    0,  254,    0,    0,
+      247,  249,    0,    0,  246,    0,    0,  250,    0,  255,
+      255,  255,    0,    0,  255,  256,  256,  256,  251,    0,
+      256,  257,  257,  257,  254,    0,  257,  258,  258,  258,
+        0,    0,  258,  259,  259,  259,    0,    0,  259,    0,
+      254,  255,    0,  261,  261,  261,    0,  256,  261,    0,
+      262,  262,  262,  257,  256,  262,    0,  255,    0,  258,
+        0,  263,  263,  263,    0,  259,  263,  265,  265,  265,
+
+        0,    0,  265,    0,    0,  261,  267,  267,  267,  261,
+      259,  267,  262,  258,    0,  259,  259,  268,  268,  268,
+        0,    0,  268,  263,    0,    0,    0,  262,    0,  265,
+      263,    0,  265,    0,  269,  269,  269,    0,  267,  269,
+      272,  272,  272,    0,    0,  272,  274,  274,  274,  268,
+        0,  274,    0,  275,  275,  275,  268,  267,  275,    0,
+      276,  276,  276,    0,    0,  276,  269,    0,    0,    0,
+      269,    0,  272,    0,  278,  278,  278,    0,  274,  278,
+        0,  279,  279,  279,    0,  275,  279,    0,  280,  280,
+      280,  272,  276,  280,    0,  274,  281,  281,  281,    0,
+
+        0,  281,  275,  282,  282,  282,  278,    0,  282,    0,
+      276,    0,    0,  279,    0,    0,  279,  283,  283,  283,
+      280,    0,  283,    0,  284,  284,  284,    0,  281,  284,
+        0,  285,  285,  285,  284,  282,  285,    0,  286,  286,
+      286,    0,  282,  286,  280,    0,  281,    0,    0,  283,
+      287,  287,  287,    0,    0,  287,  284,  288,  288,  288,
+        0,    0,  288,  285,    0,    0,  289,  289,  289,  283,
+      286,  289,  290,  290,  290,    0,    0,  290,    0,  291,
+      291,  291,  287,  285,  291,    0,  286,    0,    0,  288,
+        0,  292,  292,  292,    0,  287,  292,    0,  289,    0,
+
+        0,  294,  294,  294,  290,  289,  294,  288,  295,  295,
+      295,  291,    0,  295,  296,  296,  296,    0,    0,  296,
+      297,  297,  297,  292,  290,  297,    0,    0,    0,    0,
+      297,  291,    0,  294,  298,  298,  298,    0,    0,  298,
+      295,    0,  292,  299,  299,  299,  296,  294,  299,  300,
+      300,  300,  297,    0,  300,    0,    0,  295,    0,  296,
+      301,  301,  301,    0,    0,  301,  298,  302,  302,  302,
+        0,    0,  302,  298,    0,  299,    0,  303,  303,  303,
+      299,  300,  303,    0,  304,  304,  304,    0,  300,  304,
+        0,    0,  301,  305,  305,  305,    0,  301,  305,  302,
+
+      306,  306,  306,    0,    0,  306,  307,  307,  307,  303,
+        0,  307,  303,  308,  308,  308,  304,    0,  308,  309,
+      309,  309,    0,    0,  309,  305,    0,    0,  310,  310,
+      310,    0,  306,  310,  304,    0,  305,    0,  307,  311,
+      311,  311,    0,  306,  311,  308,    0,    0,  312,  312,
+      312,  309,  308,  312,  313,  313,  313,    0,  309,  313,
+      310,  314,  314,  314,    0,    0,  314,  315,  315,  315,
+        0,  311,  315,  317,  317,  317,  311,    0,  317,    0,
+      312,    0,  318,  318,  318,    0,  313,  318,    0,  319,
+      319,  319,    0,  314,  319,    0,  313,    0,    0,  315,
+
+        0,    0,    0,  312,    0,  317,    0,  320,  320,  320,
+        0,  315,  320,    0,  318,  322,  322,  322,    0,    0,
+      322,  319,    0,  317,  323,  323,  323,    0,    0,  323,
+      325,  325,  325,    0,    0,  325,  318,  319,    0,  320,
+        0,  326,  326,  326,    0,    0,  326,  322,  327,  327,
+      327,    0,    0,  327,    0,  320,  323,    0,  329,  329,
+      329,    0,  325,  329,  330,  330,  330,    0,    0,  330,
+        0,    0,  325,  326,  331,  331,  331,    0,    0,  331,
+      327,    0,    0,  327,  332,  332,  332,    0,    0,  332,
+      329,    0,    0,  326,    0,    0,  330,  329,  333,  333,
+
+      333,    0,    0,  333,    0,    0,  331,  330,    0,  336,
+      336,  336,    0,  331,  336,    0,  332,  337,  337,  337,
+        0,    0,  337,  338,  338,  338,    0,    0,  338,    0,
+      333,  332,  339,  339,  339,    0,    0,  339,    0,    0,
+        0,  336,    0,    0,  336,  333,  340,  340,  340,  337,
+        0,  340,    0,    0,    0,  338,  341,  341,  341,    0,
+        0,  341,    0,    0,  339,    0,  342,  342,  342,    0,
+      338,  342,  343,  343,  343,    0,    0,  343,  340,    0,
+        0,  344,  344,  344,  339,  340,  344,    0,  341,  346,
+      346,  346,    0,    0,  346,  347,  347,  347,  342,    0,
+
+      347,    0,    0,    0,  343,    0,  341,  348,  348,  348,
+        0,    0,  348,  344,  349,  349,  349,  342,    0,  349,
+        0,  346,    0,  343,  350,  350,  350,  347,  344,  350,
+      346,  351,  351,  351,    0,    0,  351,    0,    0,  348,
+      352,  352,  352,    0,    0,  352,  349,  353,  353,  353,
+        0,    0,  353,    0,    0,    0,  350,    0,  348,  355,
+      355,  355,    0,  351,  355,  349,  356,  356,  356,    0,
+        0,  356,  352,  359,  359,  359,    0,    0,  359,  353,
+        0,  352,  360,  360,  360,    0,  353,  360,  363,  363,
+      363,  355,    0,  363,  364,  364,  364,    0,  356,  364,
+
+        0,    0,  365,  365,  365,  359,    0,  365,    0,    0,
+        0,    0,  359,    0,  360,    0,    0,    0,    0,    0,
+      363,    0,    0,    0,    0,    0,  364,    0,    0,    0,
+        0,    0,    0,  360,  365,    0,    0,    0,    0,  363,
+      369,  369,  369,  369,  370,  370,  370,  370,  371,    0,
+      371,  371,  372,    0,    0,  372,  373,  373,  373,  373,
+      374,  374,  374,  374,  375,    0,  375,  375,  376,  376,
+      377,  377,  377,  377,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -1454,15 +1448,15 @@ static char *yy_last_accepting_cpos;
 extern int yy_flex_debug;
 int yy_flex_debug = 1;
 
-static const flex_int16_t yy_rule_linenum[64] =
+static const flex_int16_t yy_rule_linenum[63] =
     {   0,
       135,  137,  139,  144,  145,  150,  151,  152,  164,  167,
       172,  179,  188,  200,  212,  222,  232,  242,  251,  260,
       269,  278,  287,  296,  305,  314,  323,  332,  341,  350,
       359,  368,  377,  386,  395,  404,  413,  422,  431,  440,
-      449,  458,  467,  476,  485,  586,  602,  651,  659,  674,
-      675,  676,  677,  678,  679,  681,  699,  712,  717,  721,
-      723,  725,  727
+      449,  458,  467,  476,  577,  593,  642,  650,  665,  666,
+      667,  668,  669,  670,  672,  690,  703,  708,  712,  714,
+      716,  718
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -1519,7 +1513,7 @@ using isc::netconf::NetconfParser;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg)
-#line 1522 "netconf_lexer.cc"
+#line 1517 "netconf_lexer.cc"
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
@@ -1545,8 +1539,8 @@ using isc::netconf::NetconfParser;
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
-#line 1548 "netconf_lexer.cc"
-#line 1549 "netconf_lexer.cc"
+#line 1543 "netconf_lexer.cc"
+#line 1544 "netconf_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -1860,7 +1854,7 @@ YY_DECL
     }
 
 
-#line 1863 "netconf_lexer.cc"
+#line 1858 "netconf_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -1889,13 +1883,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 371 )
+                               if ( yy_current_state >= 369 )
                                        yy_c = yy_meta[yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
                        ++yy_cp;
                        }
-               while ( yy_current_state != 370 );
+               while ( yy_current_state != 368 );
                yy_cp = (yy_last_accepting_cpos);
                yy_current_state = (yy_last_accepting_state);
 
@@ -1914,13 +1908,13 @@ do_action:      /* This label is used only to access EOF actions. */
                        {
                        if ( yy_act == 0 )
                                fprintf( stderr, "--scanner backing up\n" );
-                       else if ( yy_act < 64 )
+                       else if ( yy_act < 63 )
                                fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
                                         (long)yy_rule_linenum[yy_act], yytext );
-                       else if ( yy_act == 64 )
+                       else if ( yy_act == 63 )
                                fprintf( stderr, "--accepting default rule (\"%s\")\n",
                                         yytext );
-                       else if ( yy_act == 65 )
+                       else if ( yy_act == 64 )
                                fprintf( stderr, "--(end of buffer or a NUL)\n" );
                        else
                                fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
@@ -2156,18 +2150,6 @@ YY_RULE_SETUP
 case 22:
 YY_RULE_SETUP
 #line 278 "netconf_lexer.ll"
-{
-    switch(driver.ctx_) {
-    case ParserContext::MANAGED_SERVERS:
-        return NetconfParser::make_CA_SERVER(driver.loc_);
-    default:
-        return NetconfParser::make_STRING("ca", driver.loc_);
-    }
-}
-       YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 287 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SERVER:
@@ -2177,9 +2159,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 24:
+case 23:
 YY_RULE_SETUP
-#line 296 "netconf_lexer.ll"
+#line 287 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SERVER:
@@ -2189,9 +2171,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 25:
+case 24:
 YY_RULE_SETUP
-#line 305 "netconf_lexer.ll"
+#line 296 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SOCKET_TYPE:
@@ -2201,9 +2183,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 26:
+case 25:
 YY_RULE_SETUP
-#line 314 "netconf_lexer.ll"
+#line 305 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SOCKET_TYPE:
@@ -2213,9 +2195,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 27:
+case 26:
 YY_RULE_SETUP
-#line 323 "netconf_lexer.ll"
+#line 314 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SOCKET_TYPE:
@@ -2225,9 +2207,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 28:
+case 27:
 YY_RULE_SETUP
-#line 332 "netconf_lexer.ll"
+#line 323 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::CONTROL_SOCKET:
@@ -2237,9 +2219,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 29:
+case 28:
 YY_RULE_SETUP
-#line 341 "netconf_lexer.ll"
+#line 332 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::CONTROL_SOCKET:
@@ -2249,9 +2231,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 30:
+case 29:
 YY_RULE_SETUP
-#line 350 "netconf_lexer.ll"
+#line 341 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::CONTROL_SOCKET:
@@ -2261,9 +2243,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 31:
+case 30:
 YY_RULE_SETUP
-#line 359 "netconf_lexer.ll"
+#line 350 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::NETCONF:
@@ -2273,9 +2255,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 32:
+case 31:
 YY_RULE_SETUP
-#line 368 "netconf_lexer.ll"
+#line 359 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::HOOKS_LIBRARIES:
@@ -2285,9 +2267,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 33:
+case 32:
 YY_RULE_SETUP
-#line 377 "netconf_lexer.ll"
+#line 368 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::HOOKS_LIBRARIES:
@@ -2297,9 +2279,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 34:
+case 33:
 YY_RULE_SETUP
-#line 386 "netconf_lexer.ll"
+#line 377 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::NETCONF:
@@ -2309,9 +2291,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 35:
+case 34:
 YY_RULE_SETUP
-#line 395 "netconf_lexer.ll"
+#line 386 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2321,9 +2303,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 36:
+case 35:
 YY_RULE_SETUP
-#line 404 "netconf_lexer.ll"
+#line 395 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2333,9 +2315,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 37:
+case 36:
 YY_RULE_SETUP
-#line 413 "netconf_lexer.ll"
+#line 404 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2345,9 +2327,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 38:
+case 37:
 YY_RULE_SETUP
-#line 422 "netconf_lexer.ll"
+#line 413 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2357,9 +2339,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 39:
+case 38:
 YY_RULE_SETUP
-#line 431 "netconf_lexer.ll"
+#line 422 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2369,9 +2351,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 40:
+case 39:
 YY_RULE_SETUP
-#line 440 "netconf_lexer.ll"
+#line 431 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2381,9 +2363,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 41:
+case 40:
 YY_RULE_SETUP
-#line 449 "netconf_lexer.ll"
+#line 440 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2393,9 +2375,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 42:
+case 41:
 YY_RULE_SETUP
-#line 458 "netconf_lexer.ll"
+#line 449 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2405,9 +2387,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 43:
+case 42:
 YY_RULE_SETUP
-#line 467 "netconf_lexer.ll"
+#line 458 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2417,9 +2399,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 44:
+case 43:
 YY_RULE_SETUP
-#line 476 "netconf_lexer.ll"
+#line 467 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2429,9 +2411,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 45:
+case 44:
 YY_RULE_SETUP
-#line 485 "netconf_lexer.ll"
+#line 476 "netconf_lexer.ll"
 {
     /* A string has been matched. It contains the actual string and single quotes.
        We need to get those quotes out of the way and just use its content, e.g.
@@ -2533,10 +2515,10 @@ YY_RULE_SETUP
     return NetconfParser::make_STRING(decoded, driver.loc_);
 }
        YY_BREAK
-case 46:
-/* rule 46 can match eol */
+case 45:
+/* rule 45 can match eol */
 YY_RULE_SETUP
-#line 586 "netconf_lexer.ll"
+#line 577 "netconf_lexer.ll"
 {
     /* Bad string with a forbidden control character inside */
     std::string raw(yytext+1);
@@ -2553,10 +2535,10 @@ YY_RULE_SETUP
                  pos + 1);
 }
        YY_BREAK
-case 47:
-/* rule 47 can match eol */
+case 46:
+/* rule 46 can match eol */
 YY_RULE_SETUP
-#line 602 "netconf_lexer.ll"
+#line 593 "netconf_lexer.ll"
 {
     /* Bad string with a bad escape inside */
     std::string raw(yytext+1);
@@ -2606,9 +2588,9 @@ YY_RULE_SETUP
                  pos);
 }
        YY_BREAK
-case 48:
+case 47:
 YY_RULE_SETUP
-#line 651 "netconf_lexer.ll"
+#line 642 "netconf_lexer.ll"
 {
     /* Bad string with an open escape at the end */
     std::string raw(yytext+1);
@@ -2617,9 +2599,9 @@ YY_RULE_SETUP
                  raw.size() + 1);
 }
        YY_BREAK
-case 49:
+case 48:
 YY_RULE_SETUP
-#line 659 "netconf_lexer.ll"
+#line 650 "netconf_lexer.ll"
 {
     /* Bad string with an open unicode escape at the end */
     std::string raw(yytext+1);
@@ -2635,39 +2617,39 @@ YY_RULE_SETUP
                  pos + 1);
 }
        YY_BREAK
-case 50:
+case 49:
 YY_RULE_SETUP
-#line 674 "netconf_lexer.ll"
+#line 665 "netconf_lexer.ll"
 { return NetconfParser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
-case 51:
+case 50:
 YY_RULE_SETUP
-#line 675 "netconf_lexer.ll"
+#line 666 "netconf_lexer.ll"
 { return NetconfParser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
-case 52:
+case 51:
 YY_RULE_SETUP
-#line 676 "netconf_lexer.ll"
+#line 667 "netconf_lexer.ll"
 { return NetconfParser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
-case 53:
+case 52:
 YY_RULE_SETUP
-#line 677 "netconf_lexer.ll"
+#line 668 "netconf_lexer.ll"
 { return NetconfParser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
-case 54:
+case 53:
 YY_RULE_SETUP
-#line 678 "netconf_lexer.ll"
+#line 669 "netconf_lexer.ll"
 { return NetconfParser::make_COMMA(driver.loc_); }
        YY_BREAK
-case 55:
+case 54:
 YY_RULE_SETUP
-#line 679 "netconf_lexer.ll"
+#line 670 "netconf_lexer.ll"
 { return NetconfParser::make_COLON(driver.loc_); }
        YY_BREAK
-case 56:
+case 55:
 YY_RULE_SETUP
-#line 681 "netconf_lexer.ll"
+#line 672 "netconf_lexer.ll"
 {
     /* An integer was found. */
     std::string tmp(yytext);
@@ -2686,9 +2668,9 @@ YY_RULE_SETUP
     return NetconfParser::make_INTEGER(integer, driver.loc_);
 }
        YY_BREAK
-case 57:
+case 56:
 YY_RULE_SETUP
-#line 699 "netconf_lexer.ll"
+#line 690 "netconf_lexer.ll"
 {
     /* A floating point was found. */
     std::string tmp(yytext);
@@ -2702,43 +2684,43 @@ YY_RULE_SETUP
     return NetconfParser::make_FLOAT(fp, driver.loc_);
 }
        YY_BREAK
-case 58:
+case 57:
 YY_RULE_SETUP
-#line 712 "netconf_lexer.ll"
+#line 703 "netconf_lexer.ll"
 {
     string tmp(yytext);
     return NetconfParser::make_BOOLEAN(tmp == "true", driver.loc_);
 }
        YY_BREAK
-case 59:
+case 58:
 YY_RULE_SETUP
-#line 717 "netconf_lexer.ll"
+#line 708 "netconf_lexer.ll"
 {
    return NetconfParser::make_NULL_TYPE(driver.loc_);
 }
        YY_BREAK
-case 60:
+case 59:
 YY_RULE_SETUP
-#line 721 "netconf_lexer.ll"
+#line 712 "netconf_lexer.ll"
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
-case 61:
+case 60:
 YY_RULE_SETUP
-#line 723 "netconf_lexer.ll"
+#line 714 "netconf_lexer.ll"
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
-case 62:
+case 61:
 YY_RULE_SETUP
-#line 725 "netconf_lexer.ll"
+#line 716 "netconf_lexer.ll"
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
-case 63:
+case 62:
 YY_RULE_SETUP
-#line 727 "netconf_lexer.ll"
+#line 718 "netconf_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 729 "netconf_lexer.ll"
+#line 720 "netconf_lexer.ll"
 {
     if (driver.states_.empty()) {
         return NetconfParser::make_END(driver.loc_);
@@ -2762,12 +2744,12 @@ case YY_STATE_EOF(INITIAL):
     BEGIN(DIR_EXIT);
 }
        YY_BREAK
-case 64:
+case 63:
 YY_RULE_SETUP
-#line 752 "netconf_lexer.ll"
+#line 743 "netconf_lexer.ll"
 ECHO;
        YY_BREAK
-#line 2770 "netconf_lexer.cc"
+#line 2753 "netconf_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
@@ -3086,7 +3068,7 @@ static int yy_get_next_buffer (void)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 371 )
+                       if ( yy_current_state >= 369 )
                                yy_c = yy_meta[yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -3119,11 +3101,11 @@ static int yy_get_next_buffer (void)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 371 )
+               if ( yy_current_state >= 369 )
                        yy_c = yy_meta[yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
-       yy_is_jam = (yy_current_state == 370);
+       yy_is_jam = (yy_current_state == 368);
 
                return yy_is_jam ? 0 : yy_current_state;
 }
@@ -3872,7 +3854,7 @@ void yyfree (void * ptr )
 
 /* %ok-for-header */
 
-#line 752 "netconf_lexer.ll"
+#line 743 "netconf_lexer.ll"
 
 
 using namespace isc::dhcp;
index d6e7226270cddddf3f37dac6f1394841384a9fb3..22e679af402ba6f44b277d45b58e8defc9214033 100644 (file)
@@ -274,15 +274,6 @@ ControlCharacterFill            [^"\\]|\\["\\/bfnrtu]
     }
 }
 
-\"ca\" {
-    switch(driver.ctx_) {
-    case ParserContext::MANAGED_SERVERS:
-        return NetconfParser::make_CA_SERVER(driver.loc_);
-    default:
-        return NetconfParser::make_STRING("ca", driver.loc_);
-    }
-}
-
 \"model\" {
     switch(driver.ctx_) {
     case ParserContext::SERVER:
index ff6536d6e7849879a5db018dabc212e0edd4bf95..c35aba2ecb8c3c943dcf4b2c8aed1f0e3ac908a2 100644 (file)
@@ -383,43 +383,43 @@ namespace isc { namespace netconf {
         switch (yykind)
     {
       case symbol_kind::S_STRING: // "constant string"
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < string > (); }
 #line 389 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_INTEGER: // "integer"
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < int64_t > (); }
 #line 395 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_FLOAT: // "floating point"
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < double > (); }
 #line 401 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_BOOLEAN: // "boolean"
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < bool > (); }
 #line 407 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_value: // value
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < ElementPtr > (); }
 #line 413 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_map_value: // map_value
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < ElementPtr > (); }
 #line 419 "netconf_parser.cc"
         break;
 
       case symbol_kind::S_socket_type_value: // socket_type_value
-#line 115 "netconf_parser.yy"
+#line 114 "netconf_parser.yy"
                  { yyoutput << yysym.value.template as < ElementPtr > (); }
 #line 425 "netconf_parser.cc"
         break;
@@ -694,25 +694,25 @@ namespace isc { namespace netconf {
           switch (yyn)
             {
   case 2: // $@1: %empty
-#line 126 "netconf_parser.yy"
+#line 125 "netconf_parser.yy"
                        { ctx.ctx_ = ctx.NO_KEYWORDS; }
 #line 700 "netconf_parser.cc"
     break;
 
   case 4: // $@2: %empty
-#line 127 "netconf_parser.yy"
+#line 126 "netconf_parser.yy"
                          { ctx.ctx_ = ctx.CONFIG; }
 #line 706 "netconf_parser.cc"
     break;
 
   case 6: // $@3: %empty
-#line 128 "netconf_parser.yy"
+#line 127 "netconf_parser.yy"
                          { ctx.ctx_ = ctx.NETCONF; }
 #line 712 "netconf_parser.cc"
     break;
 
   case 8: // $@4: %empty
-#line 136 "netconf_parser.yy"
+#line 135 "netconf_parser.yy"
                             {
     // Parse the Netconf map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -722,7 +722,7 @@ namespace isc { namespace netconf {
     break;
 
   case 9: // sub_netconf: "{" $@4 global_params "}"
-#line 140 "netconf_parser.yy"
+#line 139 "netconf_parser.yy"
                                {
     // parsing completed
 }
@@ -730,7 +730,7 @@ namespace isc { namespace netconf {
     break;
 
   case 10: // json: value
-#line 147 "netconf_parser.yy"
+#line 146 "netconf_parser.yy"
             {
     // Push back the JSON value on the stack
     ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ());
@@ -739,49 +739,49 @@ namespace isc { namespace netconf {
     break;
 
   case 11: // value: "integer"
-#line 153 "netconf_parser.yy"
+#line 152 "netconf_parser.yy"
                { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); }
 #line 745 "netconf_parser.cc"
     break;
 
   case 12: // value: "floating point"
-#line 154 "netconf_parser.yy"
+#line 153 "netconf_parser.yy"
              { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); }
 #line 751 "netconf_parser.cc"
     break;
 
   case 13: // value: "boolean"
-#line 155 "netconf_parser.yy"
+#line 154 "netconf_parser.yy"
                { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); }
 #line 757 "netconf_parser.cc"
     break;
 
   case 14: // value: "constant string"
-#line 156 "netconf_parser.yy"
+#line 155 "netconf_parser.yy"
               { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location))); }
 #line 763 "netconf_parser.cc"
     break;
 
   case 15: // value: "null"
-#line 157 "netconf_parser.yy"
+#line 156 "netconf_parser.yy"
                  { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
 #line 769 "netconf_parser.cc"
     break;
 
   case 16: // value: map
-#line 158 "netconf_parser.yy"
+#line 157 "netconf_parser.yy"
            { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
 #line 775 "netconf_parser.cc"
     break;
 
   case 17: // value: list_generic
-#line 159 "netconf_parser.yy"
+#line 158 "netconf_parser.yy"
                     { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
 #line 781 "netconf_parser.cc"
     break;
 
   case 18: // $@5: %empty
-#line 163 "netconf_parser.yy"
+#line 162 "netconf_parser.yy"
                     {
     // This code is executed when we're about to start parsing
     // the content of the map
@@ -792,7 +792,7 @@ namespace isc { namespace netconf {
     break;
 
   case 19: // map: "{" $@5 map_content "}"
-#line 168 "netconf_parser.yy"
+#line 167 "netconf_parser.yy"
                              {
     // map parsing completed. If we ever want to do any wrap up
     // (maybe some sanity checking), this would be the best place
@@ -802,13 +802,13 @@ namespace isc { namespace netconf {
     break;
 
   case 20: // map_value: map
-#line 174 "netconf_parser.yy"
+#line 173 "netconf_parser.yy"
                { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
 #line 808 "netconf_parser.cc"
     break;
 
   case 23: // not_empty_map: "constant string" ":" value
-#line 188 "netconf_parser.yy"
+#line 187 "netconf_parser.yy"
                                   {
                   // map containing a single entry
                   ctx.unique(yystack_[2].value.as < string > (), ctx.loc2pos(yystack_[2].location));
@@ -818,7 +818,7 @@ namespace isc { namespace netconf {
     break;
 
   case 24: // not_empty_map: not_empty_map "," "constant string" ":" value
-#line 193 "netconf_parser.yy"
+#line 192 "netconf_parser.yy"
                                                       {
                   // map consisting of a shorter map followed by
                   // comma and string:value
@@ -829,7 +829,7 @@ namespace isc { namespace netconf {
     break;
 
   case 25: // not_empty_map: not_empty_map ","
-#line 199 "netconf_parser.yy"
+#line 198 "netconf_parser.yy"
                                    {
                  ctx.warnAboutExtraCommas(yystack_[0].location);
                  }
@@ -837,7 +837,7 @@ namespace isc { namespace netconf {
     break;
 
   case 26: // $@6: %empty
-#line 204 "netconf_parser.yy"
+#line 203 "netconf_parser.yy"
                               {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(l);
@@ -846,14 +846,14 @@ namespace isc { namespace netconf {
     break;
 
   case 27: // list_generic: "[" $@6 list_content "]"
-#line 207 "netconf_parser.yy"
+#line 206 "netconf_parser.yy"
                                {
 }
 #line 853 "netconf_parser.cc"
     break;
 
   case 30: // not_empty_list: value
-#line 214 "netconf_parser.yy"
+#line 213 "netconf_parser.yy"
                       {
                   // List consisting of a single element.
                   ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ());
@@ -862,7 +862,7 @@ namespace isc { namespace netconf {
     break;
 
   case 31: // not_empty_list: not_empty_list "," value
-#line 218 "netconf_parser.yy"
+#line 217 "netconf_parser.yy"
                                            {
                   // List ending with , and a value.
                   ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ());
@@ -871,7 +871,7 @@ namespace isc { namespace netconf {
     break;
 
   case 32: // not_empty_list: not_empty_list ","
-#line 222 "netconf_parser.yy"
+#line 221 "netconf_parser.yy"
                                      {
                   ctx.warnAboutExtraCommas(yystack_[0].location);
                   }
@@ -879,7 +879,7 @@ namespace isc { namespace netconf {
     break;
 
   case 33: // unknown_map_entry: "constant string" ":"
-#line 234 "netconf_parser.yy"
+#line 233 "netconf_parser.yy"
                                 {
     const string& where = ctx.contextName();
     const string& keyword = yystack_[1].value.as < string > ();
@@ -890,7 +890,7 @@ namespace isc { namespace netconf {
     break;
 
   case 34: // $@7: %empty
-#line 242 "netconf_parser.yy"
+#line 241 "netconf_parser.yy"
                                    {
     // This code is executed when we're about to start parsing
     // the content of the map
@@ -901,7 +901,7 @@ namespace isc { namespace netconf {
     break;
 
   case 35: // netconf_syntax_map: "{" $@7 global_object "}"
-#line 247 "netconf_parser.yy"
+#line 246 "netconf_parser.yy"
                                {
     // map parsing completed. If we ever want to do any wrap up
     // (maybe some sanity checking), this would be the best place
@@ -911,7 +911,7 @@ namespace isc { namespace netconf {
     break;
 
   case 36: // $@8: %empty
-#line 254 "netconf_parser.yy"
+#line 253 "netconf_parser.yy"
                        {
     // Let's create a MapElement that will represent it, add it to the
     // top level map (that's already on the stack) and put the new map
@@ -929,7 +929,7 @@ namespace isc { namespace netconf {
     break;
 
   case 37: // global_object: "Netconf" $@8 ":" "{" global_params "}"
-#line 266 "netconf_parser.yy"
+#line 265 "netconf_parser.yy"
                                                     {
     // Ok, we're done with parsing Netconf. Let's take the map
     // off the stack.
@@ -940,7 +940,7 @@ namespace isc { namespace netconf {
     break;
 
   case 39: // global_object_comma: global_object ","
-#line 275 "netconf_parser.yy"
+#line 274 "netconf_parser.yy"
                                          {
     ctx.warnAboutExtraCommas(yystack_[0].location);
 }
@@ -948,7 +948,7 @@ namespace isc { namespace netconf {
     break;
 
   case 44: // not_empty_global_params: not_empty_global_params ","
-#line 286 "netconf_parser.yy"
+#line 285 "netconf_parser.yy"
                                                        {
                            ctx.warnAboutExtraCommas(yystack_[0].location);
                            }
@@ -956,7 +956,7 @@ namespace isc { namespace netconf {
     break;
 
   case 54: // boot_update: "boot-update" ":" "boolean"
-#line 304 "netconf_parser.yy"
+#line 303 "netconf_parser.yy"
                                        {
     ctx.unique("boot-update", ctx.loc2pos(yystack_[2].location));
     ElementPtr flag(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
@@ -966,7 +966,7 @@ namespace isc { namespace netconf {
     break;
 
   case 55: // subscribe_changes: "subscribe-changes" ":" "boolean"
-#line 310 "netconf_parser.yy"
+#line 309 "netconf_parser.yy"
                                                    {
     ctx.unique("subscribe-changes", ctx.loc2pos(yystack_[2].location));
     ElementPtr flag(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
@@ -976,7 +976,7 @@ namespace isc { namespace netconf {
     break;
 
   case 56: // validate_changes: "validate-changes" ":" "boolean"
-#line 316 "netconf_parser.yy"
+#line 315 "netconf_parser.yy"
                                                  {
     ctx.unique("validate-changes", ctx.loc2pos(yystack_[2].location));
     ElementPtr flag(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
@@ -986,7 +986,7 @@ namespace isc { namespace netconf {
     break;
 
   case 57: // $@9: %empty
-#line 322 "netconf_parser.yy"
+#line 321 "netconf_parser.yy"
                            {
     ctx.enter(ctx.NO_KEYWORDS);
 }
@@ -994,7 +994,7 @@ namespace isc { namespace netconf {
     break;
 
   case 58: // user_context: "user-context" $@9 ":" map_value
-#line 324 "netconf_parser.yy"
+#line 323 "netconf_parser.yy"
                   {
     ElementPtr parent = ctx.stack_.back();
     ElementPtr user_context = yystack_[0].value.as < ElementPtr > ();
@@ -1021,7 +1021,7 @@ namespace isc { namespace netconf {
     break;
 
   case 59: // $@10: %empty
-#line 347 "netconf_parser.yy"
+#line 346 "netconf_parser.yy"
                  {
     ctx.enter(ctx.NO_KEYWORDS);
 }
@@ -1029,7 +1029,7 @@ namespace isc { namespace netconf {
     break;
 
   case 60: // comment: "comment" $@10 ":" "constant string"
-#line 349 "netconf_parser.yy"
+#line 348 "netconf_parser.yy"
                {
     ElementPtr parent = ctx.stack_.back();
     ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location)));
@@ -1058,7 +1058,7 @@ namespace isc { namespace netconf {
     break;
 
   case 61: // $@11: %empty
-#line 375 "netconf_parser.yy"
+#line 374 "netconf_parser.yy"
                                  {
     ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1070,7 +1070,7 @@ namespace isc { namespace netconf {
     break;
 
   case 62: // hooks_libraries: "hooks-libraries" $@11 ":" "[" hooks_libraries_list "]"
-#line 381 "netconf_parser.yy"
+#line 380 "netconf_parser.yy"
                                                              {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1079,7 +1079,7 @@ namespace isc { namespace netconf {
     break;
 
   case 67: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list ","
-#line 392 "netconf_parser.yy"
+#line 391 "netconf_parser.yy"
                                            {
         ctx.warnAboutExtraCommas(yystack_[0].location);
         }
@@ -1087,7 +1087,7 @@ namespace isc { namespace netconf {
     break;
 
   case 68: // $@12: %empty
-#line 397 "netconf_parser.yy"
+#line 396 "netconf_parser.yy"
                               {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1097,7 +1097,7 @@ namespace isc { namespace netconf {
     break;
 
   case 69: // hooks_library: "{" $@12 hooks_params "}"
-#line 401 "netconf_parser.yy"
+#line 400 "netconf_parser.yy"
                               {
     ctx.stack_.pop_back();
 }
@@ -1105,7 +1105,7 @@ namespace isc { namespace netconf {
     break;
 
   case 72: // hooks_params: hooks_params ","
-#line 407 "netconf_parser.yy"
+#line 406 "netconf_parser.yy"
                                  {
               ctx.warnAboutExtraCommas(yystack_[0].location);
               }
@@ -1113,7 +1113,7 @@ namespace isc { namespace netconf {
     break;
 
   case 76: // $@13: %empty
-#line 417 "netconf_parser.yy"
+#line 416 "netconf_parser.yy"
                  {
     ctx.unique("library", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
@@ -1122,7 +1122,7 @@ namespace isc { namespace netconf {
     break;
 
   case 77: // library: "library" $@13 ":" "constant string"
-#line 420 "netconf_parser.yy"
+#line 419 "netconf_parser.yy"
                {
     ElementPtr lib(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("library", lib);
@@ -1132,7 +1132,7 @@ namespace isc { namespace netconf {
     break;
 
   case 78: // $@14: %empty
-#line 426 "netconf_parser.yy"
+#line 425 "netconf_parser.yy"
                        {
     ctx.unique("parameters", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
@@ -1141,7 +1141,7 @@ namespace isc { namespace netconf {
     break;
 
   case 79: // parameters: "parameters" $@14 ":" map_value
-#line 429 "netconf_parser.yy"
+#line 428 "netconf_parser.yy"
                   {
     ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
@@ -1150,7 +1150,7 @@ namespace isc { namespace netconf {
     break;
 
   case 80: // $@15: %empty
-#line 437 "netconf_parser.yy"
+#line 436 "netconf_parser.yy"
                                                       {
     ctx.unique("managed-servers", ctx.loc2pos(yystack_[2].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[2].location)));
@@ -1162,7 +1162,7 @@ namespace isc { namespace netconf {
     break;
 
   case 81: // managed_servers: "managed-servers" ":" "{" $@15 servers_entries "}"
-#line 443 "netconf_parser.yy"
+#line 442 "netconf_parser.yy"
                                  {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1171,15 +1171,15 @@ namespace isc { namespace netconf {
     break;
 
   case 86: // not_empty_servers_entries: not_empty_servers_entries ","
-#line 454 "netconf_parser.yy"
+#line 453 "netconf_parser.yy"
                                                            {
                              ctx.warnAboutExtraCommas(yystack_[0].location);
                              }
 #line 1179 "netconf_parser.cc"
     break;
 
-  case 92: // $@16: %empty
-#line 470 "netconf_parser.yy"
+  case 91: // $@16: %empty
+#line 468 "netconf_parser.yy"
                            {
     ctx.unique("dhcp4", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1190,8 +1190,8 @@ namespace isc { namespace netconf {
 #line 1191 "netconf_parser.cc"
     break;
 
-  case 93: // dhcp4_server: "dhcp4" $@16 ":" "{" managed_server_params "}"
-#line 476 "netconf_parser.yy"
+  case 92: // dhcp4_server: "dhcp4" $@16 ":" "{" managed_server_params "}"
+#line 474 "netconf_parser.yy"
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1199,8 +1199,8 @@ namespace isc { namespace netconf {
 #line 1200 "netconf_parser.cc"
     break;
 
-  case 94: // $@17: %empty
-#line 482 "netconf_parser.yy"
+  case 93: // $@17: %empty
+#line 480 "netconf_parser.yy"
                            {
     ctx.unique("dhcp6", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1211,8 +1211,8 @@ namespace isc { namespace netconf {
 #line 1212 "netconf_parser.cc"
     break;
 
-  case 95: // dhcp6_server: "dhcp6" $@17 ":" "{" managed_server_params "}"
-#line 488 "netconf_parser.yy"
+  case 94: // dhcp6_server: "dhcp6" $@17 ":" "{" managed_server_params "}"
+#line 486 "netconf_parser.yy"
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1220,8 +1220,8 @@ namespace isc { namespace netconf {
 #line 1221 "netconf_parser.cc"
     break;
 
-  case 96: // $@18: %empty
-#line 494 "netconf_parser.yy"
+  case 95: // $@18: %empty
+#line 492 "netconf_parser.yy"
                      {
     ctx.unique("d2", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1232,8 +1232,8 @@ namespace isc { namespace netconf {
 #line 1233 "netconf_parser.cc"
     break;
 
-  case 97: // d2_server: "d2" $@18 ":" "{" managed_server_params "}"
-#line 500 "netconf_parser.yy"
+  case 96: // d2_server: "d2" $@18 ":" "{" managed_server_params "}"
+#line 498 "netconf_parser.yy"
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1241,56 +1241,35 @@ namespace isc { namespace netconf {
 #line 1242 "netconf_parser.cc"
     break;
 
-  case 98: // $@19: %empty
+  case 99: // managed_server_params: managed_server_params ","
 #line 506 "netconf_parser.yy"
-                     {
-    ctx.unique("ca", ctx.loc2pos(yystack_[0].location));
-    ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
-    ctx.stack_.back()->set("ca", m);
-    ctx.stack_.push_back(m);
-    ctx.enter(ctx.SERVER);
-}
-#line 1254 "netconf_parser.cc"
-    break;
-
-  case 99: // ca_server: "ca" $@19 ":" "{" managed_server_params "}"
-#line 512 "netconf_parser.yy"
-                                                            {
-    ctx.stack_.pop_back();
-    ctx.leave();
-}
-#line 1263 "netconf_parser.cc"
-    break;
-
-  case 102: // managed_server_params: managed_server_params ","
-#line 520 "netconf_parser.yy"
                                                    {
                          ctx.warnAboutExtraCommas(yystack_[0].location);
                          }
-#line 1271 "netconf_parser.cc"
+#line 1250 "netconf_parser.cc"
     break;
 
-  case 111: // $@20: %empty
-#line 537 "netconf_parser.yy"
+  case 108: // $@19: %empty
+#line 523 "netconf_parser.yy"
              {
     ctx.unique("model", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1280 "netconf_parser.cc"
+#line 1259 "netconf_parser.cc"
     break;
 
-  case 112: // model: "model" $@20 ":" "constant string"
-#line 540 "netconf_parser.yy"
+  case 109: // model: "model" $@19 ":" "constant string"
+#line 526 "netconf_parser.yy"
                {
     ElementPtr model(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("model", model);
     ctx.leave();
 }
-#line 1290 "netconf_parser.cc"
+#line 1269 "netconf_parser.cc"
     break;
 
-  case 113: // $@21: %empty
-#line 547 "netconf_parser.yy"
+  case 110: // $@20: %empty
+#line 533 "netconf_parser.yy"
                                {
     ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location));
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1298,102 +1277,102 @@ namespace isc { namespace netconf {
     ctx.stack_.push_back(m);
     ctx.enter(ctx.CONTROL_SOCKET);
 }
-#line 1302 "netconf_parser.cc"
+#line 1281 "netconf_parser.cc"
     break;
 
-  case 114: // control_socket: "control-socket" $@21 ":" "{" control_socket_params "}"
-#line 553 "netconf_parser.yy"
+  case 111: // control_socket: "control-socket" $@20 ":" "{" control_socket_params "}"
+#line 539 "netconf_parser.yy"
                                                             {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1311 "netconf_parser.cc"
+#line 1290 "netconf_parser.cc"
     break;
 
-  case 117: // control_socket_params: control_socket_params ","
-#line 561 "netconf_parser.yy"
+  case 114: // control_socket_params: control_socket_params ","
+#line 547 "netconf_parser.yy"
                                                    {
                          ctx.warnAboutExtraCommas(yystack_[0].location);
                          }
-#line 1319 "netconf_parser.cc"
+#line 1298 "netconf_parser.cc"
     break;
 
-  case 124: // $@22: %empty
-#line 574 "netconf_parser.yy"
+  case 121: // $@21: %empty
+#line 560 "netconf_parser.yy"
                          {
     ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.SOCKET_TYPE);
 }
-#line 1328 "netconf_parser.cc"
+#line 1307 "netconf_parser.cc"
     break;
 
-  case 125: // socket_type: "socket-type" $@22 ":" socket_type_value
-#line 577 "netconf_parser.yy"
+  case 122: // socket_type: "socket-type" $@21 ":" socket_type_value
+#line 563 "netconf_parser.yy"
                           {
     ctx.stack_.back()->set("socket-type", yystack_[0].value.as < ElementPtr > ());
     ctx.leave();
 }
-#line 1337 "netconf_parser.cc"
+#line 1316 "netconf_parser.cc"
     break;
 
-  case 126: // socket_type_value: "unix"
-#line 583 "netconf_parser.yy"
+  case 123: // socket_type_value: "unix"
+#line 569 "netconf_parser.yy"
                          { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("unix", ctx.loc2pos(yystack_[0].location))); }
-#line 1343 "netconf_parser.cc"
+#line 1322 "netconf_parser.cc"
     break;
 
-  case 127: // socket_type_value: "http"
-#line 584 "netconf_parser.yy"
+  case 124: // socket_type_value: "http"
+#line 570 "netconf_parser.yy"
                          { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("http", ctx.loc2pos(yystack_[0].location))); }
-#line 1349 "netconf_parser.cc"
+#line 1328 "netconf_parser.cc"
     break;
 
-  case 128: // socket_type_value: "stdout"
-#line 585 "netconf_parser.yy"
+  case 125: // socket_type_value: "stdout"
+#line 571 "netconf_parser.yy"
                            { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("stdout", ctx.loc2pos(yystack_[0].location))); }
-#line 1355 "netconf_parser.cc"
+#line 1334 "netconf_parser.cc"
     break;
 
-  case 129: // $@23: %empty
-#line 588 "netconf_parser.yy"
+  case 126: // $@22: %empty
+#line 574 "netconf_parser.yy"
                          {
     ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1364 "netconf_parser.cc"
+#line 1343 "netconf_parser.cc"
     break;
 
-  case 130: // socket_name: "socket-name" $@23 ":" "constant string"
-#line 591 "netconf_parser.yy"
+  case 127: // socket_name: "socket-name" $@22 ":" "constant string"
+#line 577 "netconf_parser.yy"
                {
     ElementPtr name(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-name", name);
     ctx.leave();
 }
-#line 1374 "netconf_parser.cc"
+#line 1353 "netconf_parser.cc"
     break;
 
-  case 131: // $@24: %empty
-#line 598 "netconf_parser.yy"
+  case 128: // $@23: %empty
+#line 584 "netconf_parser.yy"
                        {
     ctx.unique("socket-url", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1383 "netconf_parser.cc"
+#line 1362 "netconf_parser.cc"
     break;
 
-  case 132: // socket_url: "socket-url" $@24 ":" "constant string"
-#line 601 "netconf_parser.yy"
+  case 129: // socket_url: "socket-url" $@23 ":" "constant string"
+#line 587 "netconf_parser.yy"
                {
     ElementPtr url(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-url", url);
     ctx.leave();
 }
-#line 1393 "netconf_parser.cc"
+#line 1372 "netconf_parser.cc"
     break;
 
-  case 133: // $@25: %empty
-#line 611 "netconf_parser.yy"
+  case 130: // $@24: %empty
+#line 597 "netconf_parser.yy"
                  {
     ctx.unique("loggers", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1401,102 +1380,102 @@ namespace isc { namespace netconf {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.LOGGERS);
 }
-#line 1405 "netconf_parser.cc"
+#line 1384 "netconf_parser.cc"
     break;
 
-  case 134: // loggers: "loggers" $@25 ":" "[" loggers_entries "]"
-#line 617 "netconf_parser.yy"
+  case 131: // loggers: "loggers" $@24 ":" "[" loggers_entries "]"
+#line 603 "netconf_parser.yy"
                                                          {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1414 "netconf_parser.cc"
+#line 1393 "netconf_parser.cc"
     break;
 
-  case 137: // loggers_entries: loggers_entries ","
-#line 626 "netconf_parser.yy"
+  case 134: // loggers_entries: loggers_entries ","
+#line 612 "netconf_parser.yy"
                                        {
                    ctx.warnAboutExtraCommas(yystack_[0].location);
                    }
-#line 1422 "netconf_parser.cc"
+#line 1401 "netconf_parser.cc"
     break;
 
-  case 138: // $@26: %empty
-#line 632 "netconf_parser.yy"
+  case 135: // $@25: %empty
+#line 618 "netconf_parser.yy"
                              {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
     ctx.stack_.push_back(l);
 }
-#line 1432 "netconf_parser.cc"
+#line 1411 "netconf_parser.cc"
     break;
 
-  case 139: // logger_entry: "{" $@26 logger_params "}"
-#line 636 "netconf_parser.yy"
+  case 136: // logger_entry: "{" $@25 logger_params "}"
+#line 622 "netconf_parser.yy"
                                {
     ctx.stack_.pop_back();
 }
-#line 1440 "netconf_parser.cc"
+#line 1419 "netconf_parser.cc"
     break;
 
-  case 142: // logger_params: logger_params ","
-#line 642 "netconf_parser.yy"
+  case 139: // logger_params: logger_params ","
+#line 628 "netconf_parser.yy"
                                    {
                  ctx.warnAboutExtraCommas(yystack_[0].location);
                  }
-#line 1448 "netconf_parser.cc"
+#line 1427 "netconf_parser.cc"
     break;
 
-  case 150: // $@27: %empty
-#line 656 "netconf_parser.yy"
+  case 147: // $@26: %empty
+#line 642 "netconf_parser.yy"
            {
     ctx.unique("name", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1457 "netconf_parser.cc"
+#line 1436 "netconf_parser.cc"
     break;
 
-  case 151: // name: "name" $@27 ":" "constant string"
-#line 659 "netconf_parser.yy"
+  case 148: // name: "name" $@26 ":" "constant string"
+#line 645 "netconf_parser.yy"
                {
     ElementPtr name(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("name", name);
     ctx.leave();
 }
-#line 1467 "netconf_parser.cc"
+#line 1446 "netconf_parser.cc"
     break;
 
-  case 152: // debuglevel: "debuglevel" ":" "integer"
-#line 665 "netconf_parser.yy"
+  case 149: // debuglevel: "debuglevel" ":" "integer"
+#line 651 "netconf_parser.yy"
                                      {
     ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location));
     ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
 }
-#line 1477 "netconf_parser.cc"
+#line 1456 "netconf_parser.cc"
     break;
 
-  case 153: // $@28: %empty
-#line 671 "netconf_parser.yy"
+  case 150: // $@27: %empty
+#line 657 "netconf_parser.yy"
                    {
     ctx.unique("severity", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1486 "netconf_parser.cc"
+#line 1465 "netconf_parser.cc"
     break;
 
-  case 154: // severity: "severity" $@28 ":" "constant string"
-#line 674 "netconf_parser.yy"
+  case 151: // severity: "severity" $@27 ":" "constant string"
+#line 660 "netconf_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
     ctx.leave();
 }
-#line 1496 "netconf_parser.cc"
+#line 1475 "netconf_parser.cc"
     break;
 
-  case 155: // $@29: %empty
-#line 680 "netconf_parser.yy"
+  case 152: // $@28: %empty
+#line 666 "netconf_parser.yy"
                                     {
     ctx.unique("output-options", ctx.loc2pos(yystack_[0].location));
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
@@ -1504,122 +1483,122 @@ namespace isc { namespace netconf {
     ctx.stack_.push_back(l);
     ctx.enter(ctx.OUTPUT_OPTIONS);
 }
-#line 1508 "netconf_parser.cc"
+#line 1487 "netconf_parser.cc"
     break;
 
-  case 156: // output_options_list: "output-options" $@29 ":" "[" output_options_list_content "]"
-#line 686 "netconf_parser.yy"
+  case 153: // output_options_list: "output-options" $@28 ":" "[" output_options_list_content "]"
+#line 672 "netconf_parser.yy"
                                                                     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1517 "netconf_parser.cc"
+#line 1496 "netconf_parser.cc"
     break;
 
-  case 159: // output_options_list_content: output_options_list_content ","
-#line 693 "netconf_parser.yy"
+  case 156: // output_options_list_content: output_options_list_content ","
+#line 679 "netconf_parser.yy"
                                                                {
                                ctx.warnAboutExtraCommas(yystack_[0].location);
                                }
-#line 1525 "netconf_parser.cc"
+#line 1504 "netconf_parser.cc"
     break;
 
-  case 160: // $@30: %empty
-#line 698 "netconf_parser.yy"
+  case 157: // $@29: %empty
+#line 684 "netconf_parser.yy"
                              {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 1535 "netconf_parser.cc"
+#line 1514 "netconf_parser.cc"
     break;
 
-  case 161: // output_entry: "{" $@30 output_params_list "}"
-#line 702 "netconf_parser.yy"
+  case 158: // output_entry: "{" $@29 output_params_list "}"
+#line 688 "netconf_parser.yy"
                                     {
     ctx.stack_.pop_back();
 }
-#line 1543 "netconf_parser.cc"
+#line 1522 "netconf_parser.cc"
     break;
 
-  case 164: // output_params_list: output_params_list ","
-#line 708 "netconf_parser.yy"
+  case 161: // output_params_list: output_params_list ","
+#line 694 "netconf_parser.yy"
                                         {
                  ctx.warnAboutExtraCommas(yystack_[0].location);
                  }
-#line 1551 "netconf_parser.cc"
+#line 1530 "netconf_parser.cc"
     break;
 
-  case 170: // $@31: %empty
-#line 720 "netconf_parser.yy"
+  case 167: // $@30: %empty
+#line 706 "netconf_parser.yy"
                {
     ctx.unique("output", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1560 "netconf_parser.cc"
+#line 1539 "netconf_parser.cc"
     break;
 
-  case 171: // output: "output" $@31 ":" "constant string"
-#line 723 "netconf_parser.yy"
+  case 168: // output: "output" $@30 ":" "constant string"
+#line 709 "netconf_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
     ctx.leave();
 }
-#line 1570 "netconf_parser.cc"
+#line 1549 "netconf_parser.cc"
     break;
 
-  case 172: // flush: "flush" ":" "boolean"
-#line 729 "netconf_parser.yy"
+  case 169: // flush: "flush" ":" "boolean"
+#line 715 "netconf_parser.yy"
                            {
     ctx.unique("flush", ctx.loc2pos(yystack_[2].location));
     ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
 }
-#line 1580 "netconf_parser.cc"
+#line 1559 "netconf_parser.cc"
     break;
 
-  case 173: // maxsize: "maxsize" ":" "integer"
-#line 735 "netconf_parser.yy"
+  case 170: // maxsize: "maxsize" ":" "integer"
+#line 721 "netconf_parser.yy"
                                {
     ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location));
     ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
 }
-#line 1590 "netconf_parser.cc"
+#line 1569 "netconf_parser.cc"
     break;
 
-  case 174: // maxver: "maxver" ":" "integer"
-#line 741 "netconf_parser.yy"
+  case 171: // maxver: "maxver" ":" "integer"
+#line 727 "netconf_parser.yy"
                              {
     ctx.unique("maxver", ctx.loc2pos(yystack_[2].location));
     ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
 }
-#line 1600 "netconf_parser.cc"
+#line 1579 "netconf_parser.cc"
     break;
 
-  case 175: // $@32: %empty
-#line 747 "netconf_parser.yy"
+  case 172: // $@31: %empty
+#line 733 "netconf_parser.yy"
                  {
     ctx.unique("pattern", ctx.loc2pos(yystack_[0].location));
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1609 "netconf_parser.cc"
+#line 1588 "netconf_parser.cc"
     break;
 
-  case 176: // pattern: "pattern" $@32 ":" "constant string"
-#line 750 "netconf_parser.yy"
+  case 173: // pattern: "pattern" $@31 ":" "constant string"
+#line 736 "netconf_parser.yy"
                {
     ElementPtr sev(new StringElement(yystack_[0].value.as < string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pattern", sev);
     ctx.leave();
 }
-#line 1619 "netconf_parser.cc"
+#line 1598 "netconf_parser.cc"
     break;
 
 
-#line 1623 "netconf_parser.cc"
+#line 1602 "netconf_parser.cc"
 
             default:
               break;
@@ -1971,41 +1950,40 @@ namespace isc { namespace netconf {
   }
 
 
-  const signed char NetconfParser::yypact_ninf_ = -79;
+  const signed char NetconfParser::yypact_ninf_ = -102;
 
   const signed char NetconfParser::yytable_ninf_ = -1;
 
   const short
   NetconfParser::yypact_[] =
   {
-      -8,   -79,   -79,   -79,    16,    14,    13,    15,   -79,   -79,
-     -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,
-     -79,   -79,   -79,   -79,    14,     2,    45,    -1,   -79,    61,
-      68,    75,    73,    79,   -79,    30,   -79,   -79,   -79,    89,
-      90,   123,   124,   -79,   -79,   125,   -79,   108,    94,   -79,
-     -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,    14,
-      14,   -79,    85,   127,   -79,   -79,   128,   129,    86,    87,
-      88,   130,   134,   135,   -79,   -79,    -1,   -79,   -79,   136,
-     140,   141,    96,   -79,   -79,   -79,   -79,   137,   138,   -79,
-      14,    -1,   -79,   -79,   -79,     7,   142,   143,   -79,   144,
-     -79,   -79,   -79,   -79,   -79,   145,   148,   -79,   -79,   -79,
-     -79,   -79,   -79,   149,   151,   -79,   -79,    50,   -79,   -79,
-     152,   153,   154,   155,   -79,     7,   -13,   -79,   142,    76,
-     143,   -79,   156,   157,   158,   159,   -79,   -79,   -79,   -79,
-      34,   -79,   -79,   -79,   -79,   -79,   -79,   163,   -79,   -79,
-     -79,   -79,    40,   -79,   -79,   -79,   -79,   -79,   -79,    63,
-      63,    63,    63,   164,   165,   -24,   -79,   166,   167,   116,
-     168,    76,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,
-     -79,    92,   -79,   -79,   -79,    93,   111,   112,   131,   141,
-     -79,   132,   169,   -79,   133,   -79,   171,   175,    63,   -79,
-     -79,   -79,   -79,   -79,   -79,   -79,   173,   -79,   139,   174,
-     -79,   -79,    77,   -79,   -79,    18,    51,   173,   -79,   -79,
-     -79,   -79,   -79,   -79,   -79,   114,   -79,   -79,   -79,   -79,
-     -79,   178,   179,   181,   -79,   115,   -79,   -79,   -79,   -79,
-     -79,   -79,   -79,   182,   183,   187,    18,   -79,   188,   113,
-     147,   150,   190,    51,   -79,    81,   160,   161,   -79,   162,
-     -79,   -79,   -79,   170,   -79,   -79,   -79,   -79,   -79,   -79,
-     -79,   -79,   -79
+      73,  -102,  -102,  -102,    25,    15,     9,    22,  -102,  -102,
+    -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,
+    -102,  -102,  -102,  -102,    15,    19,    57,    -1,  -102,    65,
+      79,    75,    82,    88,  -102,    33,  -102,  -102,  -102,    94,
+     100,   102,   106,  -102,  -102,   115,  -102,    85,   121,  -102,
+    -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,    15,
+      15,  -102,    81,   122,  -102,  -102,   123,   124,    83,    84,
+      87,   125,   129,   132,  -102,  -102,    -1,  -102,  -102,   133,
+     131,   135,    99,  -102,  -102,  -102,  -102,   139,   140,  -102,
+      15,    -1,  -102,  -102,  -102,     0,   141,   142,  -102,   138,
+    -102,  -102,  -102,  -102,   143,   126,  -102,  -102,  -102,  -102,
+    -102,   144,   149,  -102,  -102,    20,  -102,  -102,   150,   151,
+     152,  -102,     0,   -23,  -102,   141,    76,   142,  -102,   146,
+     153,   154,  -102,  -102,  -102,  -102,    34,  -102,  -102,  -102,
+    -102,  -102,  -102,   155,  -102,  -102,  -102,  -102,    44,  -102,
+    -102,  -102,  -102,  -102,  -102,    63,    63,    63,   158,   159,
+      16,  -102,   160,   161,   112,   162,    76,  -102,  -102,  -102,
+    -102,  -102,  -102,  -102,  -102,  -102,    45,  -102,  -102,  -102,
+      77,    78,   103,   135,  -102,   114,   163,  -102,   127,  -102,
+     165,   166,    63,  -102,  -102,  -102,  -102,  -102,  -102,   167,
+    -102,   128,   168,  -102,  -102,    32,  -102,  -102,    91,    -6,
+     167,  -102,  -102,  -102,  -102,  -102,  -102,  -102,    86,  -102,
+    -102,  -102,  -102,  -102,   169,   172,   173,  -102,    89,  -102,
+    -102,  -102,  -102,  -102,  -102,  -102,   174,   175,   176,    91,
+    -102,   180,   120,   145,   147,   181,    -6,  -102,    98,   156,
+     157,  -102,   164,  -102,  -102,  -102,   171,  -102,  -102,  -102,
+    -102,  -102,  -102,  -102,  -102,  -102
   };
 
   const unsigned char
@@ -2015,172 +1993,168 @@ namespace isc { namespace netconf {
       18,    15,    14,    11,    12,    13,     3,    10,    16,    17,
       34,     5,     8,     7,    28,    21,     0,    40,    30,     0,
       29,     0,     0,    22,    36,     0,    38,    57,    59,     0,
-       0,     0,     0,    61,   133,     0,    53,     0,    41,    42,
+       0,     0,     0,    61,   130,     0,    53,     0,    41,    42,
       45,    46,    47,    51,    52,    49,    48,    50,    27,    32,
        0,    19,    25,     0,    39,    35,     0,     0,     0,     0,
        0,     0,     0,     0,    33,     9,    44,    31,    23,     0,
        0,     0,     0,    54,    55,    56,    80,     0,     0,    43,
        0,    40,    20,    58,    60,    82,    63,     0,    24,     0,
-      92,    94,    96,    98,    91,     0,    83,    84,    87,    88,
-      89,    90,    68,     0,    64,    65,   138,     0,   135,    37,
-       0,     0,     0,     0,    81,    86,     0,    62,    67,     0,
-     137,   134,     0,     0,     0,     0,    85,    76,    78,    73,
-       0,    70,    74,    75,    66,   150,   155,     0,   153,   149,
-     147,   148,     0,   140,   143,   145,   146,   144,   136,     0,
-       0,     0,     0,     0,     0,    72,    69,     0,     0,     0,
-       0,   142,   139,   111,   113,   110,   104,   105,   106,   108,
-     109,     0,   100,   103,   107,     0,     0,     0,     0,     0,
-      71,     0,     0,   152,     0,   141,     0,     0,   102,    93,
-      95,    97,    99,    77,    79,   151,     0,   154,     0,     0,
-     101,   160,     0,   157,   112,     0,     0,   159,   156,   124,
-     129,   131,   123,   121,   122,     0,   115,   118,   119,   120,
-     170,     0,     0,     0,   175,     0,   162,   165,   166,   167,
-     168,   169,   158,     0,     0,     0,   117,   114,     0,     0,
-       0,     0,     0,   164,   161,     0,     0,     0,   116,     0,
-     172,   173,   174,     0,   163,   126,   127,   128,   125,   130,
-     132,   171,   176
+      91,    93,    95,    90,     0,    83,    84,    87,    88,    89,
+      68,     0,    64,    65,   135,     0,   132,    37,     0,     0,
+       0,    81,    86,     0,    62,    67,     0,   134,   131,     0,
+       0,     0,    85,    76,    78,    73,     0,    70,    74,    75,
+      66,   147,   152,     0,   150,   146,   144,   145,     0,   137,
+     140,   142,   143,   141,   133,     0,     0,     0,     0,     0,
+      72,    69,     0,     0,     0,     0,   139,   136,   108,   110,
+     107,   101,   102,   103,   105,   106,     0,    97,   100,   104,
+       0,     0,     0,     0,    71,     0,     0,   149,     0,   138,
+       0,     0,    99,    92,    94,    96,    77,    79,   148,     0,
+     151,     0,     0,    98,   157,     0,   154,   109,     0,     0,
+     156,   153,   121,   126,   128,   120,   118,   119,     0,   112,
+     115,   116,   117,   167,     0,     0,     0,   172,     0,   159,
+     162,   163,   164,   165,   166,   155,     0,     0,     0,   114,
+     111,     0,     0,     0,     0,     0,   161,   158,     0,     0,
+       0,   113,     0,   169,   170,   171,     0,   160,   123,   124,
+     125,   122,   127,   129,   168,   173
   };
 
   const signed char
   NetconfParser::yypgoto_[] =
   {
-     -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -20,   -78,
-     -79,   -29,   -79,   -79,   -79,   -79,   -79,   -79,   -27,   -79,
-     -79,   -79,   -79,   -79,    82,   -79,   119,   -22,   -19,   -18,
-     -26,   -79,   -25,   -79,   -79,   -79,   -79,   -79,    69,   -79,
-     -79,    33,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,
-      74,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -36,
-       3,   -79,   -79,   -79,   -79,   -79,   -46,   -79,   -79,   -79,
-     -79,   -79,   -79,   -79,   -79,   -79,   -79,    72,   -79,   -79,
-      32,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,    -9,
-     -79,   -79,   -49,   -79,   -79,   -79,   -79,   -79,   -79,   -79
+    -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,   -20,   -78,
+    -102,     3,  -102,  -102,  -102,  -102,  -102,  -102,   -27,  -102,
+    -102,  -102,  -102,  -102,    96,  -102,   113,   -22,   -19,   -18,
+     -26,  -102,   -25,  -102,  -102,  -102,  -102,  -102,    66,  -102,
+    -102,    28,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,
+      71,  -102,  -102,  -102,  -102,  -102,  -102,  -101,     2,  -102,
+    -102,  -102,  -102,  -102,   -44,  -102,  -102,  -102,  -102,  -102,
+    -102,  -102,  -102,  -102,  -102,    69,  -102,  -102,    31,  -102,
+    -102,  -102,  -102,  -102,  -102,  -102,  -102,   -12,  -102,  -102,
+     -47,  -102,  -102,  -102,  -102,  -102,  -102,  -102
   };
 
   const short
   NetconfParser::yydefgoto_[] =
   {
        0,     4,     5,     6,     7,    23,    27,    16,    17,    18,
-      25,    93,    32,    33,    19,    24,    29,    30,   175,    21,
-      26,    35,    63,    36,    47,    48,    49,   176,   177,   178,
-     179,    66,   180,    67,    55,    72,   113,   114,   115,   126,
-     140,   141,   142,   163,   143,   164,    56,    95,   105,   106,
-     107,   108,   120,   109,   121,   110,   122,   111,   123,   181,
-     182,   183,   196,   184,   197,   225,   226,   227,   243,   268,
-     228,   244,   229,   245,    57,    73,   117,   118,   129,   152,
-     153,   154,   167,   155,   156,   170,   157,   168,   212,   213,
-     216,   235,   236,   237,   248,   238,   239,   240,   241,   252
+      25,    93,    32,    33,    19,    24,    29,    30,   170,    21,
+      26,    35,    63,    36,    47,    48,    49,   171,   172,   173,
+     174,    66,   175,    67,    55,    72,   111,   112,   113,   123,
+     136,   137,   138,   158,   139,   159,    56,    95,   104,   105,
+     106,   107,   118,   108,   119,   109,   120,   176,   177,   178,
+     190,   179,   191,   218,   219,   220,   236,   261,   221,   237,
+     222,   238,    57,    73,   115,   116,   126,   148,   149,   150,
+     162,   151,   152,   165,   153,   163,   205,   206,   209,   228,
+     229,   230,   241,   231,   232,   233,   234,   245
   };
 
   const short
   NetconfParser::yytable_[] =
   {
-      46,    53,    54,    92,    28,    50,   137,   138,    51,    52,
-      37,    38,    39,    40,    41,    42,     8,   137,   138,     9,
-      20,    10,    22,    11,   100,   101,   102,   103,    43,    37,
-      38,    44,    45,    64,     1,     2,     3,   165,    65,    77,
-      78,   219,   166,   171,    45,   220,   221,    31,   172,    46,
-      53,    54,    45,   130,    50,    34,   131,    51,    52,    12,
-      13,    14,    15,    45,    46,    53,    54,    58,   104,    50,
-      98,    59,    51,    52,    37,    38,    39,    40,    41,    60,
-     217,    61,    62,   218,   173,   174,   230,    37,    38,   231,
-     232,   233,   234,    68,    69,   198,   198,    76,   104,   139,
-     199,   200,   149,   150,   151,   265,   266,   267,    45,   145,
-     146,    92,   147,   148,   198,   198,    75,   246,   253,   201,
-     202,    45,   247,   254,   185,   186,   187,    70,    71,    74,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      90,    94,    96,    97,   149,   150,   151,    91,    10,   112,
-     116,   125,   119,   124,   128,   127,   132,   133,   134,   135,
-     204,   260,   193,   159,   160,   161,   162,   169,   188,   189,
-     191,   192,   194,    99,   206,   208,   203,   205,   207,   209,
-     211,   215,   249,   250,   214,   251,   255,   256,   222,   223,
-     224,   257,   259,   261,   263,    89,   262,   144,   190,   136,
-     258,   210,   158,   195,   264,   269,   270,   271,   242,     0,
-       0,     0,     0,     0,     0,   272,     0,     0,     0,   222,
-     223,   224
+      46,    53,    54,    92,    28,    50,   133,   134,    51,    52,
+      37,    38,    39,    40,    41,    42,    20,   100,   101,   102,
+       9,    45,    10,   127,    11,     8,   128,    43,   223,    22,
+      44,   224,   225,   226,   227,   210,    64,   160,   211,    77,
+      78,    65,   161,    45,    45,   133,   134,   166,   192,    46,
+      53,    54,   167,   193,    50,   180,   181,    51,    52,    12,
+      13,    14,    15,    31,    46,    53,    54,    34,   103,    50,
+      98,    58,    51,    52,    37,    38,    39,    40,    41,    60,
+     192,   192,    59,   168,   169,   194,   195,    37,    38,   239,
+      61,    62,   246,    75,   240,   103,   135,   247,    68,   145,
+     146,   147,    37,    38,    69,    92,    70,    45,   141,   142,
+      71,   143,   144,   212,     1,     2,     3,   213,   214,    74,
+      45,   258,   259,   260,    76,    79,    80,    81,    82,   122,
+      83,    84,    86,    87,    85,    45,    88,    90,    91,   145,
+     146,   147,    10,    94,    96,    97,   117,   196,   110,   114,
+     124,   121,   125,   155,   129,   130,   131,   187,   198,   164,
+     156,   157,   182,   183,   185,   186,   188,   253,   199,   201,
+     202,   200,   207,   242,   204,   208,   243,   244,   248,   249,
+     250,   215,   216,   217,   252,   256,   197,    99,   184,    89,
+     254,   140,   255,   132,   203,   251,   154,   189,   235,   257,
+     262,   263,     0,     0,     0,     0,     0,     0,   264,     0,
+       0,     0,   215,   216,   217,   265
   };
 
   const short
   NetconfParser::yycheck_[] =
   {
-      27,    27,    27,    81,    24,    27,    30,    31,    27,    27,
-      11,    12,    13,    14,    15,    16,     0,    30,    31,     5,
-       7,     7,     7,     9,    17,    18,    19,    20,    29,    11,
-      12,    32,    45,     3,    42,    43,    44,     3,     8,    59,
-      60,    23,     8,     3,    45,    27,    28,    45,     8,    76,
-      76,    76,    45,     3,    76,    10,     6,    76,    76,    45,
-      46,    47,    48,    45,    91,    91,    91,     6,    95,    91,
-      90,     3,    91,    91,    11,    12,    13,    14,    15,     4,
-       3,     8,     3,     6,    21,    22,    35,    11,    12,    38,
-      39,    40,    41,     4,     4,     3,     3,     3,   125,   126,
-       8,     8,   129,   129,   129,    24,    25,    26,    45,    33,
-      34,   189,    36,    37,     3,     3,     8,     3,     3,     8,
-       8,    45,     8,     8,   160,   161,   162,     4,     4,     4,
-      45,     4,     4,     4,    48,    48,    48,     7,     4,     4,
-       4,    45,     5,     5,   171,   171,   171,     7,     7,     7,
-       7,     3,     8,     8,     3,     6,     4,     4,     4,     4,
-     189,    48,    46,     7,     7,     7,     7,     4,     4,     4,
-       4,     4,     4,    91,     5,     4,    45,    45,    45,     4,
-       7,     7,     4,     4,    45,     4,     4,     4,   215,   215,
-     215,     4,     4,    46,     4,    76,    46,   128,   165,   125,
-     246,   198,   130,   171,   253,    45,    45,    45,   217,    -1,
-      -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,   246,
-     246,   246
+      27,    27,    27,    81,    24,    27,    29,    30,    27,    27,
+      11,    12,    13,    14,    15,    16,     7,    17,    18,    19,
+       5,    44,     7,     3,     9,     0,     6,    28,    34,     7,
+      31,    37,    38,    39,    40,     3,     3,     3,     6,    59,
+      60,     8,     8,    44,    44,    29,    30,     3,     3,    76,
+      76,    76,     8,     8,    76,   156,   157,    76,    76,    44,
+      45,    46,    47,    44,    91,    91,    91,    10,    95,    91,
+      90,     6,    91,    91,    11,    12,    13,    14,    15,     4,
+       3,     3,     3,    20,    21,     8,     8,    11,    12,     3,
+       8,     3,     3,     8,     8,   122,   123,     8,     4,   126,
+     126,   126,    11,    12,     4,   183,     4,    44,    32,    33,
+       4,    35,    36,    22,    41,    42,    43,    26,    27,     4,
+      44,    23,    24,    25,     3,    44,     4,     4,     4,     3,
+      47,    47,     7,     4,    47,    44,     4,     4,     7,   166,
+     166,   166,     7,    44,     5,     5,     8,    44,     7,     7,
+       6,     8,     3,     7,     4,     4,     4,    45,    44,     4,
+       7,     7,     4,     4,     4,     4,     4,    47,     5,     4,
+       4,    44,    44,     4,     7,     7,     4,     4,     4,     4,
+       4,   208,   208,   208,     4,     4,   183,    91,   160,    76,
+      45,   125,    45,   122,   192,   239,   127,   166,   210,   246,
+      44,    44,    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,
+      -1,    -1,   239,   239,   239,    44
   };
 
   const unsigned char
   NetconfParser::yystos_[] =
   {
-       0,    42,    43,    44,    50,    51,    52,    53,     0,     5,
-       7,     9,    45,    46,    47,    48,    56,    57,    58,    63,
-       7,    68,     7,    54,    64,    59,    69,    55,    57,    65,
-      66,    45,    61,    62,    10,    70,    72,    11,    12,    13,
-      14,    15,    16,    29,    32,    45,    67,    73,    74,    75,
-      76,    77,    78,    79,    81,    83,    95,   123,     6,     3,
-       4,     8,     3,    71,     3,     8,    80,    82,     4,     4,
-       4,     4,    84,   124,     4,     8,     3,    57,    57,    45,
-       4,     4,     4,    48,    48,    48,     7,     4,     4,    75,
-       4,     7,    58,    60,    45,    96,     5,     5,    57,    73,
-      17,    18,    19,    20,    67,    97,    98,    99,   100,   102,
-     104,   106,     7,    85,    86,    87,     7,   125,   126,     8,
-     101,   103,   105,   107,     8,     3,    88,     6,     3,   127,
-       3,     6,     4,     4,     4,     4,    99,    30,    31,    67,
-      89,    90,    91,    93,    87,    33,    34,    36,    37,    67,
-      79,    81,   128,   129,   130,   132,   133,   135,   126,     7,
-       7,     7,     7,    92,    94,     3,     8,   131,   136,     4,
-     134,     3,     8,    21,    22,    67,    76,    77,    78,    79,
-      81,   108,   109,   110,   112,   108,   108,   108,     4,     4,
-      90,     4,     4,    46,     4,   129,   111,   113,     3,     8,
-       8,     8,     8,    45,    60,    45,     5,    45,     4,     4,
-     109,     7,   137,   138,    45,     7,   139,     3,     6,    23,
-      27,    28,    67,    79,    81,   114,   115,   116,   119,   121,
-      35,    38,    39,    40,    41,   140,   141,   142,   144,   145,
-     146,   147,   138,   117,   120,   122,     3,     8,   143,     4,
-       4,     4,   148,     3,     8,     4,     4,     4,   115,     4,
-      48,    46,    46,     4,   141,    24,    25,    26,   118,    45,
-      45,    45,    45
+       0,    41,    42,    43,    49,    50,    51,    52,     0,     5,
+       7,     9,    44,    45,    46,    47,    55,    56,    57,    62,
+       7,    67,     7,    53,    63,    58,    68,    54,    56,    64,
+      65,    44,    60,    61,    10,    69,    71,    11,    12,    13,
+      14,    15,    16,    28,    31,    44,    66,    72,    73,    74,
+      75,    76,    77,    78,    80,    82,    94,   120,     6,     3,
+       4,     8,     3,    70,     3,     8,    79,    81,     4,     4,
+       4,     4,    83,   121,     4,     8,     3,    56,    56,    44,
+       4,     4,     4,    47,    47,    47,     7,     4,     4,    74,
+       4,     7,    57,    59,    44,    95,     5,     5,    56,    72,
+      17,    18,    19,    66,    96,    97,    98,    99,   101,   103,
+       7,    84,    85,    86,     7,   122,   123,     8,   100,   102,
+     104,     8,     3,    87,     6,     3,   124,     3,     6,     4,
+       4,     4,    98,    29,    30,    66,    88,    89,    90,    92,
+      86,    32,    33,    35,    36,    66,    78,    80,   125,   126,
+     127,   129,   130,   132,   123,     7,     7,     7,    91,    93,
+       3,     8,   128,   133,     4,   131,     3,     8,    20,    21,
+      66,    75,    76,    77,    78,    80,   105,   106,   107,   109,
+     105,   105,     4,     4,    89,     4,     4,    45,     4,   126,
+     108,   110,     3,     8,     8,     8,    44,    59,    44,     5,
+      44,     4,     4,   106,     7,   134,   135,    44,     7,   136,
+       3,     6,    22,    26,    27,    66,    78,    80,   111,   112,
+     113,   116,   118,    34,    37,    38,    39,    40,   137,   138,
+     139,   141,   142,   143,   144,   135,   114,   117,   119,     3,
+       8,   140,     4,     4,     4,   145,     3,     8,     4,     4,
+       4,   112,     4,    47,    45,    45,     4,   138,    23,    24,
+      25,   115,    44,    44,    44,    44
   };
 
   const unsigned char
   NetconfParser::yyr1_[] =
   {
-       0,    49,    51,    50,    52,    50,    53,    50,    55,    54,
-      56,    57,    57,    57,    57,    57,    57,    57,    59,    58,
-      60,    61,    61,    62,    62,    62,    64,    63,    65,    65,
-      66,    66,    66,    67,    69,    68,    71,    70,    70,    72,
-      73,    73,    74,    74,    74,    75,    75,    75,    75,    75,
-      75,    75,    75,    75,    76,    77,    78,    80,    79,    82,
-      81,    84,    83,    85,    85,    86,    86,    86,    88,    87,
-      89,    89,    89,    89,    90,    90,    92,    91,    94,    93,
-      96,    95,    97,    97,    98,    98,    98,    99,    99,    99,
-      99,    99,   101,   100,   103,   102,   105,   104,   107,   106,
-     108,   108,   108,   109,   109,   109,   109,   109,   109,   109,
-     109,   111,   110,   113,   112,   114,   114,   114,   115,   115,
-     115,   115,   115,   115,   117,   116,   118,   118,   118,   120,
-     119,   122,   121,   124,   123,   125,   125,   125,   127,   126,
-     128,   128,   128,   129,   129,   129,   129,   129,   129,   129,
-     131,   130,   132,   134,   133,   136,   135,   137,   137,   137,
-     139,   138,   140,   140,   140,   141,   141,   141,   141,   141,
-     143,   142,   144,   145,   146,   148,   147
+       0,    48,    50,    49,    51,    49,    52,    49,    54,    53,
+      55,    56,    56,    56,    56,    56,    56,    56,    58,    57,
+      59,    60,    60,    61,    61,    61,    63,    62,    64,    64,
+      65,    65,    65,    66,    68,    67,    70,    69,    69,    71,
+      72,    72,    73,    73,    73,    74,    74,    74,    74,    74,
+      74,    74,    74,    74,    75,    76,    77,    79,    78,    81,
+      80,    83,    82,    84,    84,    85,    85,    85,    87,    86,
+      88,    88,    88,    88,    89,    89,    91,    90,    93,    92,
+      95,    94,    96,    96,    97,    97,    97,    98,    98,    98,
+      98,   100,    99,   102,   101,   104,   103,   105,   105,   105,
+     106,   106,   106,   106,   106,   106,   106,   106,   108,   107,
+     110,   109,   111,   111,   111,   112,   112,   112,   112,   112,
+     112,   114,   113,   115,   115,   115,   117,   116,   119,   118,
+     121,   120,   122,   122,   122,   124,   123,   125,   125,   125,
+     126,   126,   126,   126,   126,   126,   126,   128,   127,   129,
+     131,   130,   133,   132,   134,   134,   134,   136,   135,   137,
+     137,   137,   138,   138,   138,   138,   138,   140,   139,   141,
+     142,   143,   145,   144
   };
 
   const signed char
@@ -2195,15 +2169,15 @@ namespace isc { namespace netconf {
        4,     0,     6,     0,     1,     1,     3,     2,     0,     4,
        1,     3,     2,     1,     1,     1,     0,     4,     0,     4,
        0,     6,     0,     1,     1,     3,     2,     1,     1,     1,
-       1,     1,     0,     6,     0,     6,     0,     6,     0,     6,
-       1,     3,     2,     1,     1,     1,     1,     1,     1,     1,
-       1,     0,     4,     0,     6,     1,     3,     2,     1,     1,
-       1,     1,     1,     1,     0,     4,     1,     1,     1,     0,
-       4,     0,     4,     0,     6,     1,     3,     2,     0,     4,
-       1,     3,     2,     1,     1,     1,     1,     1,     1,     1,
-       0,     4,     3,     0,     4,     0,     6,     1,     3,     2,
-       0,     4,     1,     3,     2,     1,     1,     1,     1,     1,
-       0,     4,     3,     3,     3,     0,     4
+       1,     0,     6,     0,     6,     0,     6,     1,     3,     2,
+       1,     1,     1,     1,     1,     1,     1,     1,     0,     4,
+       0,     6,     1,     3,     2,     1,     1,     1,     1,     1,
+       1,     0,     4,     1,     1,     1,     0,     4,     0,     4,
+       0,     6,     1,     3,     2,     0,     4,     1,     3,     2,
+       1,     1,     1,     1,     1,     1,     1,     0,     4,     3,
+       0,     4,     0,     6,     1,     3,     2,     0,     4,     1,
+       3,     2,     1,     1,     1,     1,     1,     0,     4,     3,
+       3,     3,     0,     4
   };
 
 
@@ -2217,9 +2191,9 @@ namespace isc { namespace netconf {
   "\"[\"", "\"]\"", "\"{\"", "\"}\"", "\"null\"", "\"Netconf\"",
   "\"user-context\"", "\"comment\"", "\"boot-update\"",
   "\"subscribe-changes\"", "\"validate-changes\"", "\"managed-servers\"",
-  "\"dhcp4\"", "\"dhcp6\"", "\"d2\"", "\"ca\"", "\"model\"",
-  "\"control-socket\"", "\"socket-type\"", "\"unix\"", "\"http\"",
-  "\"stdout\"", "\"socket-name\"", "\"socket-url\"", "\"hooks-libraries\"",
+  "\"dhcp4\"", "\"dhcp6\"", "\"d2\"", "\"model\"", "\"control-socket\"",
+  "\"socket-type\"", "\"unix\"", "\"http\"", "\"stdout\"",
+  "\"socket-name\"", "\"socket-url\"", "\"hooks-libraries\"",
   "\"library\"", "\"parameters\"", "\"loggers\"", "\"name\"",
   "\"output-options\"", "\"output\"", "\"debuglevel\"", "\"severity\"",
   "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"", "START_JSON",
@@ -2237,15 +2211,15 @@ namespace isc { namespace netconf {
   "$@13", "parameters", "$@14", "managed_servers", "$@15",
   "servers_entries", "not_empty_servers_entries", "server_entry",
   "dhcp4_server", "$@16", "dhcp6_server", "$@17", "d2_server", "$@18",
-  "ca_server", "$@19", "managed_server_params", "managed_server_param",
-  "model", "$@20", "control_socket", "$@21", "control_socket_params",
-  "control_socket_param", "socket_type", "$@22", "socket_type_value",
-  "socket_name", "$@23", "socket_url", "$@24", "loggers", "$@25",
-  "loggers_entries", "logger_entry", "$@26", "logger_params",
-  "logger_param", "name", "$@27", "debuglevel", "severity", "$@28",
-  "output_options_list", "$@29", "output_options_list_content",
-  "output_entry", "$@30", "output_params_list", "output_params", "output",
-  "$@31", "flush", "maxsize", "maxver", "pattern", "$@32", YY_NULLPTR
+  "managed_server_params", "managed_server_param", "model", "$@19",
+  "control_socket", "$@20", "control_socket_params",
+  "control_socket_param", "socket_type", "$@21", "socket_type_value",
+  "socket_name", "$@22", "socket_url", "$@23", "loggers", "$@24",
+  "loggers_entries", "logger_entry", "$@25", "logger_params",
+  "logger_param", "name", "$@26", "debuglevel", "severity", "$@27",
+  "output_options_list", "$@28", "output_options_list_content",
+  "output_entry", "$@29", "output_params_list", "output_params", "output",
+  "$@30", "flush", "maxsize", "maxver", "pattern", "$@31", YY_NULLPTR
   };
 #endif
 
@@ -2254,24 +2228,24 @@ namespace isc { namespace netconf {
   const short
   NetconfParser::yyrline_[] =
   {
-       0,   126,   126,   126,   127,   127,   128,   128,   136,   136,
-     147,   153,   154,   155,   156,   157,   158,   159,   163,   163,
-     174,   179,   180,   188,   193,   199,   204,   204,   210,   211,
-     214,   218,   222,   234,   242,   242,   254,   254,   272,   275,
-     280,   281,   284,   285,   286,   293,   294,   295,   296,   297,
-     298,   299,   300,   301,   304,   310,   316,   322,   322,   347,
-     347,   375,   375,   386,   387,   390,   391,   392,   397,   397,
-     405,   406,   407,   410,   413,   414,   417,   417,   426,   426,
-     437,   437,   448,   449,   452,   453,   454,   462,   463,   464,
-     465,   466,   470,   470,   482,   482,   494,   494,   506,   506,
-     518,   519,   520,   526,   527,   528,   529,   530,   531,   532,
-     533,   537,   537,   547,   547,   559,   560,   561,   566,   567,
-     568,   569,   570,   571,   574,   574,   583,   584,   585,   588,
-     588,   598,   598,   611,   611,   624,   625,   626,   632,   632,
-     640,   641,   642,   647,   648,   649,   650,   651,   652,   653,
-     656,   656,   665,   671,   671,   680,   680,   691,   692,   693,
-     698,   698,   706,   707,   708,   713,   714,   715,   716,   717,
-     720,   720,   729,   735,   741,   747,   747
+       0,   125,   125,   125,   126,   126,   127,   127,   135,   135,
+     146,   152,   153,   154,   155,   156,   157,   158,   162,   162,
+     173,   178,   179,   187,   192,   198,   203,   203,   209,   210,
+     213,   217,   221,   233,   241,   241,   253,   253,   271,   274,
+     279,   280,   283,   284,   285,   292,   293,   294,   295,   296,
+     297,   298,   299,   300,   303,   309,   315,   321,   321,   346,
+     346,   374,   374,   385,   386,   389,   390,   391,   396,   396,
+     404,   405,   406,   409,   412,   413,   416,   416,   425,   425,
+     436,   436,   447,   448,   451,   452,   453,   461,   462,   463,
+     464,   468,   468,   480,   480,   492,   492,   504,   505,   506,
+     512,   513,   514,   515,   516,   517,   518,   519,   523,   523,
+     533,   533,   545,   546,   547,   552,   553,   554,   555,   556,
+     557,   560,   560,   569,   570,   571,   574,   574,   584,   584,
+     597,   597,   610,   611,   612,   618,   618,   626,   627,   628,
+     633,   634,   635,   636,   637,   638,   639,   642,   642,   651,
+     657,   657,   666,   666,   677,   678,   679,   684,   684,   692,
+     693,   694,   699,   700,   701,   702,   703,   706,   706,   715,
+     721,   727,   733,   733
   };
 
   void
@@ -2304,9 +2278,9 @@ namespace isc { namespace netconf {
 
 #line 14 "netconf_parser.yy"
 } } // isc::netconf
-#line 2308 "netconf_parser.cc"
+#line 2282 "netconf_parser.cc"
 
-#line 756 "netconf_parser.yy"
+#line 742 "netconf_parser.yy"
 
 
 void
index 584ba5a62ab3e05dd869d26c20de4f13c4ea6e19..f4fdc96806518fa51deb36e53b40d9f73f4d56bc 100644 (file)
@@ -512,35 +512,34 @@ namespace isc { namespace netconf {
     TOKEN_DHCP4_SERVER = 272,      // "dhcp4"
     TOKEN_DHCP6_SERVER = 273,      // "dhcp6"
     TOKEN_D2_SERVER = 274,         // "d2"
-    TOKEN_CA_SERVER = 275,         // "ca"
-    TOKEN_MODEL = 276,             // "model"
-    TOKEN_CONTROL_SOCKET = 277,    // "control-socket"
-    TOKEN_SOCKET_TYPE = 278,       // "socket-type"
-    TOKEN_UNIX = 279,              // "unix"
-    TOKEN_HTTP = 280,              // "http"
-    TOKEN_STDOUT = 281,            // "stdout"
-    TOKEN_SOCKET_NAME = 282,       // "socket-name"
-    TOKEN_SOCKET_URL = 283,        // "socket-url"
-    TOKEN_HOOKS_LIBRARIES = 284,   // "hooks-libraries"
-    TOKEN_LIBRARY = 285,           // "library"
-    TOKEN_PARAMETERS = 286,        // "parameters"
-    TOKEN_LOGGERS = 287,           // "loggers"
-    TOKEN_NAME = 288,              // "name"
-    TOKEN_OUTPUT_OPTIONS = 289,    // "output-options"
-    TOKEN_OUTPUT = 290,            // "output"
-    TOKEN_DEBUGLEVEL = 291,        // "debuglevel"
-    TOKEN_SEVERITY = 292,          // "severity"
-    TOKEN_FLUSH = 293,             // "flush"
-    TOKEN_MAXSIZE = 294,           // "maxsize"
-    TOKEN_MAXVER = 295,            // "maxver"
-    TOKEN_PATTERN = 296,           // "pattern"
-    TOKEN_START_JSON = 297,        // START_JSON
-    TOKEN_START_NETCONF = 298,     // START_NETCONF
-    TOKEN_START_SUB_NETCONF = 299, // START_SUB_NETCONF
-    TOKEN_STRING = 300,            // "constant string"
-    TOKEN_INTEGER = 301,           // "integer"
-    TOKEN_FLOAT = 302,             // "floating point"
-    TOKEN_BOOLEAN = 303            // "boolean"
+    TOKEN_MODEL = 275,             // "model"
+    TOKEN_CONTROL_SOCKET = 276,    // "control-socket"
+    TOKEN_SOCKET_TYPE = 277,       // "socket-type"
+    TOKEN_UNIX = 278,              // "unix"
+    TOKEN_HTTP = 279,              // "http"
+    TOKEN_STDOUT = 280,            // "stdout"
+    TOKEN_SOCKET_NAME = 281,       // "socket-name"
+    TOKEN_SOCKET_URL = 282,        // "socket-url"
+    TOKEN_HOOKS_LIBRARIES = 283,   // "hooks-libraries"
+    TOKEN_LIBRARY = 284,           // "library"
+    TOKEN_PARAMETERS = 285,        // "parameters"
+    TOKEN_LOGGERS = 286,           // "loggers"
+    TOKEN_NAME = 287,              // "name"
+    TOKEN_OUTPUT_OPTIONS = 288,    // "output-options"
+    TOKEN_OUTPUT = 289,            // "output"
+    TOKEN_DEBUGLEVEL = 290,        // "debuglevel"
+    TOKEN_SEVERITY = 291,          // "severity"
+    TOKEN_FLUSH = 292,             // "flush"
+    TOKEN_MAXSIZE = 293,           // "maxsize"
+    TOKEN_MAXVER = 294,            // "maxver"
+    TOKEN_PATTERN = 295,           // "pattern"
+    TOKEN_START_JSON = 296,        // START_JSON
+    TOKEN_START_NETCONF = 297,     // START_NETCONF
+    TOKEN_START_SUB_NETCONF = 298, // START_SUB_NETCONF
+    TOKEN_STRING = 299,            // "constant string"
+    TOKEN_INTEGER = 300,           // "integer"
+    TOKEN_FLOAT = 301,             // "floating point"
+    TOKEN_BOOLEAN = 302            // "boolean"
       };
       /// Backward compatibility alias (Bison 3.6).
       typedef token_kind_type yytokentype;
@@ -557,7 +556,7 @@ namespace isc { namespace netconf {
     {
       enum symbol_kind_type
       {
-        YYNTOKENS = 49, ///< Number of tokens.
+        YYNTOKENS = 48, ///< Number of tokens.
         S_YYEMPTY = -2,
         S_YYEOF = 0,                             // "end of file"
         S_YYerror = 1,                           // error
@@ -579,135 +578,132 @@ namespace isc { namespace netconf {
         S_DHCP4_SERVER = 17,                     // "dhcp4"
         S_DHCP6_SERVER = 18,                     // "dhcp6"
         S_D2_SERVER = 19,                        // "d2"
-        S_CA_SERVER = 20,                        // "ca"
-        S_MODEL = 21,                            // "model"
-        S_CONTROL_SOCKET = 22,                   // "control-socket"
-        S_SOCKET_TYPE = 23,                      // "socket-type"
-        S_UNIX = 24,                             // "unix"
-        S_HTTP = 25,                             // "http"
-        S_STDOUT = 26,                           // "stdout"
-        S_SOCKET_NAME = 27,                      // "socket-name"
-        S_SOCKET_URL = 28,                       // "socket-url"
-        S_HOOKS_LIBRARIES = 29,                  // "hooks-libraries"
-        S_LIBRARY = 30,                          // "library"
-        S_PARAMETERS = 31,                       // "parameters"
-        S_LOGGERS = 32,                          // "loggers"
-        S_NAME = 33,                             // "name"
-        S_OUTPUT_OPTIONS = 34,                   // "output-options"
-        S_OUTPUT = 35,                           // "output"
-        S_DEBUGLEVEL = 36,                       // "debuglevel"
-        S_SEVERITY = 37,                         // "severity"
-        S_FLUSH = 38,                            // "flush"
-        S_MAXSIZE = 39,                          // "maxsize"
-        S_MAXVER = 40,                           // "maxver"
-        S_PATTERN = 41,                          // "pattern"
-        S_START_JSON = 42,                       // START_JSON
-        S_START_NETCONF = 43,                    // START_NETCONF
-        S_START_SUB_NETCONF = 44,                // START_SUB_NETCONF
-        S_STRING = 45,                           // "constant string"
-        S_INTEGER = 46,                          // "integer"
-        S_FLOAT = 47,                            // "floating point"
-        S_BOOLEAN = 48,                          // "boolean"
-        S_YYACCEPT = 49,                         // $accept
-        S_start = 50,                            // start
-        S_51_1 = 51,                             // $@1
-        S_52_2 = 52,                             // $@2
-        S_53_3 = 53,                             // $@3
-        S_sub_netconf = 54,                      // sub_netconf
-        S_55_4 = 55,                             // $@4
-        S_json = 56,                             // json
-        S_value = 57,                            // value
-        S_map = 58,                              // map
-        S_59_5 = 59,                             // $@5
-        S_map_value = 60,                        // map_value
-        S_map_content = 61,                      // map_content
-        S_not_empty_map = 62,                    // not_empty_map
-        S_list_generic = 63,                     // list_generic
-        S_64_6 = 64,                             // $@6
-        S_list_content = 65,                     // list_content
-        S_not_empty_list = 66,                   // not_empty_list
-        S_unknown_map_entry = 67,                // unknown_map_entry
-        S_netconf_syntax_map = 68,               // netconf_syntax_map
-        S_69_7 = 69,                             // $@7
-        S_global_object = 70,                    // global_object
-        S_71_8 = 71,                             // $@8
-        S_global_object_comma = 72,              // global_object_comma
-        S_global_params = 73,                    // global_params
-        S_not_empty_global_params = 74,          // not_empty_global_params
-        S_global_param = 75,                     // global_param
-        S_boot_update = 76,                      // boot_update
-        S_subscribe_changes = 77,                // subscribe_changes
-        S_validate_changes = 78,                 // validate_changes
-        S_user_context = 79,                     // user_context
-        S_80_9 = 80,                             // $@9
-        S_comment = 81,                          // comment
-        S_82_10 = 82,                            // $@10
-        S_hooks_libraries = 83,                  // hooks_libraries
-        S_84_11 = 84,                            // $@11
-        S_hooks_libraries_list = 85,             // hooks_libraries_list
-        S_not_empty_hooks_libraries_list = 86,   // not_empty_hooks_libraries_list
-        S_hooks_library = 87,                    // hooks_library
-        S_88_12 = 88,                            // $@12
-        S_hooks_params = 89,                     // hooks_params
-        S_hooks_param = 90,                      // hooks_param
-        S_library = 91,                          // library
-        S_92_13 = 92,                            // $@13
-        S_parameters = 93,                       // parameters
-        S_94_14 = 94,                            // $@14
-        S_managed_servers = 95,                  // managed_servers
-        S_96_15 = 96,                            // $@15
-        S_servers_entries = 97,                  // servers_entries
-        S_not_empty_servers_entries = 98,        // not_empty_servers_entries
-        S_server_entry = 99,                     // server_entry
-        S_dhcp4_server = 100,                    // dhcp4_server
-        S_101_16 = 101,                          // $@16
-        S_dhcp6_server = 102,                    // dhcp6_server
-        S_103_17 = 103,                          // $@17
-        S_d2_server = 104,                       // d2_server
-        S_105_18 = 105,                          // $@18
-        S_ca_server = 106,                       // ca_server
-        S_107_19 = 107,                          // $@19
-        S_managed_server_params = 108,           // managed_server_params
-        S_managed_server_param = 109,            // managed_server_param
-        S_model = 110,                           // model
-        S_111_20 = 111,                          // $@20
-        S_control_socket = 112,                  // control_socket
-        S_113_21 = 113,                          // $@21
-        S_control_socket_params = 114,           // control_socket_params
-        S_control_socket_param = 115,            // control_socket_param
-        S_socket_type = 116,                     // socket_type
+        S_MODEL = 20,                            // "model"
+        S_CONTROL_SOCKET = 21,                   // "control-socket"
+        S_SOCKET_TYPE = 22,                      // "socket-type"
+        S_UNIX = 23,                             // "unix"
+        S_HTTP = 24,                             // "http"
+        S_STDOUT = 25,                           // "stdout"
+        S_SOCKET_NAME = 26,                      // "socket-name"
+        S_SOCKET_URL = 27,                       // "socket-url"
+        S_HOOKS_LIBRARIES = 28,                  // "hooks-libraries"
+        S_LIBRARY = 29,                          // "library"
+        S_PARAMETERS = 30,                       // "parameters"
+        S_LOGGERS = 31,                          // "loggers"
+        S_NAME = 32,                             // "name"
+        S_OUTPUT_OPTIONS = 33,                   // "output-options"
+        S_OUTPUT = 34,                           // "output"
+        S_DEBUGLEVEL = 35,                       // "debuglevel"
+        S_SEVERITY = 36,                         // "severity"
+        S_FLUSH = 37,                            // "flush"
+        S_MAXSIZE = 38,                          // "maxsize"
+        S_MAXVER = 39,                           // "maxver"
+        S_PATTERN = 40,                          // "pattern"
+        S_START_JSON = 41,                       // START_JSON
+        S_START_NETCONF = 42,                    // START_NETCONF
+        S_START_SUB_NETCONF = 43,                // START_SUB_NETCONF
+        S_STRING = 44,                           // "constant string"
+        S_INTEGER = 45,                          // "integer"
+        S_FLOAT = 46,                            // "floating point"
+        S_BOOLEAN = 47,                          // "boolean"
+        S_YYACCEPT = 48,                         // $accept
+        S_start = 49,                            // start
+        S_50_1 = 50,                             // $@1
+        S_51_2 = 51,                             // $@2
+        S_52_3 = 52,                             // $@3
+        S_sub_netconf = 53,                      // sub_netconf
+        S_54_4 = 54,                             // $@4
+        S_json = 55,                             // json
+        S_value = 56,                            // value
+        S_map = 57,                              // map
+        S_58_5 = 58,                             // $@5
+        S_map_value = 59,                        // map_value
+        S_map_content = 60,                      // map_content
+        S_not_empty_map = 61,                    // not_empty_map
+        S_list_generic = 62,                     // list_generic
+        S_63_6 = 63,                             // $@6
+        S_list_content = 64,                     // list_content
+        S_not_empty_list = 65,                   // not_empty_list
+        S_unknown_map_entry = 66,                // unknown_map_entry
+        S_netconf_syntax_map = 67,               // netconf_syntax_map
+        S_68_7 = 68,                             // $@7
+        S_global_object = 69,                    // global_object
+        S_70_8 = 70,                             // $@8
+        S_global_object_comma = 71,              // global_object_comma
+        S_global_params = 72,                    // global_params
+        S_not_empty_global_params = 73,          // not_empty_global_params
+        S_global_param = 74,                     // global_param
+        S_boot_update = 75,                      // boot_update
+        S_subscribe_changes = 76,                // subscribe_changes
+        S_validate_changes = 77,                 // validate_changes
+        S_user_context = 78,                     // user_context
+        S_79_9 = 79,                             // $@9
+        S_comment = 80,                          // comment
+        S_81_10 = 81,                            // $@10
+        S_hooks_libraries = 82,                  // hooks_libraries
+        S_83_11 = 83,                            // $@11
+        S_hooks_libraries_list = 84,             // hooks_libraries_list
+        S_not_empty_hooks_libraries_list = 85,   // not_empty_hooks_libraries_list
+        S_hooks_library = 86,                    // hooks_library
+        S_87_12 = 87,                            // $@12
+        S_hooks_params = 88,                     // hooks_params
+        S_hooks_param = 89,                      // hooks_param
+        S_library = 90,                          // library
+        S_91_13 = 91,                            // $@13
+        S_parameters = 92,                       // parameters
+        S_93_14 = 93,                            // $@14
+        S_managed_servers = 94,                  // managed_servers
+        S_95_15 = 95,                            // $@15
+        S_servers_entries = 96,                  // servers_entries
+        S_not_empty_servers_entries = 97,        // not_empty_servers_entries
+        S_server_entry = 98,                     // server_entry
+        S_dhcp4_server = 99,                     // dhcp4_server
+        S_100_16 = 100,                          // $@16
+        S_dhcp6_server = 101,                    // dhcp6_server
+        S_102_17 = 102,                          // $@17
+        S_d2_server = 103,                       // d2_server
+        S_104_18 = 104,                          // $@18
+        S_managed_server_params = 105,           // managed_server_params
+        S_managed_server_param = 106,            // managed_server_param
+        S_model = 107,                           // model
+        S_108_19 = 108,                          // $@19
+        S_control_socket = 109,                  // control_socket
+        S_110_20 = 110,                          // $@20
+        S_control_socket_params = 111,           // control_socket_params
+        S_control_socket_param = 112,            // control_socket_param
+        S_socket_type = 113,                     // socket_type
+        S_114_21 = 114,                          // $@21
+        S_socket_type_value = 115,               // socket_type_value
+        S_socket_name = 116,                     // socket_name
         S_117_22 = 117,                          // $@22
-        S_socket_type_value = 118,               // socket_type_value
-        S_socket_name = 119,                     // socket_name
-        S_120_23 = 120,                          // $@23
-        S_socket_url = 121,                      // socket_url
-        S_122_24 = 122,                          // $@24
-        S_loggers = 123,                         // loggers
+        S_socket_url = 118,                      // socket_url
+        S_119_23 = 119,                          // $@23
+        S_loggers = 120,                         // loggers
+        S_121_24 = 121,                          // $@24
+        S_loggers_entries = 122,                 // loggers_entries
+        S_logger_entry = 123,                    // logger_entry
         S_124_25 = 124,                          // $@25
-        S_loggers_entries = 125,                 // loggers_entries
-        S_logger_entry = 126,                    // logger_entry
-        S_127_26 = 127,                          // $@26
-        S_logger_params = 128,                   // logger_params
-        S_logger_param = 129,                    // logger_param
-        S_name = 130,                            // name
+        S_logger_params = 125,                   // logger_params
+        S_logger_param = 126,                    // logger_param
+        S_name = 127,                            // name
+        S_128_26 = 128,                          // $@26
+        S_debuglevel = 129,                      // debuglevel
+        S_severity = 130,                        // severity
         S_131_27 = 131,                          // $@27
-        S_debuglevel = 132,                      // debuglevel
-        S_severity = 133,                        // severity
-        S_134_28 = 134,                          // $@28
-        S_output_options_list = 135,             // output_options_list
+        S_output_options_list = 132,             // output_options_list
+        S_133_28 = 133,                          // $@28
+        S_output_options_list_content = 134,     // output_options_list_content
+        S_output_entry = 135,                    // output_entry
         S_136_29 = 136,                          // $@29
-        S_output_options_list_content = 137,     // output_options_list_content
-        S_output_entry = 138,                    // output_entry
-        S_139_30 = 139,                          // $@30
-        S_output_params_list = 140,              // output_params_list
-        S_output_params = 141,                   // output_params
-        S_output = 142,                          // output
-        S_143_31 = 143,                          // $@31
-        S_flush = 144,                           // flush
-        S_maxsize = 145,                         // maxsize
-        S_maxver = 146,                          // maxver
-        S_pattern = 147,                         // pattern
-        S_148_32 = 148                           // $@32
+        S_output_params_list = 137,              // output_params_list
+        S_output_params = 138,                   // output_params
+        S_output = 139,                          // output
+        S_140_30 = 140,                          // $@30
+        S_flush = 141,                           // flush
+        S_maxsize = 142,                         // maxsize
+        S_maxver = 143,                          // maxver
+        S_pattern = 144,                         // pattern
+        S_145_31 = 145                           // $@31
       };
     };
 
@@ -1402,21 +1398,6 @@ switch (yykind)
         return symbol_type (token::TOKEN_D2_SERVER, l);
       }
 #endif
-#if 201103L <= YY_CPLUSPLUS
-      static
-      symbol_type
-      make_CA_SERVER (location_type l)
-      {
-        return symbol_type (token::TOKEN_CA_SERVER, std::move (l));
-      }
-#else
-      static
-      symbol_type
-      make_CA_SERVER (const location_type& l)
-      {
-        return symbol_type (token::TOKEN_CA_SERVER, l);
-      }
-#endif
 #if 201103L <= YY_CPLUSPLUS
       static
       symbol_type
@@ -2167,8 +2148,8 @@ switch (yykind)
     /// Constants.
     enum
     {
-      yylast_ = 221,     ///< Last index in yytable_.
-      yynnts_ = 100,  ///< Number of nonterminal symbols.
+      yylast_ = 215,     ///< Last index in yytable_.
+      yynnts_ = 98,  ///< Number of nonterminal symbols.
       yyfinal_ = 8 ///< Termination state number.
     };
 
@@ -2218,10 +2199,10 @@ switch (yykind)
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48
+      45,    46,    47
     };
     // Last valid token kind.
-    const int code_max = 303;
+    const int code_max = 302;
 
     if (t <= 0)
       return symbol_kind::S_YYEOF;
@@ -2382,7 +2363,7 @@ switch (yykind)
 
 #line 14 "netconf_parser.yy"
 } } // isc::netconf
-#line 2386 "netconf_parser.h"
+#line 2367 "netconf_parser.h"
 
 
 
index eb2ec7bb636fcdead2d8dcb0857203bde7d2588e..e95055d7c2b7a0900babf04c280d2edade16ac0f 100644 (file)
@@ -69,7 +69,6 @@ using namespace std;
   DHCP4_SERVER "dhcp4"
   DHCP6_SERVER "dhcp6"
   D2_SERVER "d2"
-  CA_SERVER "ca"
   MODEL "model"
   CONTROL_SOCKET "control-socket"
   SOCKET_TYPE "socket-type"
@@ -457,12 +456,11 @@ not_empty_servers_entries: server_entry
                          ;
 
 
-// We currently support four types of servers: DHCPv4, DHCPv6, D2 and CA
+// We currently support four types of servers: DHCPv4, DHCPv6 and D2
 // (even though D2 socket support is not yet merged).
 server_entry: dhcp4_server
             | dhcp6_server
             | d2_server
-            | ca_server
             | unknown_map_entry
             ;
 
@@ -502,18 +500,6 @@ d2_server: D2_SERVER {
     ctx.leave();
 };
 
-// That's an entry for ca server.
-ca_server: CA_SERVER {
-    ctx.unique("ca", ctx.loc2pos(@1));
-    ElementPtr m(new MapElement(ctx.loc2pos(@1)));
-    ctx.stack_.back()->set("ca", m);
-    ctx.stack_.push_back(m);
-    ctx.enter(ctx.SERVER);
-} COLON LCURLY_BRACKET managed_server_params RCURLY_BRACKET {
-    ctx.stack_.pop_back();
-    ctx.leave();
-};
-
 // Server parameters consist of one or more parameters.
 managed_server_params: managed_server_param
                      | managed_server_params COMMA managed_server_param
index 729662fa63a29430e44c427f7223bb7faef67297..6fcdd32c5937a56c57c8080f2899d31f846e746c 100644 (file)
@@ -1,6 +1,6 @@
-#line 1 "lexer.cc"
+#line 2 "lexer.cc"
 
-#line 3 "lexer.cc"
+#line 4 "lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
@@ -1055,7 +1055,7 @@ namespace {
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::eval::EvalContext::fatal(msg)
-#line 1058 "lexer.cc"
+#line 1059 "lexer.cc"
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
@@ -1080,8 +1080,8 @@ namespace {
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  loc.columns(evalleng);
-#line 1083 "lexer.cc"
 #line 1084 "lexer.cc"
+#line 1085 "lexer.cc"
 
 #define INITIAL 0
 
@@ -1380,7 +1380,7 @@ YY_DECL
 
 
 
-#line 1383 "lexer.cc"
+#line 1384 "lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -1889,7 +1889,7 @@ YY_RULE_SETUP
 #line 251 "lexer.ll"
 ECHO;
        YY_BREAK
-#line 1892 "lexer.cc"
+#line 1893 "lexer.cc"
 
        case YY_END_OF_BUFFER:
                {