diff options
author | Francis Dupont <fdupont@isc.org> | 2019-11-05 11:10:54 +0100 |
---|---|---|
committer | Tomek Mrugalski <tomek@isc.org> | 2019-11-25 18:23:32 +0100 |
commit | 139942acb0f0de3df87a0cce2c92a084bb8ec805 (patch) | |
tree | e9c38b186a14add65947a92aadfdcbb5ff00ba07 | |
parent | [274-possible-improvements-to-dhcp-queue-control-member-parsing] Upgraded dhc... (diff) | |
download | kea-139942acb0f0de3df87a0cce2c92a084bb8ec805.tar.xz kea-139942acb0f0de3df87a0cce2c92a084bb8ec805.zip |
[#274,!543] regen flex/bison
-rw-r--r-- | src/bin/dhcp4/dhcp4_lexer.cc | 1934 | ||||
-rw-r--r-- | src/bin/dhcp4/dhcp4_parser.cc | 2697 | ||||
-rw-r--r-- | src/bin/dhcp4/dhcp4_parser.h | 269 | ||||
-rw-r--r-- | src/bin/dhcp4/location.hh | 2 | ||||
-rw-r--r-- | src/bin/dhcp4/position.hh | 2 | ||||
-rw-r--r-- | src/bin/dhcp4/stack.hh | 2 | ||||
-rw-r--r-- | src/bin/dhcp6/dhcp6_lexer.cc | 1962 | ||||
-rw-r--r-- | src/bin/dhcp6/dhcp6_parser.cc | 2805 | ||||
-rw-r--r-- | src/bin/dhcp6/dhcp6_parser.h | 265 | ||||
-rw-r--r-- | src/bin/dhcp6/location.hh | 2 | ||||
-rw-r--r-- | src/bin/dhcp6/position.hh | 2 | ||||
-rw-r--r-- | src/bin/dhcp6/stack.hh | 2 |
12 files changed, 5123 insertions, 4821 deletions
diff --git a/src/bin/dhcp4/dhcp4_lexer.cc b/src/bin/dhcp4/dhcp4_lexer.cc index 9d340f7a3a..461c8c063e 100644 --- a/src/bin/dhcp4/dhcp4_lexer.cc +++ b/src/bin/dhcp4/dhcp4_lexer.cc @@ -1,6 +1,6 @@ -#line 2 "dhcp4_lexer.cc" +#line 1 "dhcp4_lexer.cc" -#line 4 "dhcp4_lexer.cc" +#line 3 "dhcp4_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 191 -#define YY_END_OF_BUFFER 192 +#define YY_NUM_RULES 194 +#define YY_END_OF_BUFFER 195 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,21 +700,21 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[1702] = +static const flex_int16_t yy_accept[1724] = { 0, - 184, 184, 0, 0, 0, 0, 0, 0, 0, 0, - 192, 190, 10, 11, 190, 1, 184, 181, 184, 184, - 190, 183, 182, 190, 190, 190, 190, 190, 177, 178, - 190, 190, 190, 179, 180, 5, 5, 5, 190, 190, - 190, 10, 11, 0, 0, 173, 0, 0, 0, 0, + 187, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 195, 193, 10, 11, 193, 1, 187, 184, 187, 187, + 193, 186, 185, 193, 193, 193, 193, 193, 180, 181, + 193, 193, 193, 182, 183, 5, 5, 5, 193, 193, + 193, 10, 11, 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 184, 184, 0, 183, 184, 3, 2, 6, 0, 184, + 187, 187, 0, 186, 187, 3, 2, 6, 0, 187, 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, - 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, + 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -724,172 +724,174 @@ static const flex_int16_t yy_accept[1702] = 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 187, - - 0, 186, 185, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 153, 0, 152, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, + + 192, 190, 0, 189, 188, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 156, 0, 155, 0, 0, + 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, + 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 18, 0, 0, 0, 0, 188, 185, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, - 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 86, 0, 0, 0, 0, 0, 0, 0, 71, - 0, 0, 0, 0, 0, 0, 107, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, + 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, + 191, 188, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 157, 0, 0, 159, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, + 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, + 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, - 0, 0, 74, 0, 39, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 74, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 104, 31, 0, 0, 36, 0, 0, - 0, 0, 0, 0, 0, 0, 12, 161, 0, 158, - 0, 157, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, + 31, 0, 0, 36, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 164, 0, 161, 0, 160, 0, 0, + 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, - 0, 0, 0, 0, 118, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 118, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 7, 0, 0, 162, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 123, 92, 0, 0, 0, 0, 0, 0, - 97, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 99, 40, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 123, 92, 0, 0, 0, 0, + 0, 0, 97, 32, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 99, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, + 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 112, 0, 0, 0, 0, 0, 43, + 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 112, 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, 37, 0, 0, 0, + 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 37, 0, 0, 0, 30, 0, 0, 0, 0, + 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, + 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, - + 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 136, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, + 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 169, 0, 0, 0, 0, + 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, + 0, 0, 114, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, - 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, - 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, - - 0, 0, 0, 0, 114, 0, 0, 0, 0, 0, - 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 108, 22, 0, 119, + 0, 0, 0, 0, 0, 108, 22, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 145, 0, 0, 0, 0, 68, 0, 0, 0, - 0, 0, 122, 34, 0, 0, 0, 0, 0, 0, + 148, 0, 0, 0, 0, 68, 0, 0, 0, 0, + 0, 122, 34, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 89, 90, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 170, 0, 69, 83, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, - 0, 0, 142, 0, 0, 140, 0, 134, 133, 0, - 49, 0, 21, 0, 0, 0, 0, 0, 155, 0, - 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, + 0, 0, 173, 0, 69, 83, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, + 0, 0, 0, 145, 0, 0, 143, 0, 134, 133, + 0, 49, 0, 21, 0, 0, 0, 0, 0, 158, + 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 120, 15, 0, 41, 0, 0, 0, 0, + 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, + 0, 57, 0, 0, 115, 0, 0, 0, 0, 106, + 0, 0, 0, 0, 0, 0, 0, 75, 0, 167, + 0, 166, 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 120, 15, 0, 41, 0, 0, 0, 0, 0, 0, - 0, 0, 144, 0, 0, 0, 0, 0, 0, 57, - 0, 0, 115, 0, 0, 0, 0, 106, 0, 0, - 0, 0, 0, 0, 0, 75, 0, 164, 0, 163, - 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 14, 0, 0, 0, 48, 0, + 0, 0, 0, 175, 0, 101, 27, 0, 0, 0, + 50, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 170, 140, 0, 0, 0, 0, 0, 0, 0, + 0, 25, 0, 0, 24, 0, 146, 0, 0, 0, + 52, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 48, 0, 0, 0, - - 0, 172, 0, 101, 27, 0, 0, 0, 50, 132, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, - 137, 0, 0, 0, 0, 0, 0, 0, 0, 25, - 0, 0, 24, 0, 143, 0, 0, 0, 52, 0, - 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, - 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, - 0, 0, 26, 0, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, - - 0, 20, 0, 171, 67, 0, 165, 160, 0, 28, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 0, 0, 149, 0, 0, 0, 0, 0, 0, 129, - 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, - 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, - 150, 13, 0, 0, 0, 0, 0, 0, 0, 138, + 53, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, - 128, 0, 55, 54, 19, 0, 146, 0, 0, 0, - 0, 45, 0, 88, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 127, 0, 0, 51, 0, 0, 46, - 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, + 121, 0, 0, 0, 26, 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 29, 0, 0, 65, 0, 0, 0, - 0, 0, 0, 147, 0, 102, 0, 0, 61, 0, - 0, 0, 0, 0, 0, 125, 130, 0, 63, 58, - 0, 0, 0, 0, 0, 124, 0, 0, 151, 0, - 0, 0, 62, 0, 0, 0, 87, 0, 0, 126, - - 0 + 47, 0, 0, 20, 0, 174, 67, 0, 168, 163, + 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 16, 0, 0, 152, 0, 0, 0, 0, 0, + 0, 129, 0, 0, 0, 105, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, + 0, 0, 153, 13, 0, 0, 0, 0, 0, 0, + 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 135, 0, 0, 0, + 0, 0, 128, 0, 55, 54, 19, 0, 149, 0, + 0, 0, 0, 45, 0, 88, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 127, 0, 0, 51, 0, + 0, 46, 151, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 29, 0, 0, 65, 0, + 0, 0, 0, 0, 0, 150, 0, 102, 0, 0, + 61, 0, 0, 0, 0, 0, 0, 125, 130, 0, + + 63, 58, 0, 0, 0, 0, 0, 124, 0, 0, + 154, 0, 0, 0, 62, 0, 0, 0, 87, 0, + 0, 126, 0 } ; static const YY_CHAR yy_ec[256] = @@ -936,410 +938,414 @@ static const YY_CHAR yy_meta[74] = 3, 3, 3 } ; -static const flex_int16_t yy_base[1714] = +static const flex_int16_t yy_base[1736] = { 0, 0, 72, 21, 31, 43, 51, 54, 60, 91, 99, - 2102, 2103, 34, 2098, 145, 0, 207, 2103, 214, 221, - 13, 228, 2103, 2078, 118, 25, 2, 6, 2103, 2103, - 73, 11, 17, 2103, 2103, 2103, 104, 2086, 2039, 0, - 2076, 108, 2093, 24, 262, 2103, 2035, 67, 2034, 2040, - 84, 75, 2032, 88, 226, 91, 89, 290, 196, 2031, - 206, 285, 206, 210, 219, 60, 223, 2040, 247, 290, - 315, 303, 231, 2023, 297, 321, 343, 324, 2042, 0, - 380, 387, 401, 408, 424, 2103, 0, 2103, 429, 438, - 216, 249, 220, 315, 335, 266, 2103, 2039, 2080, 2103, - - 342, 2103, 421, 2067, 312, 2025, 2035, 400, 10, 2030, - 361, 323, 370, 387, 359, 2075, 0, 474, 392, 2017, - 2014, 2018, 2020, 2013, 2021, 412, 2017, 2006, 2007, 2012, - 78, 2022, 2005, 2014, 2014, 95, 2005, 400, 2006, 2004, - 405, 2052, 2056, 1996, 2049, 1989, 2012, 2009, 2009, 2003, - 310, 1996, 1994, 1988, 1993, 1987, 436, 1998, 1991, 1982, - 1981, 1995, 413, 1981, 419, 1997, 1974, 470, 191, 400, - 1995, 1992, 1993, 1991, 2026, 2025, 451, 1971, 1973, 472, - 1965, 1982, 1974, 0, 471, 462, 446, 472, 473, 487, - 1973, 2103, 0, 2018, 492, 1963, 1966, 475, 481, 1974, - - 499, 2019, 501, 2018, 509, 2017, 2103, 555, 2016, 519, - 1975, 1967, 1954, 1970, 1969, 1966, 1965, 1956, 493, 2007, - 2001, 1965, 1946, 1943, 1951, 1946, 1960, 1956, 1944, 1956, - 1956, 1947, 1931, 1935, 1948, 1950, 1947, 1939, 1929, 1947, - 2103, 1942, 1945, 1926, 1925, 1977, 1924, 1934, 1937, 483, - 1933, 1972, 1920, 1931, 1969, 1914, 1972, 1907, 1922, 498, - 1912, 1928, 1909, 1907, 1907, 1913, 1904, 1903, 1910, 1960, - 1916, 1915, 1909, 486, 1916, 1911, 1903, 1893, 1908, 1907, - 1902, 1906, 322, 1904, 1890, 1896, 1903, 1891, 1888, 1887, - 542, 1882, 1896, 1939, 1898, 366, 1889, 527, 2103, 2103, - - 534, 2103, 2103, 1876, 0, 241, 515, 1878, 549, 536, - 1934, 1885, 525, 2103, 1932, 2103, 1926, 593, 2103, 521, - 1866, 1875, 1923, 1867, 1866, 1872, 1924, 1879, 1874, 1877, - 1872, 530, 2103, 1874, 1918, 1912, 1870, 1867, 578, 1873, - 1913, 1907, 1860, 1855, 1852, 1903, 1860, 1849, 1865, 1899, - 1845, 586, 1859, 1844, 1857, 1844, 1854, 1849, 1856, 1851, - 1847, 560, 1845, 1848, 1843, 1829, 1838, 1888, 513, 1882, - 2103, 1881, 1831, 1830, 1829, 1822, 1824, 1828, 1817, 1834, - 1829, 549, 1876, 1829, 1826, 2103, 1829, 1818, 1818, 1830, - 531, 1805, 1806, 1827, 546, 1809, 1860, 1805, 1819, 1822, - - 1817, 1803, 1815, 1814, 1813, 1812, 1811, 1810, 556, 1853, - 1852, 2103, 1794, 1793, 618, 1806, 2103, 2103, 1805, 0, - 1794, 1786, 562, 1791, 1844, 1843, 1799, 1841, 2103, 1787, - 1839, 2103, 596, 644, 589, 1838, 1780, 1791, 1784, 1786, - 1774, 2103, 1779, 1785, 1788, 1771, 1786, 1773, 1772, 2103, - 613, 1774, 1771, 584, 1769, 1771, 2103, 1779, 1776, 1761, - 1774, 1769, 625, 1776, 1764, 1757, 1808, 2103, 1755, 1771, - 1805, 1766, 1763, 1764, 1766, 1800, 1751, 1746, 1745, 1796, - 1740, 587, 1759, 1733, 1740, 1745, 1755, 1794, 2103, 1739, - 1735, 1733, 1742, 1736, 1743, 1727, 1727, 1737, 1740, 1729, - - 1725, 1723, 2103, 1780, 2103, 1722, 1733, 1718, 1723, 1732, - 1726, 1720, 1729, 1771, 1765, 1727, 1710, 1710, 1705, 1725, - 1700, 1706, 1711, 1704, 1712, 1716, 1699, 1757, 1697, 1698, - 1697, 1709, 1698, 2103, 2103, 1698, 1696, 2103, 1707, 1743, - 1703, 0, 1687, 1704, 1744, 1692, 2103, 2103, 1689, 2103, - 1695, 2103, 554, 600, 643, 2103, 1692, 1691, 1698, 1678, - 1731, 1676, 1729, 1674, 1673, 1672, 1679, 1672, 1684, 1666, - 1666, 1681, 1680, 1679, 1678, 1678, 1660, 1665, 1706, 1673, - 1665, 1710, 1654, 1670, 1669, 2103, 1654, 1651, 1709, 1664, - 1656, 1662, 1653, 1661, 1646, 1662, 1644, 1658, 603, 1640, - - 1634, 1639, 1654, 1651, 1652, 1631, 1641, 1647, 1690, 1645, - 1637, 2103, 1630, 1632, 1641, 1639, 1678, 1677, 1628, 16, - 1637, 1620, 1621, 1624, 1617, 2103, 1631, 1610, 1629, 1621, - 1666, 1618, 1625, 1663, 2103, 1608, 1622, 1606, 1620, 1623, - 1604, 1656, 1655, 1654, 1653, 1598, 1651, 1650, 2103, 668, - 1612, 1611, 1608, 1608, 1606, 1589, 1594, 1596, 2103, 1602, - 1592, 2103, 1639, 1585, 1642, 601, 629, 1583, 1581, 1588, - 1579, 1632, 630, 1636, 632, 1630, 1590, 1628, 1627, 1579, - 1577, 1585, 1588, 1572, 1573, 1564, 1619, 1570, 1578, 1579, - 1615, 1576, 1570, 1557, 1565, 1610, 1614, 1569, 1568, 2103, - - 1569, 1562, 1551, 1564, 1567, 1562, 1563, 1560, 1559, 1555, - 1561, 1556, 1599, 1598, 163, 217, 629, 334, 336, 405, - 2103, 427, 441, 452, 534, 569, 623, 615, 621, 638, - 2103, 628, 646, 647, 649, 693, 694, 637, 648, 655, - 634, 640, 695, 659, 643, 655, 699, 700, 701, 648, - 703, 667, 662, 669, 665, 650, 662, 663, 2103, 718, - 675, 677, 668, 681, 683, 668, 675, 681, 673, 687, - 692, 733, 2103, 729, 705, 692, 697, 694, 695, 692, - 690, 699, 2103, 689, 704, 701, 687, 694, 693, 691, - 710, 707, 695, 702, 703, 712, 712, 702, 700, 699, - - 710, 706, 762, 720, 710, 726, 716, 2103, 726, 726, - 719, 730, 728, 773, 715, 717, 732, 719, 779, 736, - 722, 725, 2103, 2103, 735, 740, 745, 733, 743, 745, - 2103, 2103, 746, 750, 737, 731, 736, 754, 741, 791, - 742, 794, 743, 801, 2103, 2103, 746, 750, 745, 805, - 758, 748, 749, 745, 758, 769, 753, 771, 766, 767, - 769, 762, 764, 765, 766, 766, 768, 783, 824, 781, - 786, 763, 2103, 775, 776, 790, 780, 827, 785, 775, - 790, 791, 778, 792, 2103, 811, 819, 788, 783, 838, - 839, 802, 806, 847, 795, 790, 791, 803, 810, 799, - - 800, 796, 799, 800, 810, 819, 855, 810, 805, 864, - 821, 823, 814, 2103, 816, 827, 812, 828, 822, 869, - 835, 819, 820, 2103, 836, 839, 822, 881, 824, 2103, - 841, 844, 824, 842, 882, 840, 836, 833, 886, 887, - 834, 852, 851, 852, 838, 853, 845, 852, 842, 860, - 845, 2103, 853, 859, 906, 2103, 855, 860, 904, 855, - 867, 861, 866, 864, 862, 864, 874, 919, 863, 868, - 864, 923, 867, 879, 2103, 867, 875, 873, 870, 871, - 880, 892, 876, 881, 891, 892, 897, 938, 896, 912, - 917, 899, 896, 892, 887, 947, 890, 2103, 890, 910, - - 909, 900, 889, 906, 913, 956, 917, 910, 914, 918, - 901, 962, 909, 2103, 959, 906, 909, 908, 928, 927, - 932, 933, 919, 927, 936, 916, 931, 938, 980, 2103, - 981, 982, 933, 943, 945, 934, 930, 937, 946, 934, - 941, 942, 994, 941, 939, 941, 958, 999, 949, 948, - 954, 952, 950, 1005, 1006, 1002, 2103, 964, 957, 948, - 967, 955, 965, 962, 967, 963, 976, 976, 2103, 960, - 962, 962, 2103, 963, 1023, 962, 981, 983, 1028, 1029, - 982, 967, 988, 987, 971, 976, 994, 2103, 984, 1017, - 1008, 1040, 980, 1002, 999, 2103, 986, 988, 1005, 1000, - - 1004, 1049, 997, 1001, 2103, 993, 1010, 990, 1011, 1001, - 2103, 1016, 1016, 1054, 1001, 1057, 1004, 1064, 1007, 1018, - 1011, 1017, 1013, 1031, 1032, 1033, 2103, 2103, 1032, 2103, - 1017, 1018, 1037, 1027, 1020, 1032, 1076, 1040, 1029, 1036, - 1037, 2103, 1035, 1087, 1028, 1089, 2103, 1090, 1032, 1038, - 1045, 1089, 2103, 2103, 1037, 1039, 1053, 1058, 1041, 1100, - 1057, 1058, 1059, 1099, 1051, 1056, 1107, 1060, 1056, 1110, - 2103, 1057, 1112, 1113, 2103, 2103, 1053, 1115, 1074, 1117, - 1059, 1071, 1076, 1062, 1092, 1123, 2103, 1080, 1073, 1082, - 1127, 1074, 1089, 1125, 1077, 2103, 1073, 1089, 1090, 1091, - - 1088, 1132, 1095, 1099, 1086, 1082, 1142, 1095, 1100, 2103, - 1101, 1094, 1103, 1104, 1101, 1092, 1095, 1095, 1100, 1155, - 1156, 1100, 1159, 1155, 1096, 1111, 1104, 1107, 1120, 1121, - 1167, 2103, 1120, 2103, 2103, 1125, 1119, 1129, 1114, 1115, - 1176, 1120, 1130, 1179, 2103, 1127, 1127, 1129, 1131, 1184, - 1125, 1128, 2103, 1129, 1148, 2103, 1132, 2103, 2103, 1146, - 2103, 1140, 2103, 1192, 1141, 1194, 1195, 1175, 2103, 1197, - 1154, 1195, 2103, 1143, 1151, 1145, 1142, 1145, 1148, 1148, - 1165, 1204, 1157, 1169, 1172, 1154, 1161, 1151, 2103, 1173, - 1159, 1160, 1176, 1176, 1179, 1179, 1176, 1220, 1182, 1174, - - 2103, 2103, 1184, 2103, 1181, 1186, 1187, 1184, 1228, 1176, - 1191, 1192, 2103, 1180, 1181, 1181, 1187, 1186, 1197, 2103, - 1238, 1185, 2103, 1186, 1186, 1188, 1194, 2103, 1196, 1250, - 1192, 1200, 1203, 1254, 1215, 2103, 1212, 2103, 1209, 2103, - 1232, 2103, 1259, 1201, 1261, 1262, 1219, 1224, 1206, 1266, - 1267, 1263, 1227, 1224, 1220, 1213, 1225, 1215, 1220, 1276, - 1277, 1273, 1236, 1233, 1277, 1225, 1230, 1229, 1288, 1244, - 1290, 1248, 1292, 1253, 1242, 1236, 1296, 1238, 1239, 1255, - 1255, 1301, 1243, 1260, 1259, 1243, 1301, 1302, 1249, 1304, - 1267, 1268, 2103, 1268, 1269, 1256, 2103, 1267, 1316, 1274, - - 1288, 2103, 1270, 2103, 2103, 1262, 1273, 1322, 2103, 2103, - 1268, 1273, 1271, 1321, 1279, 1284, 1275, 1273, 1287, 2103, - 2103, 1277, 1328, 1271, 1276, 1336, 1284, 1294, 1295, 2103, - 1340, 1293, 2103, 1342, 2103, 1285, 1300, 1288, 2103, 1300, - 1301, 1307, 1311, 2103, 1347, 1313, 1306, 1315, 1297, 1304, - 1358, 1317, 1316, 1361, 1309, 1363, 1364, 1313, 2103, 1366, - 1367, 1316, 1369, 1311, 2103, 1314, 1324, 1368, 1316, 1331, - 1318, 1324, 1324, 1379, 1323, 1322, 1382, 1335, 2103, 1379, - 1330, 1327, 2103, 1341, 2103, 1344, 1389, 1342, 1339, 1340, - 1393, 1352, 1335, 1337, 1334, 1350, 1351, 1360, 2103, 1350, - - 1402, 2103, 1361, 2103, 2103, 1399, 2103, 2103, 1361, 2103, - 1401, 1363, 1364, 1349, 1350, 1358, 1412, 1408, 1363, 2103, - 1361, 1368, 2103, 1365, 1370, 1368, 1420, 1421, 1364, 2103, - 1379, 1380, 1381, 2103, 1382, 1372, 1384, 1429, 1371, 1379, - 1380, 1393, 2103, 1370, 1393, 1378, 1378, 1393, 1386, 1385, - 1396, 1383, 2103, 1388, 1444, 1403, 1394, 1403, 1405, 1409, - 2103, 2103, 1450, 1393, 1452, 1453, 1454, 1412, 1456, 2103, - 1452, 1414, 1415, 1402, 1461, 1398, 1463, 1416, 1417, 1407, - 1424, 1423, 1464, 1426, 2103, 1427, 1428, 1473, 1430, 1433, - 2103, 1476, 2103, 2103, 2103, 1437, 2103, 1419, 1479, 1480, - - 1423, 2103, 1440, 2103, 1431, 1421, 1480, 1446, 1439, 1435, - 1432, 1432, 1434, 2103, 1439, 1449, 2103, 1435, 1447, 2103, - 2103, 1452, 1446, 1454, 1499, 1440, 1442, 1439, 1463, 1456, - 1447, 1501, 1448, 1456, 1465, 1458, 1453, 1468, 1513, 2103, - 1459, 1471, 1516, 1465, 1464, 1471, 1458, 1473, 1478, 1523, - 1480, 1525, 1468, 2103, 1484, 1528, 2103, 1485, 1487, 1478, - 1492, 1488, 1481, 2103, 1535, 2103, 1536, 1497, 2103, 1538, - 1539, 1494, 1493, 1494, 1484, 2103, 2103, 1485, 2103, 2103, - 1545, 1487, 1503, 1548, 1505, 2103, 1545, 1494, 2103, 1552, - 1494, 1496, 2103, 1507, 1556, 1505, 2103, 1514, 1559, 2103, - - 2103, 1565, 1570, 1575, 1580, 1585, 1590, 1595, 1598, 1572, - 1577, 1579, 1592 + 2124, 2125, 34, 2120, 145, 0, 207, 2125, 214, 221, + 13, 228, 2125, 2100, 118, 25, 2, 6, 2125, 2125, + 73, 11, 17, 2125, 2125, 2125, 104, 2108, 2061, 0, + 2098, 108, 2115, 24, 262, 2125, 2057, 67, 2056, 2062, + 84, 75, 2054, 88, 226, 91, 89, 290, 196, 2053, + 206, 285, 206, 210, 219, 60, 223, 2062, 247, 290, + 315, 303, 231, 2045, 297, 321, 343, 324, 2064, 0, + 380, 387, 401, 408, 424, 2125, 0, 2125, 429, 438, + 216, 249, 220, 315, 335, 266, 2125, 2061, 2102, 2125, + + 342, 2125, 421, 2089, 312, 2047, 2057, 400, 10, 2052, + 361, 323, 370, 387, 359, 2097, 0, 474, 392, 2039, + 2036, 2040, 318, 2036, 2044, 412, 2040, 2029, 2030, 2035, + 78, 2045, 2028, 2037, 2037, 95, 2028, 400, 2029, 2027, + 405, 2075, 2079, 2019, 2072, 2012, 2035, 2032, 2032, 2026, + 364, 2019, 2017, 2011, 2016, 2010, 436, 2021, 2014, 2005, + 2004, 2018, 413, 2004, 419, 413, 1998, 470, 191, 445, + 2019, 2016, 2017, 2015, 2050, 2049, 433, 1995, 1997, 472, + 1989, 2006, 1998, 0, 449, 462, 446, 471, 479, 487, + 1997, 2125, 0, 2042, 492, 1987, 1990, 475, 494, 1998, + + 501, 2043, 513, 2042, 498, 2041, 2125, 550, 2040, 523, + 1999, 1991, 1978, 1994, 1995, 1992, 1989, 1988, 1979, 490, + 2030, 2024, 1988, 1969, 1966, 1974, 1969, 1983, 1979, 1967, + 1979, 1979, 1970, 1954, 1958, 1971, 1973, 1970, 1962, 1952, + 1970, 2125, 1965, 1968, 1949, 1948, 2000, 1947, 1957, 1960, + 539, 1956, 1995, 1943, 1954, 1992, 1937, 1995, 1930, 1945, + 498, 1935, 1951, 1932, 1930, 1930, 1936, 1927, 1926, 1933, + 1923, 1982, 1938, 1937, 1931, 487, 1938, 1933, 1925, 1915, + 1930, 1929, 1924, 1928, 322, 1926, 1912, 1918, 1925, 1913, + 1910, 1909, 537, 1904, 1918, 1961, 1920, 531, 1911, 529, + + 2125, 2125, 531, 2125, 2125, 1898, 0, 241, 519, 1900, + 544, 545, 1956, 1907, 517, 2125, 1954, 2125, 1948, 593, + 2125, 542, 1888, 1897, 1945, 1889, 1906, 1887, 1893, 1945, + 1900, 1895, 1898, 1893, 525, 2125, 1895, 1939, 1933, 1891, + 1888, 573, 1894, 1934, 1928, 1881, 1876, 1873, 1924, 1881, + 1870, 1886, 1920, 1866, 616, 1880, 1865, 1878, 1865, 1875, + 1870, 1877, 1872, 1868, 524, 1866, 1869, 1864, 1850, 1859, + 1909, 531, 1903, 2125, 1902, 1852, 1851, 1850, 1843, 1845, + 1849, 1838, 1855, 1850, 587, 1897, 1850, 1847, 1850, 2125, + 1849, 1838, 1838, 1850, 565, 1825, 1826, 1847, 575, 1829, + + 1880, 1825, 1839, 1842, 1837, 1823, 1835, 1834, 1833, 1832, + 1831, 1830, 546, 1873, 1872, 2125, 1814, 1813, 620, 1826, + 2125, 2125, 1825, 0, 1814, 1806, 549, 1811, 1864, 1863, + 1819, 1861, 2125, 1807, 1859, 2125, 598, 667, 597, 1858, + 1800, 1811, 1804, 1806, 1805, 1793, 2125, 1798, 1804, 1807, + 1790, 1805, 1792, 1791, 2125, 585, 1793, 1790, 574, 1788, + 1790, 2125, 1798, 1795, 1780, 1793, 1788, 644, 1795, 1783, + 1776, 1827, 2125, 1774, 1790, 1824, 1785, 1782, 1783, 1785, + 1819, 1770, 1765, 1764, 1815, 1759, 554, 1778, 1752, 1759, + 1764, 1774, 1813, 2125, 1758, 1754, 1752, 1761, 1755, 1762, + + 1746, 1746, 1756, 1759, 1748, 1744, 1742, 2125, 1799, 2125, + 1741, 1752, 1791, 1736, 1741, 1750, 1744, 1738, 1747, 1789, + 1783, 1745, 1728, 1728, 1723, 1743, 1718, 1724, 1729, 1722, + 1730, 1734, 1717, 1775, 1715, 1716, 1715, 1727, 1716, 2125, + 2125, 1716, 1714, 2125, 1725, 1761, 1721, 0, 1705, 1722, + 1762, 1710, 2125, 2125, 1707, 2125, 1713, 2125, 602, 611, + 647, 2125, 1710, 1709, 1716, 1696, 1695, 1748, 1693, 1746, + 1691, 1690, 1689, 1696, 1689, 1701, 1683, 1683, 1698, 1697, + 1696, 1695, 1695, 1677, 1682, 1723, 1690, 1682, 1727, 1671, + 1687, 1686, 2125, 1671, 1668, 1726, 1681, 1673, 1679, 1670, + + 1678, 1663, 1679, 1661, 1675, 615, 1657, 1651, 1656, 1671, + 1668, 1669, 1648, 1658, 1664, 1707, 1662, 1654, 2125, 1647, + 1649, 1658, 1656, 1695, 1694, 1645, 16, 1654, 1637, 1638, + 1641, 1634, 2125, 1648, 1627, 1631, 1645, 1637, 1682, 1634, + 1641, 1679, 2125, 1624, 1638, 1622, 1636, 1639, 1620, 1672, + 1671, 1670, 1669, 1614, 1667, 1666, 2125, 648, 1628, 1627, + 1624, 1624, 1622, 1605, 1610, 1612, 2125, 1618, 1608, 2125, + 1655, 1601, 1658, 623, 629, 1599, 1597, 1604, 1595, 1589, + 1647, 618, 1651, 619, 1645, 1605, 1643, 1642, 1594, 1592, + 1600, 1603, 1587, 1588, 1579, 1634, 1585, 1593, 1594, 1630, + + 1591, 1585, 607, 1581, 1626, 1630, 1585, 1584, 2125, 1585, + 1578, 1567, 1580, 1583, 1578, 1579, 1576, 170, 230, 299, + 327, 384, 405, 438, 549, 629, 623, 598, 665, 2125, + 670, 623, 620, 622, 633, 686, 649, 638, 651, 2125, + 641, 652, 653, 655, 699, 700, 643, 654, 639, 662, + 641, 647, 708, 672, 656, 668, 712, 713, 714, 661, + 716, 680, 675, 682, 678, 663, 675, 676, 2125, 731, + 688, 690, 681, 694, 696, 681, 688, 694, 686, 700, + 705, 746, 2125, 742, 718, 705, 710, 707, 708, 753, + 706, 704, 713, 2125, 703, 718, 715, 701, 708, 707, + + 705, 724, 721, 709, 716, 717, 726, 726, 716, 714, + 713, 724, 720, 777, 734, 719, 725, 741, 731, 2125, + 741, 741, 734, 745, 743, 788, 730, 732, 747, 734, + 794, 751, 737, 740, 2125, 2125, 750, 755, 760, 748, + 758, 760, 2125, 2125, 761, 765, 752, 746, 751, 769, + 756, 806, 757, 809, 758, 816, 2125, 2125, 761, 765, + 764, 761, 821, 774, 764, 765, 761, 774, 785, 769, + 787, 782, 783, 785, 778, 780, 781, 782, 782, 784, + 799, 840, 797, 802, 779, 2125, 791, 792, 806, 796, + 843, 801, 791, 806, 807, 794, 808, 2125, 827, 835, + + 804, 799, 854, 855, 2125, 818, 822, 863, 811, 806, + 807, 819, 826, 815, 816, 812, 815, 816, 826, 835, + 871, 826, 821, 880, 837, 839, 830, 2125, 832, 842, + 844, 829, 845, 839, 886, 852, 836, 837, 2125, 853, + 856, 839, 898, 841, 2125, 858, 861, 841, 859, 899, + 857, 853, 850, 903, 904, 851, 869, 868, 869, 855, + 870, 862, 869, 859, 877, 862, 2125, 870, 876, 879, + 924, 2125, 873, 878, 922, 873, 885, 880, 884, 882, + 880, 882, 892, 937, 881, 886, 882, 941, 885, 897, + 2125, 885, 893, 891, 888, 889, 898, 910, 894, 899, + + 909, 910, 915, 957, 914, 930, 935, 917, 914, 910, + 905, 965, 908, 2125, 908, 928, 927, 918, 907, 924, + 931, 974, 935, 928, 932, 936, 919, 980, 927, 2125, + 977, 924, 927, 926, 926, 949, 946, 951, 952, 938, + 946, 955, 935, 950, 957, 999, 2125, 1000, 1001, 952, + 962, 964, 953, 949, 956, 965, 953, 960, 961, 1013, + 960, 958, 960, 977, 1018, 968, 967, 973, 971, 969, + 1024, 1025, 1021, 1027, 2125, 984, 977, 968, 987, 975, + 985, 982, 987, 983, 996, 996, 2125, 980, 982, 982, + 2125, 983, 1043, 982, 1002, 1003, 1048, 1049, 1002, 987, + + 1008, 1007, 991, 996, 1014, 2125, 1004, 1037, 1028, 1060, + 1000, 1022, 1019, 2125, 1006, 1008, 1025, 1020, 1024, 1069, + 1017, 1021, 2125, 1013, 1030, 1010, 1031, 1021, 2125, 1036, + 1036, 1074, 1021, 1077, 1039, 1025, 1085, 1028, 1040, 1032, + 1038, 1034, 1052, 1053, 1054, 2125, 2125, 1053, 2125, 1038, + 1039, 1058, 1048, 1041, 1053, 1097, 1061, 1050, 1057, 1058, + 2125, 1056, 1108, 1049, 1110, 2125, 1111, 1053, 1059, 1066, + 1110, 2125, 2125, 1058, 2125, 1060, 1074, 1079, 1062, 1121, + 1078, 1079, 1080, 1120, 1072, 1077, 1128, 1081, 1077, 1131, + 2125, 1078, 1133, 1134, 2125, 2125, 1074, 1136, 1095, 1138, + + 1080, 1092, 1097, 1083, 1113, 1144, 2125, 1101, 1094, 1103, + 1148, 1095, 1110, 1146, 1098, 2125, 1094, 1110, 1111, 1112, + 1109, 1153, 1116, 1120, 1107, 1103, 1163, 1116, 1165, 1122, + 2125, 1123, 1116, 1125, 1126, 1124, 1114, 1117, 1117, 1122, + 1177, 1179, 1122, 1181, 1177, 1118, 1134, 1125, 1129, 1142, + 1143, 1189, 2125, 1142, 2125, 2125, 1147, 1141, 1151, 1136, + 1137, 1198, 1142, 1152, 1201, 2125, 1149, 1149, 1151, 1153, + 1206, 1147, 1150, 2125, 1151, 1170, 2125, 1154, 2125, 2125, + 1168, 2125, 1162, 2125, 1214, 1163, 1216, 1217, 1197, 2125, + 1219, 1176, 1217, 2125, 1165, 1173, 1167, 1164, 1167, 1170, + + 1170, 1187, 1226, 1179, 1191, 1194, 1176, 1183, 1173, 2125, + 1195, 2125, 1181, 1182, 1198, 1198, 1201, 1201, 1198, 1242, + 1204, 1196, 2125, 2125, 1206, 2125, 1203, 1208, 1209, 1206, + 1250, 1198, 1213, 1214, 2125, 1202, 1203, 1203, 1209, 1208, + 1219, 2125, 1260, 1207, 2125, 1208, 1208, 1210, 1216, 2125, + 1218, 1272, 1214, 1222, 1225, 1276, 1237, 2125, 1234, 2125, + 1231, 2125, 1254, 2125, 1281, 1223, 1283, 1284, 1241, 1246, + 1228, 1288, 1289, 1285, 1249, 1246, 1242, 1235, 1247, 1237, + 1242, 1298, 1299, 1295, 1258, 1255, 1299, 1247, 1252, 1251, + 1310, 1266, 1312, 1270, 1314, 1275, 1264, 1258, 1318, 1260, + + 1261, 1277, 1277, 1323, 1265, 1282, 1281, 1265, 1323, 1324, + 1271, 1326, 1289, 1290, 2125, 1290, 1291, 1278, 2125, 1289, + 1338, 1296, 1310, 2125, 1292, 2125, 2125, 1284, 1295, 1344, + 2125, 2125, 1290, 1295, 1293, 1343, 1301, 1306, 1297, 1295, + 1309, 2125, 2125, 1299, 1350, 1293, 1298, 1358, 1306, 1316, + 1317, 2125, 1362, 1315, 2125, 1364, 2125, 1307, 1322, 1310, + 2125, 1322, 1323, 1329, 1333, 2125, 1369, 1335, 1328, 1337, + 1319, 1326, 1380, 1339, 1338, 1383, 1331, 1385, 1386, 1335, + 2125, 1388, 1389, 1338, 1391, 1333, 2125, 1336, 1346, 1390, + 1338, 1353, 1340, 1346, 1346, 1401, 1345, 1344, 1404, 1357, + + 2125, 1401, 1352, 1349, 2125, 1363, 2125, 1366, 1411, 1364, + 1361, 1362, 1415, 1374, 1357, 1359, 1356, 1372, 1373, 1382, + 2125, 1372, 1424, 2125, 1383, 2125, 2125, 1421, 2125, 2125, + 1383, 2125, 1423, 1385, 1386, 1371, 1372, 1380, 1434, 1430, + 1385, 2125, 1383, 1390, 2125, 1387, 1392, 1390, 1442, 1443, + 1386, 2125, 1401, 1402, 1403, 2125, 1404, 1394, 1406, 1451, + 1393, 1401, 1402, 1415, 2125, 1392, 1415, 1400, 1400, 1415, + 1408, 1407, 1418, 1405, 2125, 1410, 1466, 1425, 1416, 1425, + 1427, 1431, 2125, 2125, 1472, 1415, 1474, 1475, 1476, 1434, + 1478, 2125, 1474, 1436, 1437, 1424, 1483, 1420, 1485, 1438, + + 1439, 1429, 1446, 1445, 1486, 1448, 2125, 1449, 1450, 1495, + 1452, 1455, 2125, 1498, 2125, 2125, 2125, 1459, 2125, 1441, + 1501, 1502, 1445, 2125, 1462, 2125, 1453, 1443, 1502, 1468, + 1461, 1457, 1454, 1454, 1456, 2125, 1461, 1471, 2125, 1457, + 1469, 2125, 2125, 1474, 1468, 1476, 1521, 1462, 1464, 1461, + 1485, 1478, 1469, 1523, 1470, 1478, 1487, 1480, 1475, 1490, + 1535, 2125, 1481, 1493, 1538, 1487, 1486, 1493, 1480, 1495, + 1500, 1545, 1502, 1547, 1490, 2125, 1506, 1550, 2125, 1507, + 1509, 1500, 1514, 1510, 1503, 2125, 1557, 2125, 1558, 1519, + 2125, 1560, 1561, 1516, 1515, 1516, 1506, 2125, 2125, 1507, + + 2125, 2125, 1567, 1509, 1525, 1570, 1527, 2125, 1567, 1516, + 2125, 1574, 1516, 1518, 2125, 1529, 1578, 1527, 2125, 1536, + 1581, 2125, 2125, 1587, 1592, 1597, 1602, 1607, 1612, 1617, + 1620, 1594, 1599, 1601, 1614 } ; -static const flex_int16_t yy_def[1714] = +static const flex_int16_t yy_def[1736] = { 0, - 1702, 1702, 1703, 1703, 1702, 1702, 1702, 1702, 1702, 1702, - 1701, 1701, 1701, 1701, 1701, 1704, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1705, - 1701, 1701, 1701, 1706, 15, 1701, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1707, 45, 45, + 1724, 1724, 1725, 1725, 1724, 1724, 1724, 1724, 1724, 1724, + 1723, 1723, 1723, 1723, 1723, 1726, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1727, + 1723, 1723, 1723, 1728, 15, 1723, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1729, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1704, - 1701, 1701, 1701, 1701, 1701, 1701, 1708, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1705, 1701, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1726, + 1723, 1723, 1723, 1723, 1723, 1723, 1730, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1727, 1723, - 1706, 1701, 1701, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1709, 45, 1707, 45, 45, + 1728, 1723, 1723, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1731, 45, 1729, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1708, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1710, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1730, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1732, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1709, 1701, 1707, 45, 45, + 45, 45, 45, 45, 45, 1731, 1723, 1729, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1701, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1701, 1701, 1701, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1723, - 1701, 1701, 1701, 1701, 1711, 45, 45, 45, 45, 45, - 45, 45, 45, 1701, 45, 1701, 45, 1707, 1701, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, + 1723, 1723, 1723, 1723, 1723, 1723, 1733, 45, 45, 45, + 45, 45, 45, 45, 45, 1723, 45, 1723, 45, 1729, + 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1701, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1701, 45, 45, 45, 45, + 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1701, 45, 45, 45, 45, 1701, 1701, 1701, 1712, - 45, 45, 45, 45, 45, 45, 45, 45, 1701, 45, - 45, 1701, 45, 1707, 45, 45, 45, 45, 45, 45, - 45, 1701, 45, 45, 45, 45, 45, 45, 45, 1701, - 45, 45, 45, 45, 45, 45, 1701, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1701, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1701, 45, + 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, + 1723, 1723, 1723, 1734, 45, 45, 45, 45, 45, 45, + 45, 45, 1723, 45, 45, 1723, 45, 1729, 45, 45, + 45, 45, 45, 45, 45, 45, 1723, 45, 45, 45, + 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, + 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, - 45, 45, 1701, 45, 1701, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1723, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1701, 1701, 45, 45, 1701, 45, 45, - 1701, 1713, 45, 45, 45, 45, 1701, 1701, 45, 1701, - 45, 1701, 45, 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1723, + 1723, 45, 45, 1723, 45, 45, 1723, 1735, 45, 45, + 45, 45, 1723, 1723, 45, 1723, 45, 1723, 45, 45, + 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1701, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1701, 45, 45, 45, 45, - 45, 45, 45, 45, 1701, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1701, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1701, 45, - 45, 1701, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1723, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1723, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1701, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1701, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1701, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 45, 1723, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1723, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1701, 1701, 45, 45, 45, 45, 45, 45, - 1701, 1701, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1701, 1701, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1723, 1723, 45, 45, 45, 45, + 45, 45, 1723, 1723, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1723, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1723, 45, 45, + 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1701, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1701, 45, 45, 45, 45, 45, 1701, + 45, 45, 45, 45, 45, 45, 45, 1723, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1723, 45, + 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1723, 45, 45, 45, + 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1701, 45, 45, 45, 1701, 45, 45, 45, 45, + 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1701, 45, 45, 45, 45, 45, + 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1701, 45, 45, - + 45, 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1701, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1723, 45, 45, 45, + 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, + 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, + 45, 45, 1723, 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1701, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1701, 45, - 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1701, 45, 45, - 45, 45, 45, 45, 45, 1701, 45, 45, 45, 45, - - 45, 45, 45, 45, 1701, 45, 45, 45, 45, 45, - 1701, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1701, 1701, 45, 1701, + 45, 45, 45, 45, 45, 1723, 1723, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1701, 45, 45, 45, 45, 1701, 45, 45, 45, - 45, 45, 1701, 1701, 45, 45, 45, 45, 45, 45, + 1723, 45, 45, 45, 45, 1723, 45, 45, 45, 45, + 45, 1723, 1723, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1701, 45, 45, 45, 1701, 1701, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1701, 45, 45, 45, - 45, 45, 45, 45, 45, 1701, 45, 45, 45, 45, + 1723, 45, 45, 45, 1723, 1723, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1701, + 45, 45, 45, 45, 45, 45, 1723, 45, 45, 45, + 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1701, 45, 1701, 1701, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1701, 45, 45, 45, 45, 45, - 45, 45, 1701, 45, 45, 1701, 45, 1701, 1701, 45, - 1701, 45, 1701, 45, 45, 45, 45, 45, 1701, 45, - 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1701, 45, + 45, 45, 1723, 45, 1723, 1723, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, + 45, 45, 45, 1723, 45, 45, 1723, 45, 1723, 1723, + 45, 1723, 45, 1723, 45, 45, 45, 45, 45, 1723, + 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1723, + 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1723, 1723, 45, 1723, 45, 45, 45, 45, + 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, + 45, 1723, 45, 45, 1723, 45, 45, 45, 45, 1723, + 45, 45, 45, 45, 45, 45, 45, 1723, 45, 1723, + 45, 1723, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 1701, 1701, 45, 1701, 45, 45, 45, 45, 45, 45, - 45, 45, 1701, 45, 45, 45, 45, 45, 45, 1701, - 45, 45, 1701, 45, 45, 45, 45, 1701, 45, 45, - 45, 45, 45, 45, 45, 1701, 45, 1701, 45, 1701, - 45, 1701, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1723, 45, 45, 45, 1723, 45, + 45, 45, 45, 1723, 45, 1723, 1723, 45, 45, 45, + 1723, 1723, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1723, 1723, 45, 45, 45, 45, 45, 45, 45, + 45, 1723, 45, 45, 1723, 45, 1723, 45, 45, 45, + 1723, 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1701, 45, 45, 45, 1701, 45, 45, 45, - - 45, 1701, 45, 1701, 1701, 45, 45, 45, 1701, 1701, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1701, - 1701, 45, 45, 45, 45, 45, 45, 45, 45, 1701, - 45, 45, 1701, 45, 1701, 45, 45, 45, 1701, 45, - 45, 45, 45, 1701, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1701, 45, - 45, 45, 45, 45, 1701, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1701, 45, - 45, 45, 1701, 45, 1701, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1701, 45, - - 45, 1701, 45, 1701, 1701, 45, 1701, 1701, 45, 1701, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1701, - 45, 45, 1701, 45, 45, 45, 45, 45, 45, 1701, - 45, 45, 45, 1701, 45, 45, 45, 45, 45, 45, - 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1701, 45, 45, 45, 45, 45, 45, 45, - 1701, 1701, 45, 45, 45, 45, 45, 45, 45, 1701, + 1723, 45, 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1701, 45, 45, 45, 45, 45, - 1701, 45, 1701, 1701, 1701, 45, 1701, 45, 45, 45, - 45, 1701, 45, 1701, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1701, 45, 45, 1701, 45, 45, 1701, - 1701, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1701, + 1723, 45, 45, 45, 1723, 45, 1723, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 1723, 45, 45, 1723, 45, 1723, 1723, 45, 1723, 1723, + 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1723, 45, 45, 1723, 45, 45, 45, 45, 45, + 45, 1723, 45, 45, 45, 1723, 45, 45, 45, 45, + 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1723, 45, 45, 45, 45, 45, + 45, 45, 1723, 1723, 45, 45, 45, 45, 45, 45, + 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 1723, 45, 45, 45, + 45, 45, 1723, 45, 1723, 1723, 1723, 45, 1723, 45, + 45, 45, 45, 1723, 45, 1723, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1723, 45, 45, 1723, 45, + 45, 1723, 1723, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1701, 45, 45, 1701, 45, 45, 45, - 45, 45, 45, 1701, 45, 1701, 45, 45, 1701, 45, - 45, 45, 45, 45, 45, 1701, 1701, 45, 1701, 1701, - 45, 45, 45, 45, 45, 1701, 45, 45, 1701, 45, - 45, 45, 1701, 45, 45, 45, 1701, 45, 45, 1701, - - 0, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701 + 45, 1723, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1723, 45, 45, 1723, 45, + 45, 45, 45, 45, 45, 1723, 45, 1723, 45, 45, + 1723, 45, 45, 45, 45, 45, 45, 1723, 1723, 45, + + 1723, 1723, 45, 45, 45, 45, 45, 1723, 45, 45, + 1723, 45, 45, 45, 1723, 45, 45, 45, 1723, 45, + 45, 1723, 0, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723 } ; -static const flex_int16_t yy_nxt[2177] = +static const flex_int16_t yy_nxt[2199] = { 0, - 1701, 13, 14, 13, 1701, 15, 16, 1701, 17, 18, + 1723, 13, 14, 13, 1723, 15, 16, 1723, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 86, 731, 37, 14, 37, 87, 25, 26, 38, 102, - 1701, 27, 37, 14, 37, 42, 28, 42, 38, 92, + 86, 740, 37, 14, 37, 87, 25, 26, 38, 102, + 1723, 27, 37, 14, 37, 42, 28, 42, 38, 92, 93, 29, 199, 30, 13, 14, 13, 91, 92, 25, 31, 93, 13, 14, 13, 13, 14, 13, 32, 40, - 732, 13, 14, 13, 33, 40, 103, 92, 93, 199, + 741, 13, 14, 13, 33, 40, 103, 92, 93, 199, 91, 34, 35, 13, 14, 13, 95, 15, 16, 96, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 13, 14, 13, 91, 39, 105, 25, 26, 13, 14, 13, 27, 39, 42, 108, 42, 28, 42, 109, 42, 41, 29, 111, 30, 114, 115, 94, 141, - 41, 25, 31, 105, 224, 225, 89, 142, 89, 108, + 41, 25, 31, 105, 225, 226, 89, 142, 89, 108, 32, 90, 90, 90, 90, 90, 33, 111, 109, 114, - 230, 115, 231, 34, 35, 44, 44, 44, 45, 45, + 231, 115, 232, 34, 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 47, 45, 45, 45, 45, 45, 48, 45, 49, 50, 45, 51, 45, 52, 53, 54, 45, 45, 45, @@ -1347,134 +1353,134 @@ static const flex_int16_t yy_nxt[2177] = 59, 60, 61, 62, 63, 64, 65, 66, 67, 52, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 57, 45, 45, 45, 45, 45, 81, 825, + 78, 79, 57, 45, 45, 45, 45, 45, 81, 831, 82, 82, 82, 82, 82, 81, 105, 84, 84, 84, 84, 84, 108, 83, 85, 85, 85, 85, 85, 81, - 83, 84, 84, 84, 84, 84, 185, 83, 280, 281, + 83, 84, 84, 84, 84, 84, 185, 83, 282, 283, 112, 123, 119, 135, 83, 108, 83, 187, 120, 124, 113, 121, 125, 83, 136, 126, 138, 127, 139, 128, 83, 143, 185, 112, 137, 140, 163, 83, 45, 186, - 164, 144, 826, 145, 45, 187, 45, 45, 113, 45, - 165, 45, 45, 45, 421, 117, 147, 148, 45, 45, + 164, 144, 832, 145, 45, 187, 45, 45, 113, 45, + 165, 45, 45, 45, 425, 117, 147, 148, 45, 45, - 149, 45, 45, 187, 422, 186, 150, 45, 45, 45, + 149, 45, 45, 187, 426, 186, 150, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 129, 190, 45, 130, 131, 151, 45, 132, 133, 152, - 45, 111, 167, 153, 829, 185, 168, 102, 45, 114, + 45, 111, 167, 153, 833, 185, 168, 102, 45, 114, 134, 195, 45, 158, 45, 118, 202, 175, 176, 154, 155, 159, 156, 160, 157, 186, 169, 112, 161, 162, - 170, 188, 180, 171, 249, 400, 414, 113, 250, 195, - 172, 173, 181, 202, 103, 205, 174, 182, 401, 830, + 170, 188, 180, 171, 214, 404, 834, 113, 215, 195, + 172, 173, 181, 202, 103, 205, 174, 182, 405, 835, 177, 189, 178, 85, 85, 85, 85, 85, 81, 201, 82, 82, 82, 82, 82, 113, 83, 203, 205, 89, - 831, 89, 179, 83, 90, 90, 90, 90, 90, 81, - 204, 84, 84, 84, 84, 84, 101, 201, 415, 83, - 198, 195, 832, 101, 83, 203, 83, 85, 85, 85, - 85, 85, 90, 90, 90, 90, 90, 204, 209, 233, - 83, 90, 90, 90, 90, 90, 198, 83, 282, 210, - 217, 237, 283, 101, 238, 234, 284, 101, 239, 218, - 219, 101, 300, 83, 201, 262, 263, 264, 266, 101, - 271, 267, 268, 101, 202, 101, 193, 208, 208, 208, - 208, 208, 299, 362, 833, 300, 208, 208, 208, 208, - - 208, 208, 201, 299, 256, 204, 298, 298, 374, 834, - 310, 291, 311, 300, 307, 272, 273, 274, 299, 208, - 208, 208, 208, 208, 208, 313, 275, 315, 276, 302, - 277, 278, 294, 279, 298, 301, 303, 307, 310, 311, - 317, 307, 390, 329, 375, 391, 363, 314, 313, 364, - 315, 330, 409, 417, 503, 423, 331, 332, 376, 431, - 417, 423, 428, 490, 320, 425, 426, 317, 318, 318, - 318, 318, 318, 491, 427, 447, 417, 318, 318, 318, - 318, 318, 318, 418, 423, 428, 666, 431, 454, 512, - 435, 468, 448, 513, 455, 517, 469, 545, 835, 518, - - 318, 318, 318, 318, 318, 318, 434, 434, 434, 434, - 434, 532, 504, 666, 533, 434, 434, 434, 434, 434, - 434, 481, 482, 538, 545, 545, 483, 553, 539, 554, - 586, 836, 576, 837, 667, 587, 605, 774, 434, 434, - 434, 434, 434, 434, 470, 577, 606, 578, 662, 471, - 710, 711, 555, 668, 553, 775, 554, 45, 45, 45, - 45, 45, 667, 838, 569, 774, 45, 45, 45, 45, - 45, 45, 570, 759, 571, 572, 573, 781, 775, 784, - 785, 839, 786, 782, 760, 827, 840, 841, 828, 45, - 45, 45, 45, 45, 45, 842, 843, 844, 845, 846, - - 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, - 857, 858, 859, 860, 861, 862, 864, 865, 866, 869, - 870, 871, 863, 873, 874, 867, 875, 872, 876, 868, - 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, - 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, + 836, 89, 179, 83, 90, 90, 90, 90, 90, 81, + 204, 84, 84, 84, 84, 84, 101, 201, 250, 83, + 198, 195, 251, 101, 83, 203, 83, 85, 85, 85, + 85, 85, 90, 90, 90, 90, 90, 204, 209, 234, + 83, 90, 90, 90, 90, 90, 198, 83, 270, 210, + 218, 238, 271, 101, 239, 235, 202, 101, 240, 219, + 220, 101, 302, 83, 201, 263, 264, 265, 267, 101, + 273, 268, 269, 101, 300, 101, 193, 208, 208, 208, + 208, 208, 301, 293, 837, 302, 208, 208, 208, 208, + + 208, 208, 201, 284, 257, 204, 300, 285, 377, 301, + 312, 286, 300, 302, 309, 274, 275, 276, 301, 208, + 208, 208, 208, 208, 208, 313, 277, 315, 278, 319, + 279, 280, 296, 281, 303, 304, 305, 309, 312, 317, + 332, 418, 316, 394, 378, 309, 395, 413, 333, 365, + 315, 435, 313, 334, 335, 421, 319, 421, 379, 427, + 429, 430, 317, 320, 320, 320, 320, 320, 322, 431, + 452, 432, 320, 320, 320, 320, 320, 320, 421, 435, + 422, 495, 427, 459, 551, 486, 487, 453, 427, 460, + 488, 496, 508, 419, 432, 320, 320, 320, 320, 320, + + 320, 538, 366, 612, 539, 367, 438, 438, 438, 438, + 438, 439, 551, 613, 838, 438, 438, 438, 438, 438, + 438, 473, 583, 518, 523, 544, 474, 519, 524, 559, + 545, 560, 551, 841, 674, 584, 576, 585, 438, 438, + 438, 438, 438, 438, 577, 675, 578, 579, 580, 593, + 509, 842, 670, 769, 594, 785, 559, 676, 560, 784, + 561, 674, 719, 720, 770, 792, 795, 796, 816, 797, + 843, 793, 817, 675, 475, 844, 845, 846, 785, 476, + 45, 45, 45, 45, 45, 839, 847, 784, 840, 45, + 45, 45, 45, 45, 45, 848, 849, 850, 851, 852, + + 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, + 863, 864, 45, 45, 45, 45, 45, 45, 865, 866, + 867, 868, 869, 870, 871, 872, 873, 874, 875, 877, + 878, 879, 882, 883, 884, 876, 886, 887, 880, 888, + 885, 889, 881, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, - 907, 908, 909, 910, 911, 912, 913, 914, 887, 915, - 916, 917, 918, 919, 920, 921, 922, 923, 924, 926, - 927, 928, 929, 925, 930, 931, 932, 933, 934, 935, - 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, + 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, + 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, + 927, 900, 928, 929, 930, 931, 932, 933, 934, 935, + 936, 937, 938, 939, 941, 942, 943, 944, 940, 945, - 947, 948, 949, 946, 950, 951, 952, 953, 954, 955, - 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, + 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, + 956, 957, 958, 959, 960, 962, 963, 964, 961, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, - 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 991, 1014, - 1015, 990, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, - 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1032, 1033, 1034, - 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, - - 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1054, 1055, - 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1053, 1064, - 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, - 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, - 1085, 1086, 1087, 1088, 1031, 1089, 1090, 1092, 1091, 1093, - 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, - 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, - 1114, 1115, 1116, 1117, 1090, 1091, 1118, 1119, 1120, 1121, - 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1130, 1132, 1133, - 1134, 1129, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, - - 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, - 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, + 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, + 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, + 1026, 1027, 1028, 1029, 1007, 1030, 1031, 1006, 1032, 1033, + 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, + + 1044, 1045, 1046, 1047, 1049, 1050, 1051, 1052, 1053, 1054, + 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, + 1065, 1066, 1067, 1068, 1069, 1071, 1072, 1073, 1074, 1075, + 1076, 1077, 1078, 1079, 1080, 1070, 1081, 1082, 1083, 1084, + 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, + 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, + 1105, 1048, 1106, 1107, 1108, 1110, 1109, 1111, 1112, 1113, + 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, + 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, + 1134, 1135, 1108, 1109, 1136, 1137, 1138, 1139, 1140, 1141, + + 1142, 1143, 1144, 1145, 1146, 1147, 1149, 1151, 1152, 1153, + 1148, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, - 1173, 1131, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, - 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, - 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, - 1202, 1203, 1204, 1205, 1206, 1207, 1185, 1208, 1209, 1210, - 1211, 1212, 1186, 1213, 1214, 1215, 1216, 1217, 1218, 1219, - 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, - 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, + 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, + 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, + 1150, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, + 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, + 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, + 1222, 1223, 1224, 1225, 1226, 1227, 1205, 1228, 1229, 1230, + 1231, 1232, 1206, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, - 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, - 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, - 1271, 1272, 1273, 1275, 1276, 1277, 1278, 1279, 1280, 1281, - 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, - 1292, 1293, 1294, 1295, 1296, 1268, 1297, 1298, 1299, 1300, - 1301, 1302, 1250, 1303, 1304, 1305, 1306, 1307, 1309, 1310, - 1311, 1312, 1313, 1314, 1315, 1308, 1274, 1316, 1317, 1318, - 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, - 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, - - 1340, 1341, 1342, 1343, 1339, 1344, 1345, 1346, 1347, 1348, + 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, + 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, + 1270, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, + 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, + 1291, 1292, 1293, 1294, 1296, 1297, 1298, 1299, 1300, 1301, + 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, + 1312, 1313, 1314, 1315, 1316, 1317, 1289, 1318, 1319, 1320, + 1321, 1322, 1323, 1271, 1324, 1325, 1326, 1327, 1328, 1331, + 1329, 1332, 1333, 1334, 1335, 1336, 1337, 1295, 1330, 1338, + + 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, - 1359, 1360, 1361, 1362, 1341, 1363, 1364, 1365, 1366, 1367, - 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, - 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, + 1359, 1360, 1362, 1363, 1364, 1365, 1361, 1366, 1367, 1368, + 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, + 1379, 1380, 1381, 1382, 1383, 1384, 1363, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, - 1408, 1409, 1410, 1411, 1412, 1414, 1415, 1416, 1417, 1418, - 1419, 1420, 1421, 1422, 1423, 1413, 1424, 1425, 1426, 1427, - 1401, 1428, 1429, 1430, 1432, 1433, 1434, 1435, 1436, 1437, + 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, + 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, + 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1436, 1437, 1438, - 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, - 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, - 1458, 1459, 1460, 1462, 1461, 1463, 1464, 1465, 1466, 1467, + 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1435, 1446, 1447, + 1448, 1449, 1423, 1450, 1451, 1452, 1454, 1455, 1456, 1457, + 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, - 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, - 1488, 1431, 1461, 1489, 1490, 1491, 1492, 1493, 1494, 1495, - 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, - 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, + 1478, 1479, 1480, 1481, 1482, 1484, 1483, 1485, 1486, 1487, + 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, + 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, + 1508, 1509, 1510, 1453, 1483, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, @@ -1495,85 +1501,88 @@ static const flex_int16_t yy_nxt[2177] = 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, - 1696, 1697, 1698, 1699, 1700, 12, 12, 12, 12, 12, - 36, 36, 36, 36, 36, 80, 305, 80, 80, 80, - 99, 420, 99, 542, 99, 101, 101, 101, 101, 101, - 116, 116, 116, 116, 116, 184, 101, 184, 184, 184, - - 206, 206, 206, 824, 823, 822, 821, 820, 819, 818, - 817, 816, 815, 814, 813, 812, 811, 810, 809, 808, - 807, 806, 805, 804, 803, 802, 801, 800, 799, 798, - 797, 796, 795, 794, 793, 792, 791, 790, 789, 788, - 787, 783, 780, 779, 778, 777, 776, 773, 772, 771, - 770, 769, 768, 767, 766, 765, 764, 763, 762, 761, - 758, 757, 756, 755, 754, 753, 752, 751, 750, 749, - 748, 747, 746, 745, 744, 743, 742, 741, 740, 739, - 738, 737, 736, 735, 734, 733, 730, 729, 728, 727, - 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, - - 716, 715, 714, 713, 712, 709, 708, 707, 706, 705, - 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, - 694, 693, 692, 691, 690, 689, 688, 687, 686, 685, - 684, 683, 682, 681, 680, 679, 678, 677, 676, 675, - 674, 673, 672, 671, 670, 669, 665, 664, 663, 662, - 661, 660, 659, 658, 657, 656, 655, 654, 653, 652, - 651, 650, 649, 648, 647, 646, 645, 644, 643, 642, - 641, 640, 639, 638, 637, 636, 635, 634, 633, 632, - 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, - 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, - - 611, 610, 609, 608, 607, 604, 603, 602, 601, 600, - 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, - 589, 588, 585, 584, 583, 582, 581, 580, 579, 575, - 574, 568, 567, 566, 565, 564, 563, 562, 561, 560, - 559, 558, 557, 556, 552, 551, 550, 549, 548, 547, - 546, 544, 543, 541, 540, 537, 536, 535, 534, 531, - 530, 529, 528, 527, 526, 525, 524, 523, 522, 521, - 520, 519, 516, 515, 514, 511, 510, 509, 508, 507, - 506, 505, 502, 501, 500, 499, 498, 497, 496, 495, - 494, 493, 492, 489, 488, 487, 486, 485, 484, 480, - - 479, 478, 477, 476, 475, 474, 473, 472, 467, 466, - 465, 464, 463, 462, 461, 460, 459, 458, 457, 456, - 453, 452, 451, 450, 449, 446, 445, 444, 443, 442, - 441, 440, 439, 438, 437, 436, 433, 432, 430, 429, - 424, 419, 416, 413, 412, 411, 410, 408, 407, 406, - 405, 404, 403, 402, 399, 398, 397, 396, 395, 394, - 393, 392, 389, 388, 387, 386, 385, 384, 383, 382, - 381, 380, 379, 378, 377, 373, 372, 371, 370, 369, - 368, 367, 366, 365, 361, 360, 359, 358, 357, 356, - 355, 354, 353, 352, 351, 350, 349, 348, 347, 346, - - 345, 344, 343, 342, 341, 340, 339, 338, 337, 336, - 335, 334, 333, 328, 327, 326, 325, 324, 323, 322, - 321, 319, 207, 316, 314, 312, 309, 308, 306, 304, - 297, 296, 295, 293, 292, 290, 289, 288, 287, 286, - 285, 270, 269, 265, 261, 260, 259, 258, 257, 255, - 254, 253, 252, 251, 248, 247, 246, 245, 244, 243, - 242, 241, 240, 236, 235, 232, 229, 228, 227, 226, - 223, 222, 221, 220, 216, 215, 214, 213, 212, 211, - 207, 200, 197, 196, 194, 192, 191, 183, 166, 146, - 122, 110, 107, 106, 104, 43, 100, 98, 97, 88, - - 43, 1701, 11, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701 + 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, + 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, + 1716, 1717, 1718, 1719, 1720, 1721, 1722, 12, 12, 12, + 12, 12, 36, 36, 36, 36, 36, 80, 307, 80, + + 80, 80, 99, 424, 99, 548, 99, 101, 101, 101, + 101, 101, 116, 116, 116, 116, 116, 184, 101, 184, + 184, 184, 206, 206, 206, 830, 829, 828, 827, 826, + 825, 824, 823, 822, 821, 820, 819, 818, 815, 814, + 813, 812, 811, 810, 809, 808, 807, 806, 805, 804, + 803, 802, 801, 800, 799, 798, 794, 791, 790, 789, + 788, 787, 786, 783, 782, 781, 780, 779, 778, 777, + 776, 775, 774, 773, 772, 771, 768, 767, 766, 765, + 764, 763, 762, 761, 760, 759, 758, 757, 756, 755, + 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, + + 744, 743, 742, 739, 738, 737, 736, 735, 734, 733, + 732, 731, 730, 729, 728, 727, 726, 725, 724, 723, + 722, 721, 718, 717, 716, 715, 714, 713, 712, 711, + 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, + 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, + 690, 689, 688, 687, 686, 685, 684, 683, 682, 681, + 680, 679, 678, 677, 673, 672, 671, 670, 669, 668, + 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, + 657, 656, 655, 654, 653, 652, 651, 650, 649, 648, + 647, 646, 645, 644, 643, 642, 641, 640, 639, 638, + + 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, + 627, 626, 625, 624, 623, 622, 621, 620, 619, 618, + 617, 616, 615, 614, 611, 610, 609, 608, 607, 606, + 605, 604, 603, 602, 601, 600, 599, 598, 597, 596, + 595, 592, 591, 590, 589, 588, 587, 586, 582, 581, + 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, + 565, 564, 563, 562, 558, 557, 556, 555, 554, 553, + 552, 550, 549, 547, 546, 543, 542, 541, 540, 537, + 536, 535, 534, 533, 532, 531, 530, 529, 528, 527, + 526, 525, 522, 521, 520, 517, 516, 515, 514, 513, + + 512, 511, 510, 507, 506, 505, 504, 503, 502, 501, + 500, 499, 498, 497, 494, 493, 492, 491, 490, 489, + 485, 484, 483, 482, 481, 480, 479, 478, 477, 472, + 471, 470, 469, 468, 467, 466, 465, 464, 463, 462, + 461, 458, 457, 456, 455, 454, 451, 450, 449, 448, + 447, 446, 445, 444, 443, 442, 441, 440, 437, 436, + 434, 433, 428, 423, 420, 417, 416, 415, 414, 412, + 411, 410, 409, 408, 407, 406, 403, 402, 401, 400, + 399, 398, 397, 396, 393, 392, 391, 390, 389, 388, + 387, 386, 385, 384, 383, 382, 381, 380, 376, 375, + + 374, 373, 372, 371, 370, 369, 368, 364, 363, 362, + 361, 360, 359, 358, 357, 356, 355, 354, 353, 352, + 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, + 341, 340, 339, 338, 337, 336, 331, 330, 329, 328, + 327, 326, 325, 324, 323, 321, 207, 318, 316, 314, + 311, 310, 308, 306, 299, 298, 297, 295, 294, 292, + 291, 290, 289, 288, 287, 272, 266, 262, 261, 260, + 259, 258, 256, 255, 254, 253, 252, 249, 248, 247, + 246, 245, 244, 243, 242, 241, 237, 236, 233, 230, + 229, 228, 227, 224, 223, 222, 221, 217, 216, 213, + + 212, 211, 207, 200, 197, 196, 194, 192, 191, 183, + 166, 146, 122, 110, 107, 106, 104, 43, 100, 98, + 97, 88, 43, 1723, 11, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723 + } ; -static const flex_int16_t yy_chk[2177] = +static const flex_int16_t yy_chk[2199] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 620, 3, 3, 3, 21, 1, 1, 3, 44, + 21, 627, 3, 3, 3, 21, 1, 1, 3, 44, 0, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 109, 1, 5, 5, 5, 26, 32, 1, 1, 33, 6, 6, 6, 7, 7, 7, 1, 7, - 620, 8, 8, 8, 1, 8, 44, 27, 28, 109, + 627, 8, 8, 8, 1, 8, 44, 27, 28, 109, 26, 1, 1, 2, 2, 2, 32, 2, 2, 33, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 31, 5, 48, 2, 2, @@ -1590,222 +1599,225 @@ static const flex_int16_t yy_chk[2177] = 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 17, 715, + 15, 15, 15, 15, 15, 15, 15, 15, 17, 718, 17, 17, 17, 17, 17, 19, 59, 19, 19, 19, 19, 19, 64, 17, 20, 20, 20, 20, 20, 22, 19, 22, 22, 22, 22, 22, 91, 20, 169, 169, 55, 61, 59, 63, 22, 64, 17, 93, 59, 61, 55, 59, 61, 19, 63, 61, 64, 61, 65, 61, 20, 67, 91, 55, 63, 65, 73, 22, 45, 92, - 73, 67, 716, 67, 45, 93, 45, 45, 55, 45, - 73, 45, 45, 45, 306, 58, 69, 69, 45, 45, + 73, 67, 719, 67, 45, 93, 45, 45, 55, 45, + 73, 45, 45, 45, 308, 58, 69, 69, 45, 45, - 69, 45, 58, 96, 306, 92, 69, 45, 45, 45, + 69, 45, 58, 96, 308, 92, 69, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 62, 96, 58, 62, 62, 70, 58, 62, 62, 70, - 58, 71, 75, 70, 718, 94, 75, 101, 58, 78, + 58, 71, 75, 70, 720, 94, 75, 101, 58, 78, 62, 105, 58, 72, 58, 58, 112, 77, 77, 70, 71, 72, 71, 72, 71, 95, 76, 77, 72, 72, - 76, 94, 78, 76, 151, 283, 296, 77, 151, 105, - 76, 76, 78, 112, 101, 115, 76, 78, 283, 719, + 76, 94, 78, 76, 123, 285, 721, 77, 123, 105, + 76, 76, 78, 112, 101, 115, 76, 78, 285, 722, 77, 95, 77, 81, 81, 81, 81, 81, 82, 111, 82, 82, 82, 82, 82, 77, 81, 113, 115, 83, - 720, 83, 77, 82, 83, 83, 83, 83, 83, 84, - 114, 84, 84, 84, 84, 84, 103, 111, 296, 81, - 108, 119, 722, 103, 84, 113, 82, 85, 85, 85, + 723, 83, 77, 82, 83, 83, 83, 83, 83, 84, + 114, 84, 84, 84, 84, 84, 103, 111, 151, 81, + 108, 119, 151, 103, 84, 113, 82, 85, 85, 85, 85, 85, 89, 89, 89, 89, 89, 114, 119, 138, - 85, 90, 90, 90, 90, 90, 108, 84, 170, 119, - 126, 141, 170, 103, 141, 138, 170, 103, 141, 126, + 85, 90, 90, 90, 90, 90, 108, 84, 166, 119, + 126, 141, 166, 103, 141, 138, 177, 103, 141, 126, 126, 103, 187, 85, 157, 163, 163, 163, 165, 103, - 168, 165, 165, 103, 177, 103, 103, 118, 118, 118, - 118, 118, 186, 250, 723, 187, 118, 118, 118, 118, - - 118, 118, 157, 189, 157, 180, 185, 188, 260, 724, - 198, 177, 199, 190, 195, 168, 168, 168, 186, 118, - 118, 118, 118, 118, 118, 201, 168, 203, 168, 189, - 168, 168, 180, 168, 185, 188, 190, 195, 198, 199, - 205, 210, 274, 219, 260, 274, 250, 291, 201, 250, - 203, 219, 291, 298, 382, 307, 219, 219, 260, 313, - 301, 320, 310, 369, 210, 309, 309, 205, 208, 208, - 208, 208, 208, 369, 309, 332, 298, 208, 208, 208, - 208, 208, 208, 301, 307, 310, 553, 313, 339, 391, - 320, 352, 332, 391, 339, 395, 352, 423, 725, 395, - - 208, 208, 208, 208, 208, 208, 318, 318, 318, 318, - 318, 409, 382, 553, 409, 318, 318, 318, 318, 318, - 318, 362, 362, 415, 435, 423, 362, 433, 415, 433, - 463, 726, 454, 727, 554, 463, 482, 666, 318, 318, - 318, 318, 318, 318, 352, 454, 482, 454, 555, 352, - 599, 599, 435, 555, 433, 667, 433, 434, 434, 434, - 434, 434, 554, 728, 451, 666, 434, 434, 434, 434, - 434, 434, 451, 650, 451, 451, 451, 673, 667, 675, - 675, 729, 675, 673, 650, 717, 730, 732, 717, 434, - 434, 434, 434, 434, 434, 733, 734, 735, 736, 737, - - 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 755, 755, 756, - 757, 758, 753, 760, 761, 755, 762, 758, 763, 755, - 764, 765, 766, 767, 768, 769, 770, 771, 772, 774, - 775, 776, 777, 778, 779, 780, 781, 782, 784, 785, - 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, - 796, 797, 798, 799, 800, 801, 802, 803, 775, 804, - 805, 806, 807, 809, 810, 811, 812, 813, 814, 815, - 816, 817, 818, 814, 819, 820, 821, 822, 825, 826, - 827, 828, 829, 830, 833, 834, 835, 836, 837, 838, - - 839, 840, 841, 838, 842, 843, 844, 847, 848, 849, - 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, - 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, - 870, 871, 872, 874, 875, 876, 877, 878, 879, 880, - 881, 882, 883, 884, 886, 887, 888, 889, 890, 891, - 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, - 902, 903, 904, 905, 906, 907, 908, 909, 887, 910, - 911, 886, 912, 913, 915, 916, 917, 918, 919, 920, - 921, 922, 923, 925, 926, 927, 928, 929, 931, 932, - 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, - - 943, 944, 945, 946, 947, 948, 949, 950, 951, 953, - 954, 955, 957, 958, 959, 960, 961, 962, 950, 963, - 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, - 974, 976, 977, 978, 979, 980, 981, 982, 983, 984, - 985, 986, 987, 988, 928, 989, 990, 992, 991, 993, - 994, 995, 996, 997, 999, 1000, 1001, 1002, 1003, 1004, - 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1015, - 1016, 1017, 1018, 1019, 990, 991, 1020, 1021, 1022, 1023, - 1024, 1025, 1026, 1027, 1028, 1029, 1031, 1032, 1033, 1034, - 1035, 1031, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, - - 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, - 1054, 1055, 1056, 1058, 1059, 1060, 1061, 1062, 1063, 1064, - 1065, 1066, 1067, 1068, 1070, 1071, 1072, 1074, 1075, 1076, - 1077, 1032, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, - 1086, 1087, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1097, - 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1106, 1107, 1108, - 1109, 1110, 1112, 1113, 1114, 1115, 1090, 1116, 1117, 1118, - 1119, 1120, 1091, 1121, 1122, 1123, 1124, 1125, 1126, 1129, - 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, - 1141, 1143, 1144, 1145, 1146, 1148, 1149, 1150, 1151, 1152, - - 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, - 1165, 1166, 1167, 1168, 1169, 1170, 1172, 1173, 1174, 1177, - 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1188, - 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1197, 1198, 1199, - 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, - 1211, 1212, 1213, 1214, 1215, 1185, 1216, 1217, 1218, 1219, - 1220, 1221, 1164, 1222, 1223, 1224, 1225, 1226, 1227, 1228, - 1229, 1230, 1231, 1233, 1236, 1226, 1191, 1237, 1238, 1239, - 1240, 1241, 1242, 1243, 1244, 1246, 1247, 1248, 1249, 1250, - 1251, 1252, 1254, 1255, 1257, 1260, 1262, 1264, 1265, 1266, - - 1267, 1268, 1270, 1271, 1266, 1272, 1274, 1275, 1276, 1277, - 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, - 1288, 1290, 1291, 1292, 1268, 1293, 1294, 1295, 1296, 1297, - 1298, 1299, 1300, 1303, 1305, 1306, 1307, 1308, 1309, 1310, - 1311, 1312, 1314, 1315, 1316, 1317, 1318, 1319, 1321, 1322, - 1324, 1325, 1326, 1327, 1329, 1330, 1331, 1332, 1333, 1334, - 1335, 1337, 1339, 1341, 1343, 1344, 1345, 1346, 1347, 1348, - 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, - 1359, 1360, 1361, 1362, 1363, 1353, 1364, 1365, 1366, 1367, - 1341, 1368, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, - - 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, - 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1394, 1395, 1396, - 1398, 1399, 1400, 1403, 1401, 1406, 1407, 1408, 1411, 1412, - 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1422, 1423, 1424, - 1425, 1426, 1427, 1428, 1429, 1431, 1432, 1434, 1436, 1437, - 1438, 1369, 1401, 1440, 1441, 1442, 1443, 1445, 1446, 1447, - 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, - 1458, 1460, 1461, 1462, 1463, 1464, 1466, 1467, 1468, 1469, - 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1480, - 1481, 1482, 1484, 1486, 1487, 1488, 1489, 1490, 1491, 1492, - - 1493, 1494, 1495, 1496, 1497, 1498, 1500, 1501, 1503, 1506, - 1509, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, - 1521, 1522, 1524, 1525, 1526, 1527, 1528, 1529, 1531, 1532, - 1533, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1544, - 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1554, 1555, - 1556, 1557, 1558, 1559, 1560, 1563, 1564, 1565, 1566, 1567, - 1568, 1569, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, - 1579, 1580, 1581, 1582, 1583, 1584, 1586, 1587, 1588, 1589, - 1590, 1592, 1596, 1598, 1599, 1600, 1601, 1603, 1605, 1606, - 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1615, 1616, 1618, - - 1619, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, - 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1641, - 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, - 1652, 1653, 1655, 1656, 1658, 1659, 1660, 1661, 1662, 1663, - 1665, 1667, 1668, 1670, 1671, 1672, 1673, 1674, 1675, 1678, - 1681, 1682, 1683, 1684, 1685, 1687, 1688, 1690, 1691, 1692, - 1694, 1695, 1696, 1698, 1699, 1702, 1702, 1702, 1702, 1702, - 1703, 1703, 1703, 1703, 1703, 1704, 1710, 1704, 1704, 1704, - 1705, 1711, 1705, 1712, 1705, 1706, 1706, 1706, 1706, 1706, - 1707, 1707, 1707, 1707, 1707, 1708, 1713, 1708, 1708, 1708, - - 1709, 1709, 1709, 714, 713, 712, 711, 710, 709, 708, - 707, 706, 705, 704, 703, 702, 701, 699, 698, 697, - 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, - 686, 685, 684, 683, 682, 681, 680, 679, 678, 677, - 676, 674, 672, 671, 670, 669, 668, 665, 664, 663, - 661, 660, 658, 657, 656, 655, 654, 653, 652, 651, - 648, 647, 646, 645, 644, 643, 642, 641, 640, 639, - 638, 637, 636, 634, 633, 632, 631, 630, 629, 628, - 627, 625, 624, 623, 622, 621, 619, 618, 617, 616, - 615, 614, 613, 611, 610, 609, 608, 607, 606, 605, - - 604, 603, 602, 601, 600, 598, 597, 596, 595, 594, - 593, 592, 591, 590, 589, 588, 587, 585, 584, 583, - 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, - 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, - 562, 561, 560, 559, 558, 557, 551, 549, 546, 545, - 544, 543, 541, 540, 539, 537, 536, 533, 532, 531, - 530, 529, 528, 527, 526, 525, 524, 523, 522, 521, - 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, - 510, 509, 508, 507, 506, 504, 502, 501, 500, 499, - 498, 497, 496, 495, 494, 493, 492, 491, 490, 488, - - 487, 486, 485, 484, 483, 481, 480, 479, 478, 477, - 476, 475, 474, 473, 472, 471, 470, 469, 467, 466, - 465, 464, 462, 461, 460, 459, 458, 456, 455, 453, - 452, 449, 448, 447, 446, 445, 444, 443, 441, 440, - 439, 438, 437, 436, 431, 430, 428, 427, 426, 425, - 424, 422, 421, 419, 416, 414, 413, 411, 410, 408, - 407, 406, 405, 404, 403, 402, 401, 400, 399, 398, - 397, 396, 394, 393, 392, 390, 389, 388, 387, 385, - 384, 383, 381, 380, 379, 378, 377, 376, 375, 374, - 373, 372, 370, 368, 367, 366, 365, 364, 363, 361, - - 360, 359, 358, 357, 356, 355, 354, 353, 351, 350, - 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, - 338, 337, 336, 335, 334, 331, 330, 329, 328, 327, - 326, 325, 324, 323, 322, 321, 317, 315, 312, 311, - 308, 304, 297, 295, 294, 293, 292, 290, 289, 288, - 287, 286, 285, 284, 282, 281, 280, 279, 278, 277, - 276, 275, 273, 272, 271, 270, 269, 268, 267, 266, - 265, 264, 263, 262, 261, 259, 258, 257, 256, 255, - 254, 253, 252, 251, 249, 248, 247, 246, 245, 244, - 243, 242, 240, 239, 238, 237, 236, 235, 234, 233, - - 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, - 222, 221, 220, 218, 217, 216, 215, 214, 213, 212, - 211, 209, 206, 204, 202, 200, 197, 196, 194, 191, - 183, 182, 181, 179, 178, 176, 175, 174, 173, 172, - 171, 167, 166, 164, 162, 161, 160, 159, 158, 156, - 155, 154, 153, 152, 150, 149, 148, 147, 146, 145, - 144, 143, 142, 140, 139, 137, 135, 134, 133, 132, - 130, 129, 128, 127, 125, 124, 123, 122, 121, 120, - 116, 110, 107, 106, 104, 99, 98, 79, 74, 68, - 60, 53, 50, 49, 47, 43, 41, 39, 38, 24, - - 14, 11, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, - 1701, 1701, 1701, 1701, 1701, 1701 + 168, 165, 165, 103, 185, 103, 103, 118, 118, 118, + 118, 118, 186, 177, 724, 187, 118, 118, 118, 118, + + 118, 118, 157, 170, 157, 180, 188, 170, 261, 189, + 198, 170, 185, 190, 195, 168, 168, 168, 186, 118, + 118, 118, 118, 118, 118, 199, 168, 201, 168, 205, + 168, 168, 180, 168, 188, 189, 190, 195, 198, 203, + 220, 298, 293, 276, 261, 210, 276, 293, 220, 251, + 201, 315, 199, 220, 220, 300, 205, 303, 261, 309, + 311, 311, 203, 208, 208, 208, 208, 208, 210, 311, + 335, 312, 208, 208, 208, 208, 208, 208, 300, 315, + 303, 372, 322, 342, 427, 365, 365, 335, 309, 342, + 365, 372, 385, 298, 312, 208, 208, 208, 208, 208, + + 208, 413, 251, 487, 413, 251, 320, 320, 320, 320, + 320, 322, 427, 487, 725, 320, 320, 320, 320, 320, + 320, 355, 459, 395, 399, 419, 355, 395, 399, 437, + 419, 437, 439, 727, 559, 459, 456, 459, 320, 320, + 320, 320, 320, 320, 456, 560, 456, 456, 456, 468, + 385, 728, 561, 658, 468, 675, 437, 561, 437, 674, + 439, 559, 606, 606, 658, 682, 684, 684, 703, 684, + 729, 682, 703, 560, 355, 731, 732, 733, 675, 355, + 438, 438, 438, 438, 438, 726, 734, 674, 726, 438, + 438, 438, 438, 438, 438, 735, 736, 737, 738, 739, + + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 438, 438, 438, 438, 438, 438, 753, 754, + 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, + 765, 765, 766, 767, 768, 763, 770, 771, 765, 772, + 768, 773, 765, 774, 775, 776, 777, 778, 779, 780, + 781, 782, 784, 785, 786, 787, 788, 789, 790, 791, + 792, 793, 795, 796, 797, 798, 799, 800, 801, 802, + 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, + 813, 785, 814, 815, 816, 817, 818, 819, 821, 822, + 823, 824, 825, 826, 827, 828, 829, 830, 826, 831, + + 832, 833, 834, 837, 838, 839, 840, 841, 842, 845, + 846, 847, 848, 849, 850, 851, 852, 853, 850, 854, + 855, 856, 859, 860, 861, 862, 863, 864, 865, 866, + 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, + 877, 878, 879, 880, 881, 882, 883, 884, 885, 887, + 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, + 899, 900, 901, 902, 903, 904, 906, 907, 908, 909, + 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, + 920, 921, 922, 923, 900, 924, 925, 899, 926, 927, + 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, + + 940, 941, 942, 943, 944, 946, 947, 948, 949, 950, + 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, + 961, 962, 963, 964, 965, 966, 968, 969, 970, 971, + 973, 974, 975, 976, 977, 965, 978, 979, 980, 981, + 982, 983, 984, 985, 986, 987, 988, 989, 990, 992, + 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, + 1003, 943, 1004, 1005, 1006, 1008, 1007, 1009, 1010, 1011, + 1012, 1013, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, + 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1031, 1032, 1033, + 1034, 1035, 1006, 1007, 1036, 1037, 1038, 1039, 1040, 1041, + + 1042, 1043, 1044, 1045, 1046, 1048, 1049, 1050, 1051, 1052, + 1048, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, + 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, + 1072, 1073, 1074, 1076, 1077, 1078, 1079, 1080, 1081, 1082, + 1083, 1084, 1085, 1086, 1088, 1089, 1090, 1092, 1093, 1094, + 1049, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, + 1104, 1105, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1115, + 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1124, 1125, 1126, + 1127, 1128, 1130, 1131, 1132, 1133, 1108, 1134, 1135, 1136, + 1137, 1138, 1109, 1139, 1140, 1141, 1142, 1143, 1144, 1145, + + 1148, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, + 1159, 1160, 1162, 1163, 1164, 1165, 1167, 1168, 1169, 1170, + 1171, 1174, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, + 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1192, 1193, 1194, + 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, + 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1217, 1218, + 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, + 1229, 1230, 1232, 1233, 1234, 1235, 1205, 1236, 1237, 1238, + 1239, 1240, 1241, 1184, 1242, 1243, 1244, 1245, 1246, 1248, + 1247, 1249, 1250, 1251, 1252, 1254, 1257, 1211, 1247, 1258, + + 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1267, 1268, 1269, + 1270, 1271, 1272, 1273, 1275, 1276, 1278, 1281, 1283, 1285, + 1286, 1287, 1288, 1289, 1291, 1292, 1287, 1293, 1295, 1296, + 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1311, 1313, 1314, 1289, 1315, 1316, 1317, + 1318, 1319, 1320, 1321, 1322, 1325, 1327, 1328, 1329, 1330, + 1331, 1332, 1333, 1334, 1336, 1337, 1338, 1339, 1340, 1341, + 1343, 1344, 1346, 1347, 1348, 1349, 1351, 1352, 1353, 1354, + 1355, 1356, 1357, 1359, 1361, 1363, 1365, 1366, 1367, 1368, + 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, + + 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1375, 1386, 1387, + 1388, 1389, 1363, 1390, 1390, 1391, 1392, 1393, 1394, 1395, + 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, + 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1416, + 1417, 1418, 1420, 1421, 1422, 1425, 1423, 1428, 1429, 1430, + 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1444, + 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1456, + 1458, 1459, 1460, 1391, 1423, 1462, 1463, 1464, 1465, 1467, + 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, + 1478, 1479, 1480, 1482, 1483, 1484, 1485, 1486, 1488, 1489, + + 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, + 1500, 1502, 1503, 1504, 1506, 1508, 1509, 1510, 1511, 1512, + 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1522, 1523, + 1525, 1528, 1531, 1533, 1534, 1535, 1536, 1537, 1538, 1539, + 1540, 1541, 1543, 1544, 1546, 1547, 1548, 1549, 1550, 1551, + 1553, 1554, 1555, 1557, 1558, 1559, 1560, 1561, 1562, 1563, + 1564, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, + 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1585, 1586, 1587, + 1588, 1589, 1590, 1591, 1593, 1594, 1595, 1596, 1597, 1598, + 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1608, 1609, + + 1610, 1611, 1612, 1614, 1618, 1620, 1621, 1622, 1623, 1625, + 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1637, + 1638, 1640, 1641, 1644, 1645, 1646, 1647, 1648, 1649, 1650, + 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, + 1661, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, + 1672, 1673, 1674, 1675, 1677, 1678, 1680, 1681, 1682, 1683, + 1684, 1685, 1687, 1689, 1690, 1692, 1693, 1694, 1695, 1696, + 1697, 1700, 1703, 1704, 1705, 1706, 1707, 1709, 1710, 1712, + 1713, 1714, 1716, 1717, 1718, 1720, 1721, 1724, 1724, 1724, + 1724, 1724, 1725, 1725, 1725, 1725, 1725, 1726, 1732, 1726, + + 1726, 1726, 1727, 1733, 1727, 1734, 1727, 1728, 1728, 1728, + 1728, 1728, 1729, 1729, 1729, 1729, 1729, 1730, 1735, 1730, + 1730, 1730, 1731, 1731, 1731, 717, 716, 715, 714, 713, + 712, 711, 710, 708, 707, 706, 705, 704, 702, 701, + 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, + 690, 689, 688, 687, 686, 685, 683, 681, 680, 679, + 678, 677, 676, 673, 672, 671, 669, 668, 666, 665, + 664, 663, 662, 661, 660, 659, 656, 655, 654, 653, + 652, 651, 650, 649, 648, 647, 646, 645, 644, 642, + 641, 640, 639, 638, 637, 636, 635, 634, 632, 631, + + 630, 629, 628, 626, 625, 624, 623, 622, 621, 620, + 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, + 608, 607, 605, 604, 603, 602, 601, 600, 599, 598, + 597, 596, 595, 594, 592, 591, 590, 589, 588, 587, + 586, 585, 584, 583, 582, 581, 580, 579, 578, 577, + 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, + 566, 565, 564, 563, 557, 555, 552, 551, 550, 549, + 547, 546, 545, 543, 542, 539, 538, 537, 536, 535, + 534, 533, 532, 531, 530, 529, 528, 527, 526, 525, + 524, 523, 522, 521, 520, 519, 518, 517, 516, 515, + + 514, 513, 512, 511, 509, 507, 506, 505, 504, 503, + 502, 501, 500, 499, 498, 497, 496, 495, 493, 492, + 491, 490, 489, 488, 486, 485, 484, 483, 482, 481, + 480, 479, 478, 477, 476, 475, 474, 472, 471, 470, + 469, 467, 466, 465, 464, 463, 461, 460, 458, 457, + 454, 453, 452, 451, 450, 449, 448, 446, 445, 444, + 443, 442, 441, 440, 435, 434, 432, 431, 430, 429, + 428, 426, 425, 423, 420, 418, 417, 415, 414, 412, + 411, 410, 409, 408, 407, 406, 405, 404, 403, 402, + 401, 400, 398, 397, 396, 394, 393, 392, 391, 389, + + 388, 387, 386, 384, 383, 382, 381, 380, 379, 378, + 377, 376, 375, 373, 371, 370, 369, 368, 367, 366, + 364, 363, 362, 361, 360, 359, 358, 357, 356, 354, + 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, + 343, 341, 340, 339, 338, 337, 334, 333, 332, 331, + 330, 329, 328, 327, 326, 325, 324, 323, 319, 317, + 314, 313, 310, 306, 299, 297, 296, 295, 294, 292, + 291, 290, 289, 288, 287, 286, 284, 283, 282, 281, + 280, 279, 278, 277, 275, 274, 273, 272, 271, 270, + 269, 268, 267, 266, 265, 264, 263, 262, 260, 259, + + 258, 257, 256, 255, 254, 253, 252, 250, 249, 248, + 247, 246, 245, 244, 243, 241, 240, 239, 238, 237, + 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, + 226, 225, 224, 223, 222, 221, 219, 218, 217, 216, + 215, 214, 213, 212, 211, 209, 206, 204, 202, 200, + 197, 196, 194, 191, 183, 182, 181, 179, 178, 176, + 175, 174, 173, 172, 171, 167, 164, 162, 161, 160, + 159, 158, 156, 155, 154, 153, 152, 150, 149, 148, + 147, 146, 145, 144, 143, 142, 140, 139, 137, 135, + 134, 133, 132, 130, 129, 128, 127, 125, 124, 122, + + 121, 120, 116, 110, 107, 106, 104, 99, 98, 79, + 74, 68, 60, 53, 50, 49, 47, 43, 41, 39, + 38, 24, 14, 11, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723 + } ; static yy_state_type yy_last_accepting_state; @@ -1814,7 +1826,7 @@ static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 1; -static const flex_int16_t yy_rule_linenum[191] = +static const flex_int16_t yy_rule_linenum[194] = { 0, 147, 149, 151, 156, 157, 162, 163, 164, 176, 179, 184, 191, 200, 209, 218, 227, 236, 245, 255, 264, @@ -1832,10 +1844,12 @@ static const flex_int16_t yy_rule_linenum[191] = 1293, 1303, 1312, 1321, 1330, 1339, 1348, 1357, 1366, 1375, 1384, 1393, 1402, 1411, 1420, 1429, 1438, 1447, 1456, 1465, 1474, 1483, 1492, 1501, 1510, 1519, 1528, 1537, 1546, 1555, - 1567, 1579, 1589, 1599, 1609, 1619, 1629, 1639, 1649, 1659, - 1669, 1678, 1687, 1696, 1705, 1714, 1723, 1732, 1743, 1754, - 1767, 1780, 1795, 1894, 1899, 1904, 1909, 1910, 1911, 1912, - 1913, 1914, 1916, 1934, 1947, 1952, 1956, 1958, 1960, 1962 + 1564, 1573, 1582, 1594, 1606, 1616, 1626, 1636, 1646, 1656, + 1666, 1676, 1686, 1696, 1705, 1714, 1723, 1732, 1741, 1750, + 1759, 1770, 1781, 1794, 1807, 1822, 1921, 1926, 1931, 1936, + 1937, 1938, 1939, 1940, 1941, 1943, 1961, 1974, 1979, 1983, + 1985, 1987, 1989 + } ; /* The intent behind this definition is that it'll catch @@ -1888,7 +1902,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg) -#line 1892 "dhcp4_lexer.cc" +#line 1905 "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 @@ -1914,8 +1928,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 1918 "dhcp4_lexer.cc" -#line 1919 "dhcp4_lexer.cc" +#line 1931 "dhcp4_lexer.cc" +#line 1932 "dhcp4_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2245,7 +2259,7 @@ YY_DECL } -#line 2249 "dhcp4_lexer.cc" +#line 2262 "dhcp4_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2274,13 +2288,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 >= 1702 ) + if ( yy_current_state >= 1724 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 1701 ); + while ( yy_current_state != 1723 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2299,13 +2313,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 < 191 ) + else if ( yy_act < 194 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 191 ) + else if ( yy_act == 194 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 192 ) + else if ( yy_act == 195 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -4022,6 +4036,42 @@ YY_RULE_SETUP #line 1429 "dhcp4_lexer.ll" { switch(driver.ctx_) { + case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: + return isc::dhcp::Dhcp4Parser::make_ENABLE_QUEUE(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("enable-queue", driver.loc_); + } +} + YY_BREAK +case 137: +YY_RULE_SETUP +#line 1438 "dhcp4_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: + return isc::dhcp::Dhcp4Parser::make_QUEUE_TYPE(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("queue-type", driver.loc_); + } +} + YY_BREAK +case 138: +YY_RULE_SETUP +#line 1447 "dhcp4_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: + return isc::dhcp::Dhcp4Parser::make_CAPACITY(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("capacity", driver.loc_); + } +} + YY_BREAK +case 139: +YY_RULE_SETUP +#line 1456 "dhcp4_lexer.ll" +{ + switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: return isc::dhcp::Dhcp4Parser::make_DHCP_DDNS(driver.loc_); default: @@ -4029,9 +4079,9 @@ YY_RULE_SETUP } } YY_BREAK -case 137: +case 140: YY_RULE_SETUP -#line 1438 "dhcp4_lexer.ll" +#line 1465 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4041,9 +4091,9 @@ YY_RULE_SETUP } } YY_BREAK -case 138: +case 141: YY_RULE_SETUP -#line 1447 "dhcp4_lexer.ll" +#line 1474 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4053,9 +4103,9 @@ YY_RULE_SETUP } } YY_BREAK -case 139: +case 142: YY_RULE_SETUP -#line 1456 "dhcp4_lexer.ll" +#line 1483 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4065,9 +4115,9 @@ YY_RULE_SETUP } } YY_BREAK -case 140: +case 143: YY_RULE_SETUP -#line 1465 "dhcp4_lexer.ll" +#line 1492 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4077,9 +4127,9 @@ YY_RULE_SETUP } } YY_BREAK -case 141: +case 144: YY_RULE_SETUP -#line 1474 "dhcp4_lexer.ll" +#line 1501 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4089,9 +4139,9 @@ YY_RULE_SETUP } } YY_BREAK -case 142: +case 145: YY_RULE_SETUP -#line 1483 "dhcp4_lexer.ll" +#line 1510 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4101,9 +4151,9 @@ YY_RULE_SETUP } } YY_BREAK -case 143: +case 146: YY_RULE_SETUP -#line 1492 "dhcp4_lexer.ll" +#line 1519 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4113,9 +4163,9 @@ YY_RULE_SETUP } } YY_BREAK -case 144: +case 147: YY_RULE_SETUP -#line 1501 "dhcp4_lexer.ll" +#line 1528 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4125,9 +4175,9 @@ YY_RULE_SETUP } } YY_BREAK -case 145: +case 148: YY_RULE_SETUP -#line 1510 "dhcp4_lexer.ll" +#line 1537 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4137,9 +4187,9 @@ YY_RULE_SETUP } } YY_BREAK -case 146: +case 149: YY_RULE_SETUP -#line 1519 "dhcp4_lexer.ll" +#line 1546 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4149,9 +4199,9 @@ YY_RULE_SETUP } } YY_BREAK -case 147: +case 150: YY_RULE_SETUP -#line 1528 "dhcp4_lexer.ll" +#line 1555 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4161,9 +4211,9 @@ YY_RULE_SETUP } } YY_BREAK -case 148: +case 151: YY_RULE_SETUP -#line 1537 "dhcp4_lexer.ll" +#line 1564 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4173,9 +4223,9 @@ YY_RULE_SETUP } } YY_BREAK -case 149: +case 152: YY_RULE_SETUP -#line 1546 "dhcp4_lexer.ll" +#line 1573 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4185,9 +4235,9 @@ YY_RULE_SETUP } } YY_BREAK -case 150: +case 153: YY_RULE_SETUP -#line 1555 "dhcp4_lexer.ll" +#line 1582 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4200,9 +4250,9 @@ YY_RULE_SETUP } } YY_BREAK -case 151: +case 154: YY_RULE_SETUP -#line 1567 "dhcp4_lexer.ll" +#line 1594 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4215,9 +4265,9 @@ YY_RULE_SETUP } } YY_BREAK -case 152: +case 155: YY_RULE_SETUP -#line 1579 "dhcp4_lexer.ll" +#line 1606 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { @@ -4228,9 +4278,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 153: +case 156: YY_RULE_SETUP -#line 1589 "dhcp4_lexer.ll" +#line 1616 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { @@ -4241,9 +4291,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 154: +case 157: YY_RULE_SETUP -#line 1599 "dhcp4_lexer.ll" +#line 1626 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) { @@ -4254,9 +4304,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 155: +case 158: YY_RULE_SETUP -#line 1609 "dhcp4_lexer.ll" +#line 1636 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -4267,9 +4317,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 156: +case 159: YY_RULE_SETUP -#line 1619 "dhcp4_lexer.ll" +#line 1646 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -4280,9 +4330,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 157: +case 160: YY_RULE_SETUP -#line 1629 "dhcp4_lexer.ll" +#line 1656 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -4293,9 +4343,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 158: +case 161: YY_RULE_SETUP -#line 1639 "dhcp4_lexer.ll" +#line 1666 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -4306,9 +4356,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 159: +case 162: YY_RULE_SETUP -#line 1649 "dhcp4_lexer.ll" +#line 1676 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -4319,9 +4369,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 160: +case 163: YY_RULE_SETUP -#line 1659 "dhcp4_lexer.ll" +#line 1686 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -4332,9 +4382,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 161: +case 164: YY_RULE_SETUP -#line 1669 "dhcp4_lexer.ll" +#line 1696 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -4344,9 +4394,9 @@ YY_RULE_SETUP } } YY_BREAK -case 162: +case 165: YY_RULE_SETUP -#line 1678 "dhcp4_lexer.ll" +#line 1705 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -4356,9 +4406,9 @@ YY_RULE_SETUP } } YY_BREAK -case 163: +case 166: YY_RULE_SETUP -#line 1687 "dhcp4_lexer.ll" +#line 1714 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -4368,9 +4418,9 @@ YY_RULE_SETUP } } YY_BREAK -case 164: +case 167: YY_RULE_SETUP -#line 1696 "dhcp4_lexer.ll" +#line 1723 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4380,9 +4430,9 @@ YY_RULE_SETUP } } YY_BREAK -case 165: +case 168: YY_RULE_SETUP -#line 1705 "dhcp4_lexer.ll" +#line 1732 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4392,9 +4442,9 @@ YY_RULE_SETUP } } YY_BREAK -case 166: +case 169: YY_RULE_SETUP -#line 1714 "dhcp4_lexer.ll" +#line 1741 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4404,9 +4454,9 @@ YY_RULE_SETUP } } YY_BREAK -case 167: +case 170: YY_RULE_SETUP -#line 1723 "dhcp4_lexer.ll" +#line 1750 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4416,9 +4466,9 @@ YY_RULE_SETUP } } YY_BREAK -case 168: +case 171: YY_RULE_SETUP -#line 1732 "dhcp4_lexer.ll" +#line 1759 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4430,9 +4480,9 @@ YY_RULE_SETUP } } YY_BREAK -case 169: +case 172: YY_RULE_SETUP -#line 1743 "dhcp4_lexer.ll" +#line 1770 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4444,9 +4494,9 @@ YY_RULE_SETUP } } YY_BREAK -case 170: +case 173: YY_RULE_SETUP -#line 1754 "dhcp4_lexer.ll" +#line 1781 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4460,9 +4510,9 @@ YY_RULE_SETUP } } YY_BREAK -case 171: +case 174: YY_RULE_SETUP -#line 1767 "dhcp4_lexer.ll" +#line 1794 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4476,9 +4526,9 @@ YY_RULE_SETUP } } YY_BREAK -case 172: +case 175: YY_RULE_SETUP -#line 1780 "dhcp4_lexer.ll" +#line 1807 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4492,9 +4542,9 @@ YY_RULE_SETUP } } YY_BREAK -case 173: +case 176: YY_RULE_SETUP -#line 1795 "dhcp4_lexer.ll" +#line 1822 "dhcp4_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. @@ -4594,65 +4644,65 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 174: -/* rule 174 can match eol */ +case 177: +/* rule 177 can match eol */ YY_RULE_SETUP -#line 1894 "dhcp4_lexer.ll" +#line 1921 "dhcp4_lexer.ll" { /* Bad string with a forbidden control character inside */ driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); } YY_BREAK -case 175: -/* rule 175 can match eol */ +case 178: +/* rule 178 can match eol */ YY_RULE_SETUP -#line 1899 "dhcp4_lexer.ll" +#line 1926 "dhcp4_lexer.ll" { /* Bad string with a bad escape inside */ driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); } YY_BREAK -case 176: +case 179: YY_RULE_SETUP -#line 1904 "dhcp4_lexer.ll" +#line 1931 "dhcp4_lexer.ll" { /* Bad string with an open escape at the end */ driver.error(driver.loc_, "Overflow escape in " + std::string(yytext)); } YY_BREAK -case 177: +case 180: YY_RULE_SETUP -#line 1909 "dhcp4_lexer.ll" +#line 1936 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 178: +case 181: YY_RULE_SETUP -#line 1910 "dhcp4_lexer.ll" +#line 1937 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 179: +case 182: YY_RULE_SETUP -#line 1911 "dhcp4_lexer.ll" +#line 1938 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 180: +case 183: YY_RULE_SETUP -#line 1912 "dhcp4_lexer.ll" +#line 1939 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 181: +case 184: YY_RULE_SETUP -#line 1913 "dhcp4_lexer.ll" +#line 1940 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } YY_BREAK -case 182: +case 185: YY_RULE_SETUP -#line 1914 "dhcp4_lexer.ll" +#line 1941 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } YY_BREAK -case 183: +case 186: YY_RULE_SETUP -#line 1916 "dhcp4_lexer.ll" +#line 1943 "dhcp4_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -4671,9 +4721,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 184: +case 187: YY_RULE_SETUP -#line 1934 "dhcp4_lexer.ll" +#line 1961 "dhcp4_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -4687,43 +4737,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 185: +case 188: YY_RULE_SETUP -#line 1947 "dhcp4_lexer.ll" +#line 1974 "dhcp4_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 186: +case 189: YY_RULE_SETUP -#line 1952 "dhcp4_lexer.ll" +#line 1979 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 187: +case 190: YY_RULE_SETUP -#line 1956 "dhcp4_lexer.ll" +#line 1983 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 188: +case 191: YY_RULE_SETUP -#line 1958 "dhcp4_lexer.ll" +#line 1985 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 189: +case 192: YY_RULE_SETUP -#line 1960 "dhcp4_lexer.ll" +#line 1987 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 190: +case 193: YY_RULE_SETUP -#line 1962 "dhcp4_lexer.ll" +#line 1989 "dhcp4_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 1964 "dhcp4_lexer.ll" +#line 1991 "dhcp4_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp4Parser::make_END(driver.loc_); @@ -4747,12 +4797,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 191: +case 194: YY_RULE_SETUP -#line 1987 "dhcp4_lexer.ll" +#line 2014 "dhcp4_lexer.ll" ECHO; YY_BREAK -#line 4756 "dhcp4_lexer.cc" +#line 4805 "dhcp4_lexer.cc" case YY_END_OF_BUFFER: { @@ -5071,7 +5121,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 >= 1702 ) + if ( yy_current_state >= 1724 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -5104,11 +5154,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 >= 1702 ) + if ( yy_current_state >= 1724 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1701); + yy_is_jam = (yy_current_state == 1723); return yy_is_jam ? 0 : yy_current_state; } @@ -5857,7 +5907,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 1987 "dhcp4_lexer.ll" +#line 2014 "dhcp4_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp4/dhcp4_parser.cc b/src/bin/dhcp4/dhcp4_parser.cc index deac9a70e8..4a94b19a40 100644 --- a/src/bin/dhcp4/dhcp4_parser.cc +++ b/src/bin/dhcp4/dhcp4_parser.cc @@ -248,30 +248,30 @@ namespace isc { namespace dhcp { { switch (that.type_get ()) { - case 201: // value - case 205: // map_value - case 246: // ddns_replace_client_name_value - case 265: // socket_type - case 268: // outbound_interface_value - case 290: // db_type - case 377: // hr_mode - case 524: // ncr_protocol_value + case 204: // value + case 208: // map_value + case 249: // ddns_replace_client_name_value + case 268: // socket_type + case 271: // outbound_interface_value + case 293: // db_type + case 380: // hr_mode + case 535: // ncr_protocol_value value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value)); break; - case 184: // "boolean" + case 187: // "boolean" value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value)); break; - case 183: // "floating point" + case 186: // "floating point" value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value)); break; - case 182: // "integer" + case 185: // "integer" value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value)); break; - case 181: // "constant string" + case 184: // "constant string" value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value)); break; @@ -290,30 +290,30 @@ namespace isc { namespace dhcp { { switch (that.type_get ()) { - case 201: // value - case 205: // map_value - case 246: // ddns_replace_client_name_value - case 265: // socket_type - case 268: // outbound_interface_value - case 290: // db_type - case 377: // hr_mode - case 524: // ncr_protocol_value + case 204: // value + case 208: // map_value + case 249: // ddns_replace_client_name_value + case 268: // socket_type + case 271: // outbound_interface_value + case 293: // db_type + case 380: // hr_mode + case 535: // ncr_protocol_value value.move< ElementPtr > (YY_MOVE (that.value)); break; - case 184: // "boolean" + case 187: // "boolean" value.move< bool > (YY_MOVE (that.value)); break; - case 183: // "floating point" + case 186: // "floating point" value.move< double > (YY_MOVE (that.value)); break; - case 182: // "integer" + case 185: // "integer" value.move< int64_t > (YY_MOVE (that.value)); break; - case 181: // "constant string" + case 184: // "constant string" value.move< std::string > (YY_MOVE (that.value)); break; @@ -332,30 +332,30 @@ namespace isc { namespace dhcp { state = that.state; switch (that.type_get ()) { - case 201: // value - case 205: // map_value - case 246: // ddns_replace_client_name_value - case 265: // socket_type - case 268: // outbound_interface_value - case 290: // db_type - case 377: // hr_mode - case 524: // ncr_protocol_value + case 204: // value + case 208: // map_value + case 249: // ddns_replace_client_name_value + case 268: // socket_type + case 271: // outbound_interface_value + case 293: // db_type + case 380: // hr_mode + case 535: // ncr_protocol_value value.move< ElementPtr > (that.value); break; - case 184: // "boolean" + case 187: // "boolean" value.move< bool > (that.value); break; - case 183: // "floating point" + case 186: // "floating point" value.move< double > (that.value); break; - case 182: // "integer" + case 185: // "integer" value.move< int64_t > (that.value); break; - case 181: // "constant string" + case 184: // "constant string" value.move< std::string > (that.value); break; @@ -398,74 +398,74 @@ namespace isc { namespace dhcp { << yysym.location << ": "; switch (yytype) { - case 181: // "constant string" -#line 263 "dhcp4_parser.yy" + case 184: // "constant string" +#line 266 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } #line 405 "dhcp4_parser.cc" break; - case 182: // "integer" -#line 263 "dhcp4_parser.yy" + case 185: // "integer" +#line 266 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } #line 411 "dhcp4_parser.cc" break; - case 183: // "floating point" -#line 263 "dhcp4_parser.yy" + case 186: // "floating point" +#line 266 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < double > (); } #line 417 "dhcp4_parser.cc" break; - case 184: // "boolean" -#line 263 "dhcp4_parser.yy" + case 187: // "boolean" +#line 266 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < bool > (); } #line 423 "dhcp4_parser.cc" break; - case 201: // value -#line 263 "dhcp4_parser.yy" + case 204: // value +#line 266 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 429 "dhcp4_parser.cc" break; - case 205: // map_value -#line 263 "dhcp4_parser.yy" + case 208: // map_value +#line 266 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 435 "dhcp4_parser.cc" break; - case 246: // ddns_replace_client_name_value -#line 263 "dhcp4_parser.yy" + case 249: // ddns_replace_client_name_value +#line 266 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 441 "dhcp4_parser.cc" break; - case 265: // socket_type -#line 263 "dhcp4_parser.yy" + case 268: // socket_type +#line 266 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 447 "dhcp4_parser.cc" break; - case 268: // outbound_interface_value -#line 263 "dhcp4_parser.yy" + case 271: // outbound_interface_value +#line 266 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 453 "dhcp4_parser.cc" break; - case 290: // db_type -#line 263 "dhcp4_parser.yy" + case 293: // db_type +#line 266 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 459 "dhcp4_parser.cc" break; - case 377: // hr_mode -#line 263 "dhcp4_parser.yy" + case 380: // hr_mode +#line 266 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 465 "dhcp4_parser.cc" break; - case 524: // ncr_protocol_value -#line 263 "dhcp4_parser.yy" + case 535: // ncr_protocol_value +#line 266 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 471 "dhcp4_parser.cc" break; @@ -684,30 +684,30 @@ namespace isc { namespace dhcp { when using variants. */ switch (yyr1_[yyn]) { - case 201: // value - case 205: // map_value - case 246: // ddns_replace_client_name_value - case 265: // socket_type - case 268: // outbound_interface_value - case 290: // db_type - case 377: // hr_mode - case 524: // ncr_protocol_value + case 204: // value + case 208: // map_value + case 249: // ddns_replace_client_name_value + case 268: // socket_type + case 271: // outbound_interface_value + case 293: // db_type + case 380: // hr_mode + case 535: // ncr_protocol_value yylhs.value.emplace< ElementPtr > (); break; - case 184: // "boolean" + case 187: // "boolean" yylhs.value.emplace< bool > (); break; - case 183: // "floating point" + case 186: // "floating point" yylhs.value.emplace< double > (); break; - case 182: // "integer" + case 185: // "integer" yylhs.value.emplace< int64_t > (); break; - case 181: // "constant string" + case 184: // "constant string" yylhs.value.emplace< std::string > (); break; @@ -732,133 +732,133 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: -#line 272 "dhcp4_parser.yy" +#line 275 "dhcp4_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } #line 738 "dhcp4_parser.cc" break; case 4: -#line 273 "dhcp4_parser.yy" +#line 276 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG; } #line 744 "dhcp4_parser.cc" break; case 6: -#line 274 "dhcp4_parser.yy" +#line 277 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 750 "dhcp4_parser.cc" break; case 8: -#line 275 "dhcp4_parser.yy" +#line 278 "dhcp4_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 756 "dhcp4_parser.cc" break; case 10: -#line 276 "dhcp4_parser.yy" +#line 279 "dhcp4_parser.yy" { ctx.ctx_ = ctx.SUBNET4; } #line 762 "dhcp4_parser.cc" break; case 12: -#line 277 "dhcp4_parser.yy" +#line 280 "dhcp4_parser.yy" { ctx.ctx_ = ctx.POOLS; } #line 768 "dhcp4_parser.cc" break; case 14: -#line 278 "dhcp4_parser.yy" +#line 281 "dhcp4_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } #line 774 "dhcp4_parser.cc" break; case 16: -#line 279 "dhcp4_parser.yy" +#line 282 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 780 "dhcp4_parser.cc" break; case 18: -#line 280 "dhcp4_parser.yy" +#line 283 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } #line 786 "dhcp4_parser.cc" break; case 20: -#line 281 "dhcp4_parser.yy" +#line 284 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } #line 792 "dhcp4_parser.cc" break; case 22: -#line 282 "dhcp4_parser.yy" +#line 285 "dhcp4_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 798 "dhcp4_parser.cc" break; case 24: -#line 283 "dhcp4_parser.yy" +#line 286 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } #line 804 "dhcp4_parser.cc" break; case 26: -#line 284 "dhcp4_parser.yy" +#line 287 "dhcp4_parser.yy" { ctx.ctx_ = ctx.LOGGING; } #line 810 "dhcp4_parser.cc" break; case 28: -#line 285 "dhcp4_parser.yy" +#line 288 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 816 "dhcp4_parser.cc" break; case 30: -#line 293 "dhcp4_parser.yy" +#line 296 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 822 "dhcp4_parser.cc" break; case 31: -#line 294 "dhcp4_parser.yy" +#line 297 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } #line 828 "dhcp4_parser.cc" break; case 32: -#line 295 "dhcp4_parser.yy" +#line 298 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } #line 834 "dhcp4_parser.cc" break; case 33: -#line 296 "dhcp4_parser.yy" +#line 299 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 840 "dhcp4_parser.cc" break; case 34: -#line 297 "dhcp4_parser.yy" +#line 300 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 846 "dhcp4_parser.cc" break; case 35: -#line 298 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 852 "dhcp4_parser.cc" break; case 36: -#line 299 "dhcp4_parser.yy" +#line 302 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 858 "dhcp4_parser.cc" break; case 37: -#line 302 "dhcp4_parser.yy" +#line 305 "dhcp4_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); @@ -867,7 +867,7 @@ namespace isc { namespace dhcp { break; case 38: -#line 307 "dhcp4_parser.yy" +#line 310 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -878,7 +878,7 @@ namespace isc { namespace dhcp { break; case 39: -#line 312 "dhcp4_parser.yy" +#line 315 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -888,13 +888,13 @@ namespace isc { namespace dhcp { break; case 40: -#line 318 "dhcp4_parser.yy" +#line 321 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 894 "dhcp4_parser.cc" break; case 43: -#line 325 "dhcp4_parser.yy" +#line 328 "dhcp4_parser.yy" { // map containing a single entry ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); @@ -903,7 +903,7 @@ namespace isc { namespace dhcp { break; case 44: -#line 329 "dhcp4_parser.yy" +#line 332 "dhcp4_parser.yy" { // map consisting of a shorter map followed by // comma and string:value @@ -913,7 +913,7 @@ namespace isc { namespace dhcp { break; case 45: -#line 336 "dhcp4_parser.yy" +#line 339 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -922,7 +922,7 @@ namespace isc { namespace dhcp { break; case 46: -#line 339 "dhcp4_parser.yy" +#line 342 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here } @@ -930,7 +930,7 @@ namespace isc { namespace dhcp { break; case 49: -#line 347 "dhcp4_parser.yy" +#line 350 "dhcp4_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -939,7 +939,7 @@ namespace isc { namespace dhcp { break; case 50: -#line 351 "dhcp4_parser.yy" +#line 354 "dhcp4_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -948,7 +948,7 @@ namespace isc { namespace dhcp { break; case 51: -#line 358 "dhcp4_parser.yy" +#line 361 "dhcp4_parser.yy" { // List parsing about to start } @@ -956,7 +956,7 @@ namespace isc { namespace dhcp { break; case 52: -#line 360 "dhcp4_parser.yy" +#line 363 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -965,7 +965,7 @@ namespace isc { namespace dhcp { break; case 55: -#line 369 "dhcp4_parser.yy" +#line 372 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -974,7 +974,7 @@ namespace isc { namespace dhcp { break; case 56: -#line 373 "dhcp4_parser.yy" +#line 376 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -983,7 +983,7 @@ namespace isc { namespace dhcp { break; case 57: -#line 384 "dhcp4_parser.yy" +#line 387 "dhcp4_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); @@ -994,7 +994,7 @@ namespace isc { namespace dhcp { break; case 58: -#line 394 "dhcp4_parser.yy" +#line 397 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1005,7 +1005,7 @@ namespace isc { namespace dhcp { break; case 59: -#line 399 "dhcp4_parser.yy" +#line 402 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -1018,7 +1018,7 @@ namespace isc { namespace dhcp { break; case 68: -#line 423 "dhcp4_parser.yy" +#line 426 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1031,7 +1031,7 @@ namespace isc { namespace dhcp { break; case 69: -#line 430 "dhcp4_parser.yy" +#line 433 "dhcp4_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); @@ -1041,7 +1041,7 @@ namespace isc { namespace dhcp { break; case 70: -#line 438 "dhcp4_parser.yy" +#line 441 "dhcp4_parser.yy" { // Parse the Dhcp4 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1051,7 +1051,7 @@ namespace isc { namespace dhcp { break; case 71: -#line 442 "dhcp4_parser.yy" +#line 445 "dhcp4_parser.yy" { // No global parameter is required // parsing completed @@ -1060,7 +1060,7 @@ namespace isc { namespace dhcp { break; case 122: -#line 503 "dhcp4_parser.yy" +#line 506 "dhcp4_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("valid-lifetime", prf); @@ -1069,7 +1069,7 @@ namespace isc { namespace dhcp { break; case 123: -#line 508 "dhcp4_parser.yy" +#line 511 "dhcp4_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("min-valid-lifetime", prf); @@ -1078,7 +1078,7 @@ namespace isc { namespace dhcp { break; case 124: -#line 513 "dhcp4_parser.yy" +#line 516 "dhcp4_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-valid-lifetime", prf); @@ -1087,7 +1087,7 @@ namespace isc { namespace dhcp { break; case 125: -#line 518 "dhcp4_parser.yy" +#line 521 "dhcp4_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("renew-timer", prf); @@ -1096,7 +1096,7 @@ namespace isc { namespace dhcp { break; case 126: -#line 523 "dhcp4_parser.yy" +#line 526 "dhcp4_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rebind-timer", prf); @@ -1105,7 +1105,7 @@ namespace isc { namespace dhcp { break; case 127: -#line 528 "dhcp4_parser.yy" +#line 531 "dhcp4_parser.yy" { ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("calculate-tee-times", ctt); @@ -1114,7 +1114,7 @@ namespace isc { namespace dhcp { break; case 128: -#line 533 "dhcp4_parser.yy" +#line 536 "dhcp4_parser.yy" { ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("t1-percent", t1); @@ -1123,7 +1123,7 @@ namespace isc { namespace dhcp { break; case 129: -#line 538 "dhcp4_parser.yy" +#line 541 "dhcp4_parser.yy" { ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("t2-percent", t2); @@ -1132,7 +1132,7 @@ namespace isc { namespace dhcp { break; case 130: -#line 543 "dhcp4_parser.yy" +#line 546 "dhcp4_parser.yy" { ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("decline-probation-period", dpp); @@ -1141,7 +1141,7 @@ namespace isc { namespace dhcp { break; case 131: -#line 548 "dhcp4_parser.yy" +#line 551 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1149,7 +1149,7 @@ namespace isc { namespace dhcp { break; case 132: -#line 550 "dhcp4_parser.yy" +#line 553 "dhcp4_parser.yy" { ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); @@ -1159,7 +1159,7 @@ namespace isc { namespace dhcp { break; case 133: -#line 556 "dhcp4_parser.yy" +#line 559 "dhcp4_parser.yy" { ElementPtr echo(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("echo-client-id", echo); @@ -1168,7 +1168,7 @@ namespace isc { namespace dhcp { break; case 134: -#line 561 "dhcp4_parser.yy" +#line 564 "dhcp4_parser.yy" { ElementPtr match(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("match-client-id", match); @@ -1177,7 +1177,7 @@ namespace isc { namespace dhcp { break; case 135: -#line 566 "dhcp4_parser.yy" +#line 569 "dhcp4_parser.yy" { ElementPtr prf(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("authoritative", prf); @@ -1186,7 +1186,7 @@ namespace isc { namespace dhcp { break; case 136: -#line 571 "dhcp4_parser.yy" +#line 574 "dhcp4_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-send-updates", b); @@ -1195,7 +1195,7 @@ namespace isc { namespace dhcp { break; case 137: -#line 576 "dhcp4_parser.yy" +#line 579 "dhcp4_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-override-no-update", b); @@ -1204,7 +1204,7 @@ namespace isc { namespace dhcp { break; case 138: -#line 581 "dhcp4_parser.yy" +#line 584 "dhcp4_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-override-client-update", b); @@ -1213,7 +1213,7 @@ namespace isc { namespace dhcp { break; case 139: -#line 586 "dhcp4_parser.yy" +#line 589 "dhcp4_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); } @@ -1221,7 +1221,7 @@ namespace isc { namespace dhcp { break; case 140: -#line 588 "dhcp4_parser.yy" +#line 591 "dhcp4_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1230,7 +1230,7 @@ namespace isc { namespace dhcp { break; case 141: -#line 594 "dhcp4_parser.yy" +#line 597 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } @@ -1238,7 +1238,7 @@ namespace isc { namespace dhcp { break; case 142: -#line 597 "dhcp4_parser.yy" +#line 600 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } @@ -1246,7 +1246,7 @@ namespace isc { namespace dhcp { break; case 143: -#line 600 "dhcp4_parser.yy" +#line 603 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } @@ -1254,7 +1254,7 @@ namespace isc { namespace dhcp { break; case 144: -#line 603 "dhcp4_parser.yy" +#line 606 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } @@ -1262,7 +1262,7 @@ namespace isc { namespace dhcp { break; case 145: -#line 606 "dhcp4_parser.yy" +#line 609 "dhcp4_parser.yy" { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); @@ -1271,7 +1271,7 @@ namespace isc { namespace dhcp { break; case 146: -#line 612 "dhcp4_parser.yy" +#line 615 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1279,7 +1279,7 @@ namespace isc { namespace dhcp { break; case 147: -#line 614 "dhcp4_parser.yy" +#line 617 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-generated-prefix", s); @@ -1289,7 +1289,7 @@ namespace isc { namespace dhcp { break; case 148: -#line 620 "dhcp4_parser.yy" +#line 623 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1297,7 +1297,7 @@ namespace isc { namespace dhcp { break; case 149: -#line 622 "dhcp4_parser.yy" +#line 625 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-qualifying-suffix", s); @@ -1307,7 +1307,7 @@ namespace isc { namespace dhcp { break; case 150: -#line 628 "dhcp4_parser.yy" +#line 631 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1315,7 +1315,7 @@ namespace isc { namespace dhcp { break; case 151: -#line 630 "dhcp4_parser.yy" +#line 633 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); @@ -1325,7 +1325,7 @@ namespace isc { namespace dhcp { break; case 152: -#line 636 "dhcp4_parser.yy" +#line 639 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1333,7 +1333,7 @@ namespace isc { namespace dhcp { break; case 153: -#line 638 "dhcp4_parser.yy" +#line 641 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); @@ -1343,7 +1343,7 @@ namespace isc { namespace dhcp { break; case 154: -#line 644 "dhcp4_parser.yy" +#line 647 "dhcp4_parser.yy" { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces-config", i); @@ -1354,7 +1354,7 @@ namespace isc { namespace dhcp { break; case 155: -#line 649 "dhcp4_parser.yy" +#line 652 "dhcp4_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); @@ -1364,7 +1364,7 @@ namespace isc { namespace dhcp { break; case 165: -#line 668 "dhcp4_parser.yy" +#line 671 "dhcp4_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1374,7 +1374,7 @@ namespace isc { namespace dhcp { break; case 166: -#line 672 "dhcp4_parser.yy" +#line 675 "dhcp4_parser.yy" { // No interfaces config param is required // parsing completed @@ -1383,7 +1383,7 @@ namespace isc { namespace dhcp { break; case 167: -#line 677 "dhcp4_parser.yy" +#line 680 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces", l); @@ -1394,7 +1394,7 @@ namespace isc { namespace dhcp { break; case 168: -#line 682 "dhcp4_parser.yy" +#line 685 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1403,7 +1403,7 @@ namespace isc { namespace dhcp { break; case 169: -#line 687 "dhcp4_parser.yy" +#line 690 "dhcp4_parser.yy" { ctx.enter(ctx.DHCP_SOCKET_TYPE); } @@ -1411,7 +1411,7 @@ namespace isc { namespace dhcp { break; case 170: -#line 689 "dhcp4_parser.yy" +#line 692 "dhcp4_parser.yy" { ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1420,19 +1420,19 @@ namespace isc { namespace dhcp { break; case 171: -#line 694 "dhcp4_parser.yy" +#line 697 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); } #line 1426 "dhcp4_parser.cc" break; case 172: -#line 695 "dhcp4_parser.yy" +#line 698 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); } #line 1432 "dhcp4_parser.cc" break; case 173: -#line 698 "dhcp4_parser.yy" +#line 701 "dhcp4_parser.yy" { ctx.enter(ctx.OUTBOUND_INTERFACE); } @@ -1440,7 +1440,7 @@ namespace isc { namespace dhcp { break; case 174: -#line 700 "dhcp4_parser.yy" +#line 703 "dhcp4_parser.yy" { ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1449,7 +1449,7 @@ namespace isc { namespace dhcp { break; case 175: -#line 705 "dhcp4_parser.yy" +#line 708 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location))); } @@ -1457,7 +1457,7 @@ namespace isc { namespace dhcp { break; case 176: -#line 707 "dhcp4_parser.yy" +#line 710 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location))); } @@ -1465,7 +1465,7 @@ namespace isc { namespace dhcp { break; case 177: -#line 711 "dhcp4_parser.yy" +#line 714 "dhcp4_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); @@ -1474,7 +1474,7 @@ namespace isc { namespace dhcp { break; case 178: -#line 717 "dhcp4_parser.yy" +#line 720 "dhcp4_parser.yy" { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lease-database", i); @@ -1485,7 +1485,7 @@ namespace isc { namespace dhcp { break; case 179: -#line 722 "dhcp4_parser.yy" +#line 725 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -1496,7 +1496,7 @@ namespace isc { namespace dhcp { break; case 180: -#line 729 "dhcp4_parser.yy" +#line 732 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sanity-checks", m); @@ -1507,7 +1507,7 @@ namespace isc { namespace dhcp { break; case 181: -#line 734 "dhcp4_parser.yy" +#line 737 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1516,7 +1516,7 @@ namespace isc { namespace dhcp { break; case 185: -#line 744 "dhcp4_parser.yy" +#line 747 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1524,7 +1524,7 @@ namespace isc { namespace dhcp { break; case 186: -#line 746 "dhcp4_parser.yy" +#line 749 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1544,7 +1544,7 @@ namespace isc { namespace dhcp { break; case 187: -#line 762 "dhcp4_parser.yy" +#line 765 "dhcp4_parser.yy" { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hosts-database", i); @@ -1555,7 +1555,7 @@ namespace isc { namespace dhcp { break; case 188: -#line 767 "dhcp4_parser.yy" +#line 770 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -1566,7 +1566,7 @@ namespace isc { namespace dhcp { break; case 189: -#line 774 "dhcp4_parser.yy" +#line 777 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hosts-databases", l); @@ -1577,7 +1577,7 @@ namespace isc { namespace dhcp { break; case 190: -#line 779 "dhcp4_parser.yy" +#line 782 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1586,7 +1586,7 @@ namespace isc { namespace dhcp { break; case 195: -#line 792 "dhcp4_parser.yy" +#line 795 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -1596,7 +1596,7 @@ namespace isc { namespace dhcp { break; case 196: -#line 796 "dhcp4_parser.yy" +#line 799 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -1606,7 +1606,7 @@ namespace isc { namespace dhcp { break; case 220: -#line 829 "dhcp4_parser.yy" +#line 832 "dhcp4_parser.yy" { ctx.enter(ctx.DATABASE_TYPE); } @@ -1614,7 +1614,7 @@ namespace isc { namespace dhcp { break; case 221: -#line 831 "dhcp4_parser.yy" +#line 834 "dhcp4_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1623,31 +1623,31 @@ namespace isc { namespace dhcp { break; case 222: -#line 836 "dhcp4_parser.yy" +#line 839 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } #line 1629 "dhcp4_parser.cc" break; case 223: -#line 837 "dhcp4_parser.yy" +#line 840 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } #line 1635 "dhcp4_parser.cc" break; case 224: -#line 838 "dhcp4_parser.yy" +#line 841 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } #line 1641 "dhcp4_parser.cc" break; case 225: -#line 839 "dhcp4_parser.yy" +#line 842 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } #line 1647 "dhcp4_parser.cc" break; case 226: -#line 842 "dhcp4_parser.yy" +#line 845 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1655,7 +1655,7 @@ namespace isc { namespace dhcp { break; case 227: -#line 844 "dhcp4_parser.yy" +#line 847 "dhcp4_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); @@ -1665,7 +1665,7 @@ namespace isc { namespace dhcp { break; case 228: -#line 850 "dhcp4_parser.yy" +#line 853 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1673,7 +1673,7 @@ namespace isc { namespace dhcp { break; case 229: -#line 852 "dhcp4_parser.yy" +#line 855 "dhcp4_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); @@ -1683,7 +1683,7 @@ namespace isc { namespace dhcp { break; case 230: -#line 858 "dhcp4_parser.yy" +#line 861 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1691,7 +1691,7 @@ namespace isc { namespace dhcp { break; case 231: -#line 860 "dhcp4_parser.yy" +#line 863 "dhcp4_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); @@ -1701,7 +1701,7 @@ namespace isc { namespace dhcp { break; case 232: -#line 866 "dhcp4_parser.yy" +#line 869 "dhcp4_parser.yy" { ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); @@ -1710,7 +1710,7 @@ namespace isc { namespace dhcp { break; case 233: -#line 871 "dhcp4_parser.yy" +#line 874 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1718,7 +1718,7 @@ namespace isc { namespace dhcp { break; case 234: -#line 873 "dhcp4_parser.yy" +#line 876 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); @@ -1728,7 +1728,7 @@ namespace isc { namespace dhcp { break; case 235: -#line 879 "dhcp4_parser.yy" +#line 882 "dhcp4_parser.yy" { ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); @@ -1737,7 +1737,7 @@ namespace isc { namespace dhcp { break; case 236: -#line 884 "dhcp4_parser.yy" +#line 887 "dhcp4_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); @@ -1746,7 +1746,7 @@ namespace isc { namespace dhcp { break; case 237: -#line 889 "dhcp4_parser.yy" +#line 892 "dhcp4_parser.yy" { ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); @@ -1755,7 +1755,7 @@ namespace isc { namespace dhcp { break; case 238: -#line 894 "dhcp4_parser.yy" +#line 897 "dhcp4_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); @@ -1764,7 +1764,7 @@ namespace isc { namespace dhcp { break; case 239: -#line 899 "dhcp4_parser.yy" +#line 902 "dhcp4_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("request-timeout", n); @@ -1773,7 +1773,7 @@ namespace isc { namespace dhcp { break; case 240: -#line 904 "dhcp4_parser.yy" +#line 907 "dhcp4_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-keepalive", n); @@ -1782,7 +1782,7 @@ namespace isc { namespace dhcp { break; case 241: -#line 909 "dhcp4_parser.yy" +#line 912 "dhcp4_parser.yy" { ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-nodelay", n); @@ -1791,7 +1791,7 @@ namespace isc { namespace dhcp { break; case 242: -#line 914 "dhcp4_parser.yy" +#line 917 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1799,7 +1799,7 @@ namespace isc { namespace dhcp { break; case 243: -#line 916 "dhcp4_parser.yy" +#line 919 "dhcp4_parser.yy" { ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("contact-points", cp); @@ -1809,7 +1809,7 @@ namespace isc { namespace dhcp { break; case 244: -#line 922 "dhcp4_parser.yy" +#line 925 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1817,7 +1817,7 @@ namespace isc { namespace dhcp { break; case 245: -#line 924 "dhcp4_parser.yy" +#line 927 "dhcp4_parser.yy" { ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("keyspace", ks); @@ -1827,7 +1827,7 @@ namespace isc { namespace dhcp { break; case 246: -#line 930 "dhcp4_parser.yy" +#line 933 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1835,7 +1835,7 @@ namespace isc { namespace dhcp { break; case 247: -#line 932 "dhcp4_parser.yy" +#line 935 "dhcp4_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("consistency", c); @@ -1845,7 +1845,7 @@ namespace isc { namespace dhcp { break; case 248: -#line 938 "dhcp4_parser.yy" +#line 941 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1853,7 +1853,7 @@ namespace isc { namespace dhcp { break; case 249: -#line 940 "dhcp4_parser.yy" +#line 943 "dhcp4_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("serial-consistency", c); @@ -1863,7 +1863,7 @@ namespace isc { namespace dhcp { break; case 250: -#line 946 "dhcp4_parser.yy" +#line 949 "dhcp4_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); @@ -1872,7 +1872,7 @@ namespace isc { namespace dhcp { break; case 251: -#line 951 "dhcp4_parser.yy" +#line 954 "dhcp4_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); @@ -1881,7 +1881,7 @@ namespace isc { namespace dhcp { break; case 252: -#line 956 "dhcp4_parser.yy" +#line 959 "dhcp4_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-row-errors", n); @@ -1890,7 +1890,7 @@ namespace isc { namespace dhcp { break; case 253: -#line 962 "dhcp4_parser.yy" +#line 965 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host-reservation-identifiers", l); @@ -1901,7 +1901,7 @@ namespace isc { namespace dhcp { break; case 254: -#line 967 "dhcp4_parser.yy" +#line 970 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1910,7 +1910,7 @@ namespace isc { namespace dhcp { break; case 262: -#line 983 "dhcp4_parser.yy" +#line 986 "dhcp4_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); @@ -1919,7 +1919,7 @@ namespace isc { namespace dhcp { break; case 263: -#line 988 "dhcp4_parser.yy" +#line 991 "dhcp4_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); @@ -1928,7 +1928,7 @@ namespace isc { namespace dhcp { break; case 264: -#line 993 "dhcp4_parser.yy" +#line 996 "dhcp4_parser.yy" { ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(circuit); @@ -1937,7 +1937,7 @@ namespace isc { namespace dhcp { break; case 265: -#line 998 "dhcp4_parser.yy" +#line 1001 "dhcp4_parser.yy" { ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(client); @@ -1946,7 +1946,7 @@ namespace isc { namespace dhcp { break; case 266: -#line 1003 "dhcp4_parser.yy" +#line 1006 "dhcp4_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); @@ -1955,7 +1955,7 @@ namespace isc { namespace dhcp { break; case 267: -#line 1008 "dhcp4_parser.yy" +#line 1011 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hooks-libraries", l); @@ -1966,7 +1966,7 @@ namespace isc { namespace dhcp { break; case 268: -#line 1013 "dhcp4_parser.yy" +#line 1016 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1975,7 +1975,7 @@ namespace isc { namespace dhcp { break; case 273: -#line 1026 "dhcp4_parser.yy" +#line 1029 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -1985,7 +1985,7 @@ namespace isc { namespace dhcp { break; case 274: -#line 1030 "dhcp4_parser.yy" +#line 1033 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -1995,7 +1995,7 @@ namespace isc { namespace dhcp { break; case 275: -#line 1036 "dhcp4_parser.yy" +#line 1039 "dhcp4_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2005,7 +2005,7 @@ namespace isc { namespace dhcp { break; case 276: -#line 1040 "dhcp4_parser.yy" +#line 1043 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2015,7 +2015,7 @@ namespace isc { namespace dhcp { break; case 282: -#line 1055 "dhcp4_parser.yy" +#line 1058 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2023,7 +2023,7 @@ namespace isc { namespace dhcp { break; case 283: -#line 1057 "dhcp4_parser.yy" +#line 1060 "dhcp4_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); @@ -2033,7 +2033,7 @@ namespace isc { namespace dhcp { break; case 284: -#line 1063 "dhcp4_parser.yy" +#line 1066 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2041,7 +2041,7 @@ namespace isc { namespace dhcp { break; case 285: -#line 1065 "dhcp4_parser.yy" +#line 1068 "dhcp4_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -2050,7 +2050,7 @@ namespace isc { namespace dhcp { break; case 286: -#line 1071 "dhcp4_parser.yy" +#line 1074 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("expired-leases-processing", m); @@ -2061,7 +2061,7 @@ namespace isc { namespace dhcp { break; case 287: -#line 1076 "dhcp4_parser.yy" +#line 1079 "dhcp4_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); @@ -2071,7 +2071,7 @@ namespace isc { namespace dhcp { break; case 296: -#line 1094 "dhcp4_parser.yy" +#line 1097 "dhcp4_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); @@ -2080,7 +2080,7 @@ namespace isc { namespace dhcp { break; case 297: -#line 1099 "dhcp4_parser.yy" +#line 1102 "dhcp4_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); @@ -2089,7 +2089,7 @@ namespace isc { namespace dhcp { break; case 298: -#line 1104 "dhcp4_parser.yy" +#line 1107 "dhcp4_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); @@ -2098,7 +2098,7 @@ namespace isc { namespace dhcp { break; case 299: -#line 1109 "dhcp4_parser.yy" +#line 1112 "dhcp4_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); @@ -2107,7 +2107,7 @@ namespace isc { namespace dhcp { break; case 300: -#line 1114 "dhcp4_parser.yy" +#line 1117 "dhcp4_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); @@ -2116,7 +2116,7 @@ namespace isc { namespace dhcp { break; case 301: -#line 1119 "dhcp4_parser.yy" +#line 1122 "dhcp4_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); @@ -2125,7 +2125,7 @@ namespace isc { namespace dhcp { break; case 302: -#line 1127 "dhcp4_parser.yy" +#line 1130 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet4", l); @@ -2136,7 +2136,7 @@ namespace isc { namespace dhcp { break; case 303: -#line 1132 "dhcp4_parser.yy" +#line 1135 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2145,7 +2145,7 @@ namespace isc { namespace dhcp { break; case 308: -#line 1152 "dhcp4_parser.yy" +#line 1155 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2155,7 +2155,7 @@ namespace isc { namespace dhcp { break; case 309: -#line 1156 "dhcp4_parser.yy" +#line 1159 "dhcp4_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2181,7 +2181,7 @@ namespace isc { namespace dhcp { break; case 310: -#line 1178 "dhcp4_parser.yy" +#line 1181 "dhcp4_parser.yy" { // Parse the subnet4 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2191,7 +2191,7 @@ namespace isc { namespace dhcp { break; case 311: -#line 1182 "dhcp4_parser.yy" +#line 1185 "dhcp4_parser.yy" { // The subnet subnet4 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2201,7 +2201,7 @@ namespace isc { namespace dhcp { break; case 351: -#line 1233 "dhcp4_parser.yy" +#line 1236 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2209,7 +2209,7 @@ namespace isc { namespace dhcp { break; case 352: -#line 1235 "dhcp4_parser.yy" +#line 1238 "dhcp4_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); @@ -2219,7 +2219,7 @@ namespace isc { namespace dhcp { break; case 353: -#line 1241 "dhcp4_parser.yy" +#line 1244 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2227,7 +2227,7 @@ namespace isc { namespace dhcp { break; case 354: -#line 1243 "dhcp4_parser.yy" +#line 1246 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface", iface); @@ -2237,7 +2237,7 @@ namespace isc { namespace dhcp { break; case 355: -#line 1249 "dhcp4_parser.yy" +#line 1252 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2245,7 +2245,7 @@ namespace isc { namespace dhcp { break; case 356: -#line 1251 "dhcp4_parser.yy" +#line 1254 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface-id", iface); @@ -2255,7 +2255,7 @@ namespace isc { namespace dhcp { break; case 357: -#line 1257 "dhcp4_parser.yy" +#line 1260 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2263,7 +2263,7 @@ namespace isc { namespace dhcp { break; case 358: -#line 1259 "dhcp4_parser.yy" +#line 1262 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-subnet", iface); @@ -2273,7 +2273,7 @@ namespace isc { namespace dhcp { break; case 359: -#line 1265 "dhcp4_parser.yy" +#line 1268 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2281,7 +2281,7 @@ namespace isc { namespace dhcp { break; case 360: -#line 1267 "dhcp4_parser.yy" +#line 1270 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); @@ -2291,7 +2291,7 @@ namespace isc { namespace dhcp { break; case 361: -#line 1273 "dhcp4_parser.yy" +#line 1276 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2299,7 +2299,7 @@ namespace isc { namespace dhcp { break; case 362: -#line 1275 "dhcp4_parser.yy" +#line 1278 "dhcp4_parser.yy" { ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); @@ -2309,7 +2309,7 @@ namespace isc { namespace dhcp { break; case 363: -#line 1281 "dhcp4_parser.yy" +#line 1284 "dhcp4_parser.yy" { ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("require-client-classes", c); @@ -2320,7 +2320,7 @@ namespace isc { namespace dhcp { break; case 364: -#line 1286 "dhcp4_parser.yy" +#line 1289 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2329,7 +2329,7 @@ namespace isc { namespace dhcp { break; case 365: -#line 1291 "dhcp4_parser.yy" +#line 1294 "dhcp4_parser.yy" { ctx.enter(ctx.RESERVATION_MODE); } @@ -2337,7 +2337,7 @@ namespace isc { namespace dhcp { break; case 366: -#line 1293 "dhcp4_parser.yy" +#line 1296 "dhcp4_parser.yy" { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -2346,31 +2346,31 @@ namespace isc { namespace dhcp { break; case 367: -#line 1298 "dhcp4_parser.yy" +#line 1301 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } #line 2352 "dhcp4_parser.cc" break; case 368: -#line 1299 "dhcp4_parser.yy" +#line 1302 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } #line 2358 "dhcp4_parser.cc" break; case 369: -#line 1300 "dhcp4_parser.yy" +#line 1303 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } #line 2364 "dhcp4_parser.cc" break; case 370: -#line 1301 "dhcp4_parser.yy" +#line 1304 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } #line 2370 "dhcp4_parser.cc" break; case 371: -#line 1304 "dhcp4_parser.yy" +#line 1307 "dhcp4_parser.yy" { ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); @@ -2379,7 +2379,7 @@ namespace isc { namespace dhcp { break; case 372: -#line 1311 "dhcp4_parser.yy" +#line 1314 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("shared-networks", l); @@ -2390,7 +2390,7 @@ namespace isc { namespace dhcp { break; case 373: -#line 1316 "dhcp4_parser.yy" +#line 1319 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2399,7 +2399,7 @@ namespace isc { namespace dhcp { break; case 378: -#line 1331 "dhcp4_parser.yy" +#line 1334 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2409,7 +2409,7 @@ namespace isc { namespace dhcp { break; case 379: -#line 1335 "dhcp4_parser.yy" +#line 1338 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } @@ -2417,7 +2417,7 @@ namespace isc { namespace dhcp { break; case 414: -#line 1381 "dhcp4_parser.yy" +#line 1384 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("option-def", l); @@ -2428,7 +2428,7 @@ namespace isc { namespace dhcp { break; case 415: -#line 1386 "dhcp4_parser.yy" +#line 1389 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2437,7 +2437,7 @@ namespace isc { namespace dhcp { break; case 416: -#line 1394 "dhcp4_parser.yy" +#line 1397 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); @@ -2446,7 +2446,7 @@ namespace isc { namespace dhcp { break; case 417: -#line 1397 "dhcp4_parser.yy" +#line 1400 "dhcp4_parser.yy" { // parsing completed } @@ -2454,7 +2454,7 @@ namespace isc { namespace dhcp { break; case 422: -#line 1413 "dhcp4_parser.yy" +#line 1416 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2464,7 +2464,7 @@ namespace isc { namespace dhcp { break; case 423: -#line 1417 "dhcp4_parser.yy" +#line 1420 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2476,7 +2476,7 @@ namespace isc { namespace dhcp { break; case 424: -#line 1428 "dhcp4_parser.yy" +#line 1431 "dhcp4_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2486,7 +2486,7 @@ namespace isc { namespace dhcp { break; case 425: -#line 1432 "dhcp4_parser.yy" +#line 1435 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2498,7 +2498,7 @@ namespace isc { namespace dhcp { break; case 441: -#line 1464 "dhcp4_parser.yy" +#line 1467 "dhcp4_parser.yy" { ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); @@ -2507,7 +2507,7 @@ namespace isc { namespace dhcp { break; case 443: -#line 1471 "dhcp4_parser.yy" +#line 1474 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2515,7 +2515,7 @@ namespace isc { namespace dhcp { break; case 444: -#line 1473 "dhcp4_parser.yy" +#line 1476 "dhcp4_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); @@ -2525,7 +2525,7 @@ namespace isc { namespace dhcp { break; case 445: -#line 1479 "dhcp4_parser.yy" +#line 1482 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2533,7 +2533,7 @@ namespace isc { namespace dhcp { break; case 446: -#line 1481 "dhcp4_parser.yy" +#line 1484 "dhcp4_parser.yy" { ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); @@ -2543,7 +2543,7 @@ namespace isc { namespace dhcp { break; case 447: -#line 1487 "dhcp4_parser.yy" +#line 1490 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2551,7 +2551,7 @@ namespace isc { namespace dhcp { break; case 448: -#line 1489 "dhcp4_parser.yy" +#line 1492 "dhcp4_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); @@ -2561,7 +2561,7 @@ namespace isc { namespace dhcp { break; case 450: -#line 1497 "dhcp4_parser.yy" +#line 1500 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2569,7 +2569,7 @@ namespace isc { namespace dhcp { break; case 451: -#line 1499 "dhcp4_parser.yy" +#line 1502 "dhcp4_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); @@ -2579,7 +2579,7 @@ namespace isc { namespace dhcp { break; case 452: -#line 1505 "dhcp4_parser.yy" +#line 1508 "dhcp4_parser.yy" { ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); @@ -2588,7 +2588,7 @@ namespace isc { namespace dhcp { break; case 453: -#line 1514 "dhcp4_parser.yy" +#line 1517 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("option-data", l); @@ -2599,7 +2599,7 @@ namespace isc { namespace dhcp { break; case 454: -#line 1519 "dhcp4_parser.yy" +#line 1522 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2608,7 +2608,7 @@ namespace isc { namespace dhcp { break; case 459: -#line 1538 "dhcp4_parser.yy" +#line 1541 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2618,7 +2618,7 @@ namespace isc { namespace dhcp { break; case 460: -#line 1542 "dhcp4_parser.yy" +#line 1545 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); @@ -2627,7 +2627,7 @@ namespace isc { namespace dhcp { break; case 461: -#line 1550 "dhcp4_parser.yy" +#line 1553 "dhcp4_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2637,7 +2637,7 @@ namespace isc { namespace dhcp { break; case 462: -#line 1554 "dhcp4_parser.yy" +#line 1557 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed @@ -2646,7 +2646,7 @@ namespace isc { namespace dhcp { break; case 477: -#line 1587 "dhcp4_parser.yy" +#line 1590 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2654,7 +2654,7 @@ namespace isc { namespace dhcp { break; case 478: -#line 1589 "dhcp4_parser.yy" +#line 1592 "dhcp4_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); @@ -2664,7 +2664,7 @@ namespace isc { namespace dhcp { break; case 481: -#line 1599 "dhcp4_parser.yy" +#line 1602 "dhcp4_parser.yy" { ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); @@ -2673,7 +2673,7 @@ namespace isc { namespace dhcp { break; case 482: -#line 1604 "dhcp4_parser.yy" +#line 1607 "dhcp4_parser.yy" { ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); @@ -2682,7 +2682,7 @@ namespace isc { namespace dhcp { break; case 483: -#line 1612 "dhcp4_parser.yy" +#line 1615 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pools", l); @@ -2693,7 +2693,7 @@ namespace isc { namespace dhcp { break; case 484: -#line 1617 "dhcp4_parser.yy" +#line 1620 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2702,7 +2702,7 @@ namespace isc { namespace dhcp { break; case 489: -#line 1632 "dhcp4_parser.yy" +#line 1635 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2712,7 +2712,7 @@ namespace isc { namespace dhcp { break; case 490: -#line 1636 "dhcp4_parser.yy" +#line 1639 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2722,7 +2722,7 @@ namespace isc { namespace dhcp { break; case 491: -#line 1642 "dhcp4_parser.yy" +#line 1645 "dhcp4_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2732,7 +2732,7 @@ namespace isc { namespace dhcp { break; case 492: -#line 1646 "dhcp4_parser.yy" +#line 1649 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2742,7 +2742,7 @@ namespace isc { namespace dhcp { break; case 502: -#line 1665 "dhcp4_parser.yy" +#line 1668 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2750,7 +2750,7 @@ namespace isc { namespace dhcp { break; case 503: -#line 1667 "dhcp4_parser.yy" +#line 1670 "dhcp4_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); @@ -2760,7 +2760,7 @@ namespace isc { namespace dhcp { break; case 504: -#line 1673 "dhcp4_parser.yy" +#line 1676 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2768,7 +2768,7 @@ namespace isc { namespace dhcp { break; case 505: -#line 1675 "dhcp4_parser.yy" +#line 1678 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -2795,7 +2795,7 @@ namespace isc { namespace dhcp { break; case 506: -#line 1698 "dhcp4_parser.yy" +#line 1701 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2803,7 +2803,7 @@ namespace isc { namespace dhcp { break; case 507: -#line 1700 "dhcp4_parser.yy" +#line 1703 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -2832,7 +2832,7 @@ namespace isc { namespace dhcp { break; case 508: -#line 1728 "dhcp4_parser.yy" +#line 1731 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations", l); @@ -2843,7 +2843,7 @@ namespace isc { namespace dhcp { break; case 509: -#line 1733 "dhcp4_parser.yy" +#line 1736 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2852,7 +2852,7 @@ namespace isc { namespace dhcp { break; case 514: -#line 1746 "dhcp4_parser.yy" +#line 1749 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2862,7 +2862,7 @@ namespace isc { namespace dhcp { break; case 515: -#line 1750 "dhcp4_parser.yy" +#line 1753 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); @@ -2871,7 +2871,7 @@ namespace isc { namespace dhcp { break; case 516: -#line 1755 "dhcp4_parser.yy" +#line 1758 "dhcp4_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2881,7 +2881,7 @@ namespace isc { namespace dhcp { break; case 517: -#line 1759 "dhcp4_parser.yy" +#line 1762 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed @@ -2890,7 +2890,7 @@ namespace isc { namespace dhcp { break; case 537: -#line 1790 "dhcp4_parser.yy" +#line 1793 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2898,7 +2898,7 @@ namespace isc { namespace dhcp { break; case 538: -#line 1792 "dhcp4_parser.yy" +#line 1795 "dhcp4_parser.yy" { ElementPtr next_server(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("next-server", next_server); @@ -2908,7 +2908,7 @@ namespace isc { namespace dhcp { break; case 539: -#line 1798 "dhcp4_parser.yy" +#line 1801 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2916,7 +2916,7 @@ namespace isc { namespace dhcp { break; case 540: -#line 1800 "dhcp4_parser.yy" +#line 1803 "dhcp4_parser.yy" { ElementPtr srv(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-hostname", srv); @@ -2926,7 +2926,7 @@ namespace isc { namespace dhcp { break; case 541: -#line 1806 "dhcp4_parser.yy" +#line 1809 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2934,7 +2934,7 @@ namespace isc { namespace dhcp { break; case 542: -#line 1808 "dhcp4_parser.yy" +#line 1811 "dhcp4_parser.yy" { ElementPtr bootfile(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("boot-file-name", bootfile); @@ -2944,7 +2944,7 @@ namespace isc { namespace dhcp { break; case 543: -#line 1814 "dhcp4_parser.yy" +#line 1817 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2952,7 +2952,7 @@ namespace isc { namespace dhcp { break; case 544: -#line 1816 "dhcp4_parser.yy" +#line 1819 "dhcp4_parser.yy" { ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", addr); @@ -2962,7 +2962,7 @@ namespace isc { namespace dhcp { break; case 545: -#line 1822 "dhcp4_parser.yy" +#line 1825 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-addresses", l); @@ -2973,7 +2973,7 @@ namespace isc { namespace dhcp { break; case 546: -#line 1827 "dhcp4_parser.yy" +#line 1830 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2982,7 +2982,7 @@ namespace isc { namespace dhcp { break; case 547: -#line 1832 "dhcp4_parser.yy" +#line 1835 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2990,7 +2990,7 @@ namespace isc { namespace dhcp { break; case 548: -#line 1834 "dhcp4_parser.yy" +#line 1837 "dhcp4_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); @@ -3000,7 +3000,7 @@ namespace isc { namespace dhcp { break; case 549: -#line 1840 "dhcp4_parser.yy" +#line 1843 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3008,7 +3008,7 @@ namespace isc { namespace dhcp { break; case 550: -#line 1842 "dhcp4_parser.yy" +#line 1845 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); @@ -3018,7 +3018,7 @@ namespace isc { namespace dhcp { break; case 551: -#line 1848 "dhcp4_parser.yy" +#line 1851 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3026,7 +3026,7 @@ namespace isc { namespace dhcp { break; case 552: -#line 1850 "dhcp4_parser.yy" +#line 1853 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-id", hw); @@ -3036,7 +3036,7 @@ namespace isc { namespace dhcp { break; case 553: -#line 1856 "dhcp4_parser.yy" +#line 1859 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3044,7 +3044,7 @@ namespace isc { namespace dhcp { break; case 554: -#line 1858 "dhcp4_parser.yy" +#line 1861 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("circuit-id", hw); @@ -3054,7 +3054,7 @@ namespace isc { namespace dhcp { break; case 555: -#line 1864 "dhcp4_parser.yy" +#line 1867 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3062,7 +3062,7 @@ namespace isc { namespace dhcp { break; case 556: -#line 1866 "dhcp4_parser.yy" +#line 1869 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); @@ -3072,7 +3072,7 @@ namespace isc { namespace dhcp { break; case 557: -#line 1872 "dhcp4_parser.yy" +#line 1875 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3080,7 +3080,7 @@ namespace isc { namespace dhcp { break; case 558: -#line 1874 "dhcp4_parser.yy" +#line 1877 "dhcp4_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); @@ -3090,7 +3090,7 @@ namespace isc { namespace dhcp { break; case 559: -#line 1880 "dhcp4_parser.yy" +#line 1883 "dhcp4_parser.yy" { ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-classes", c); @@ -3101,7 +3101,7 @@ namespace isc { namespace dhcp { break; case 560: -#line 1885 "dhcp4_parser.yy" +#line 1888 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3110,7 +3110,7 @@ namespace isc { namespace dhcp { break; case 561: -#line 1893 "dhcp4_parser.yy" +#line 1896 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("relay", m); @@ -3121,7 +3121,7 @@ namespace isc { namespace dhcp { break; case 562: -#line 1898 "dhcp4_parser.yy" +#line 1901 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3130,7 +3130,7 @@ namespace isc { namespace dhcp { break; case 565: -#line 1910 "dhcp4_parser.yy" +#line 1913 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-classes", l); @@ -3141,7 +3141,7 @@ namespace isc { namespace dhcp { break; case 566: -#line 1915 "dhcp4_parser.yy" +#line 1918 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3150,7 +3150,7 @@ namespace isc { namespace dhcp { break; case 569: -#line 1924 "dhcp4_parser.yy" +#line 1927 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -3160,7 +3160,7 @@ namespace isc { namespace dhcp { break; case 570: -#line 1928 "dhcp4_parser.yy" +#line 1931 "dhcp4_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3170,7 +3170,7 @@ namespace isc { namespace dhcp { break; case 587: -#line 1957 "dhcp4_parser.yy" +#line 1960 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3178,7 +3178,7 @@ namespace isc { namespace dhcp { break; case 588: -#line 1959 "dhcp4_parser.yy" +#line 1962 "dhcp4_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); @@ -3188,7 +3188,7 @@ namespace isc { namespace dhcp { break; case 589: -#line 1965 "dhcp4_parser.yy" +#line 1968 "dhcp4_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); @@ -3197,7 +3197,7 @@ namespace isc { namespace dhcp { break; case 590: -#line 1974 "dhcp4_parser.yy" +#line 1977 "dhcp4_parser.yy" { ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); @@ -3206,7 +3206,7 @@ namespace isc { namespace dhcp { break; case 591: -#line 1981 "dhcp4_parser.yy" +#line 1984 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("control-socket", m); @@ -3217,7 +3217,7 @@ namespace isc { namespace dhcp { break; case 592: -#line 1986 "dhcp4_parser.yy" +#line 1989 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3226,7 +3226,7 @@ namespace isc { namespace dhcp { break; case 600: -#line 2002 "dhcp4_parser.yy" +#line 2005 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3234,7 +3234,7 @@ namespace isc { namespace dhcp { break; case 601: -#line 2004 "dhcp4_parser.yy" +#line 2007 "dhcp4_parser.yy" { ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-type", stype); @@ -3244,7 +3244,7 @@ namespace isc { namespace dhcp { break; case 602: -#line 2010 "dhcp4_parser.yy" +#line 2013 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3252,7 +3252,7 @@ namespace isc { namespace dhcp { break; case 603: -#line 2012 "dhcp4_parser.yy" +#line 2015 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); @@ -3262,645 +3262,674 @@ namespace isc { namespace dhcp { break; case 604: -#line 2021 "dhcp4_parser.yy" +#line 2024 "dhcp4_parser.yy" { - ctx.enter(ctx.NO_KEYWORD); + ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("dhcp-queue-control", qc); + ctx.stack_.push_back(qc); + ctx.enter(ctx.DHCP_QUEUE_CONTROL); } -#line 3270 "dhcp4_parser.cc" +#line 3273 "dhcp4_parser.cc" break; case 605: -#line 2023 "dhcp4_parser.yy" +#line 2029 "dhcp4_parser.yy" { - ElementPtr qc = yystack_[0].value.as < ElementPtr > (); - ctx.stack_.back()->set("dhcp-queue-control", qc); + // The enable queue parameter is required. + ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); + ctx.stack_.pop_back(); + ctx.leave(); +} +#line 3284 "dhcp4_parser.cc" + break; - // Doing this manually, because dhcp-queue-control - // content is otherwise arbitrary - if (!qc->contains("enable-queue")) { - std::stringstream msg; - msg << "'enable-queue' is required: "; - msg << "(" << qc->getPosition().str() << ")"; - error(yystack_[3].location, msg.str()); - } + case 614: +#line 2048 "dhcp4_parser.yy" + { + ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("enable-queue", b); +} +#line 3293 "dhcp4_parser.cc" + break; - ConstElementPtr enable_queue = qc->get("enable-queue"); - if (enable_queue->getType() != Element::boolean) { - std::stringstream msg; - msg << "'enable-queue' must be boolean: "; - msg << "(" << qc->getPosition().str() << ")"; - error(yystack_[3].location, msg.str()); - } + case 615: +#line 2053 "dhcp4_parser.yy" + { + ctx.enter(ctx.NO_KEYWORD); +} +#line 3301 "dhcp4_parser.cc" + break; - if (qc->contains("queue-type")) { - ConstElementPtr queue_type = qc->get("queue-type"); - if (queue_type->getType() != Element::string) { - std::stringstream msg; - msg << "'queue-type' must be a string: "; - msg << "(" << qc->getPosition().str() << ")"; - error(yystack_[3].location, msg.str()); - } - } + case 616: +#line 2055 "dhcp4_parser.yy" + { + ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("queue-type", qt); + ctx.leave(); +} +#line 3311 "dhcp4_parser.cc" + break; + case 617: +#line 2061 "dhcp4_parser.yy" + { + ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("capacity", c); +} +#line 3320 "dhcp4_parser.cc" + break; + + case 618: +#line 2066 "dhcp4_parser.yy" + { + ctx.enter(ctx.NO_KEYWORD); +} +#line 3328 "dhcp4_parser.cc" + break; + + case 619: +#line 2068 "dhcp4_parser.yy" + { + ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3308 "dhcp4_parser.cc" +#line 3337 "dhcp4_parser.cc" break; - case 606: -#line 2059 "dhcp4_parser.yy" + case 620: +#line 2075 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp-ddns", m); ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 3319 "dhcp4_parser.cc" +#line 3348 "dhcp4_parser.cc" break; - case 607: -#line 2064 "dhcp4_parser.yy" + case 621: +#line 2080 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3330 "dhcp4_parser.cc" +#line 3359 "dhcp4_parser.cc" break; - case 608: -#line 2071 "dhcp4_parser.yy" + case 622: +#line 2087 "dhcp4_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3340 "dhcp4_parser.cc" +#line 3369 "dhcp4_parser.cc" break; - case 609: -#line 2075 "dhcp4_parser.yy" + case 623: +#line 2091 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3350 "dhcp4_parser.cc" +#line 3379 "dhcp4_parser.cc" break; - case 630: -#line 2105 "dhcp4_parser.yy" + case 644: +#line 2121 "dhcp4_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 3359 "dhcp4_parser.cc" +#line 3388 "dhcp4_parser.cc" break; - case 631: -#line 2110 "dhcp4_parser.yy" + case 645: +#line 2126 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3367 "dhcp4_parser.cc" +#line 3396 "dhcp4_parser.cc" break; - case 632: -#line 2112 "dhcp4_parser.yy" + case 646: +#line 2128 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 3377 "dhcp4_parser.cc" +#line 3406 "dhcp4_parser.cc" break; - case 633: -#line 2118 "dhcp4_parser.yy" + case 647: +#line 2134 "dhcp4_parser.yy" { ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 3386 "dhcp4_parser.cc" +#line 3415 "dhcp4_parser.cc" break; - case 634: -#line 2123 "dhcp4_parser.yy" + case 648: +#line 2139 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3394 "dhcp4_parser.cc" +#line 3423 "dhcp4_parser.cc" break; - case 635: -#line 2125 "dhcp4_parser.yy" + case 649: +#line 2141 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 3404 "dhcp4_parser.cc" +#line 3433 "dhcp4_parser.cc" break; - case 636: -#line 2131 "dhcp4_parser.yy" + case 650: +#line 2147 "dhcp4_parser.yy" { ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 3413 "dhcp4_parser.cc" +#line 3442 "dhcp4_parser.cc" break; - case 637: -#line 2136 "dhcp4_parser.yy" + case 651: +#line 2152 "dhcp4_parser.yy" { ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 3422 "dhcp4_parser.cc" +#line 3451 "dhcp4_parser.cc" break; - case 638: -#line 2141 "dhcp4_parser.yy" + case 652: +#line 2157 "dhcp4_parser.yy" { ctx.enter(ctx.NCR_PROTOCOL); } -#line 3430 "dhcp4_parser.cc" +#line 3459 "dhcp4_parser.cc" break; - case 639: -#line 2143 "dhcp4_parser.yy" + case 653: +#line 2159 "dhcp4_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3439 "dhcp4_parser.cc" +#line 3468 "dhcp4_parser.cc" break; - case 640: -#line 2149 "dhcp4_parser.yy" + case 654: +#line 2165 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 3445 "dhcp4_parser.cc" +#line 3474 "dhcp4_parser.cc" break; - case 641: -#line 2150 "dhcp4_parser.yy" + case 655: +#line 2166 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 3451 "dhcp4_parser.cc" +#line 3480 "dhcp4_parser.cc" break; - case 642: -#line 2153 "dhcp4_parser.yy" + case 656: +#line 2169 "dhcp4_parser.yy" { ctx.enter(ctx.NCR_FORMAT); } -#line 3459 "dhcp4_parser.cc" +#line 3488 "dhcp4_parser.cc" break; - case 643: -#line 2155 "dhcp4_parser.yy" + case 657: +#line 2171 "dhcp4_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 3469 "dhcp4_parser.cc" +#line 3498 "dhcp4_parser.cc" break; - case 644: -#line 2162 "dhcp4_parser.yy" + case 658: +#line 2178 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3477 "dhcp4_parser.cc" +#line 3506 "dhcp4_parser.cc" break; - case 645: -#line 2164 "dhcp4_parser.yy" + case 659: +#line 2180 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("qualifying-suffix", s); ctx.leave(); } -#line 3487 "dhcp4_parser.cc" +#line 3516 "dhcp4_parser.cc" break; - case 646: -#line 2171 "dhcp4_parser.yy" + case 660: +#line 2187 "dhcp4_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-no-update", b); } -#line 3496 "dhcp4_parser.cc" +#line 3525 "dhcp4_parser.cc" break; - case 647: -#line 2177 "dhcp4_parser.yy" + case 661: +#line 2193 "dhcp4_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-client-update", b); } -#line 3505 "dhcp4_parser.cc" +#line 3534 "dhcp4_parser.cc" break; - case 648: -#line 2183 "dhcp4_parser.yy" + case 662: +#line 2199 "dhcp4_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); } -#line 3513 "dhcp4_parser.cc" +#line 3542 "dhcp4_parser.cc" break; - case 649: -#line 2185 "dhcp4_parser.yy" + case 663: +#line 2201 "dhcp4_parser.yy" { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3522 "dhcp4_parser.cc" +#line 3551 "dhcp4_parser.cc" break; - case 650: -#line 2191 "dhcp4_parser.yy" + case 664: +#line 2207 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3530 "dhcp4_parser.cc" +#line 3559 "dhcp4_parser.cc" break; - case 651: -#line 2193 "dhcp4_parser.yy" + case 665: +#line 2209 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("generated-prefix", s); ctx.leave(); } -#line 3540 "dhcp4_parser.cc" +#line 3569 "dhcp4_parser.cc" break; - case 652: -#line 2200 "dhcp4_parser.yy" + case 666: +#line 2216 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3548 "dhcp4_parser.cc" +#line 3577 "dhcp4_parser.cc" break; - case 653: -#line 2202 "dhcp4_parser.yy" + case 667: +#line 2218 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); ctx.leave(); } -#line 3558 "dhcp4_parser.cc" +#line 3587 "dhcp4_parser.cc" break; - case 654: -#line 2209 "dhcp4_parser.yy" + case 668: +#line 2225 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3566 "dhcp4_parser.cc" +#line 3595 "dhcp4_parser.cc" break; - case 655: -#line 2211 "dhcp4_parser.yy" + case 669: +#line 2227 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); ctx.leave(); } -#line 3576 "dhcp4_parser.cc" +#line 3605 "dhcp4_parser.cc" break; - case 656: -#line 2220 "dhcp4_parser.yy" + case 670: +#line 2236 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3584 "dhcp4_parser.cc" +#line 3613 "dhcp4_parser.cc" break; - case 657: -#line 2222 "dhcp4_parser.yy" + case 671: +#line 2238 "dhcp4_parser.yy" { ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3593 "dhcp4_parser.cc" +#line 3622 "dhcp4_parser.cc" break; - case 658: -#line 2227 "dhcp4_parser.yy" + case 672: +#line 2243 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3601 "dhcp4_parser.cc" +#line 3630 "dhcp4_parser.cc" break; - case 659: -#line 2229 "dhcp4_parser.yy" + case 673: +#line 2245 "dhcp4_parser.yy" { ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3610 "dhcp4_parser.cc" +#line 3639 "dhcp4_parser.cc" break; - case 660: -#line 2234 "dhcp4_parser.yy" + case 674: +#line 2250 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3618 "dhcp4_parser.cc" +#line 3647 "dhcp4_parser.cc" break; - case 661: -#line 2236 "dhcp4_parser.yy" + case 675: +#line 2252 "dhcp4_parser.yy" { ctx.stack_.back()->set("Control-agent", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3627 "dhcp4_parser.cc" +#line 3656 "dhcp4_parser.cc" break; - case 662: -#line 2241 "dhcp4_parser.yy" + case 676: +#line 2257 "dhcp4_parser.yy" { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-control", i); ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 3638 "dhcp4_parser.cc" +#line 3667 "dhcp4_parser.cc" break; - case 663: -#line 2246 "dhcp4_parser.yy" + case 677: +#line 2262 "dhcp4_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 3648 "dhcp4_parser.cc" +#line 3677 "dhcp4_parser.cc" break; - case 664: -#line 2252 "dhcp4_parser.yy" + case 678: +#line 2268 "dhcp4_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3658 "dhcp4_parser.cc" +#line 3687 "dhcp4_parser.cc" break; - case 665: -#line 2256 "dhcp4_parser.yy" + case 679: +#line 2272 "dhcp4_parser.yy" { // No config_control params are required // parsing completed } -#line 3667 "dhcp4_parser.cc" +#line 3696 "dhcp4_parser.cc" break; - case 670: -#line 2271 "dhcp4_parser.yy" + case 684: +#line 2287 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-databases", l); ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 3678 "dhcp4_parser.cc" +#line 3707 "dhcp4_parser.cc" break; - case 671: -#line 2276 "dhcp4_parser.yy" + case 685: +#line 2292 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3687 "dhcp4_parser.cc" +#line 3716 "dhcp4_parser.cc" break; - case 672: -#line 2281 "dhcp4_parser.yy" + case 686: +#line 2297 "dhcp4_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-fetch-wait-time", value); } -#line 3696 "dhcp4_parser.cc" +#line 3725 "dhcp4_parser.cc" break; - case 673: -#line 2291 "dhcp4_parser.yy" + case 687: +#line 2307 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("Logging", m); ctx.stack_.push_back(m); ctx.enter(ctx.LOGGING); } -#line 3707 "dhcp4_parser.cc" +#line 3736 "dhcp4_parser.cc" break; - case 674: -#line 2296 "dhcp4_parser.yy" + case 688: +#line 2312 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3716 "dhcp4_parser.cc" +#line 3745 "dhcp4_parser.cc" break; - case 675: -#line 2301 "dhcp4_parser.yy" + case 689: +#line 2317 "dhcp4_parser.yy" { // Parse the Logging map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3726 "dhcp4_parser.cc" +#line 3755 "dhcp4_parser.cc" break; - case 676: -#line 2305 "dhcp4_parser.yy" + case 690: +#line 2321 "dhcp4_parser.yy" { // parsing completed } -#line 3734 "dhcp4_parser.cc" +#line 3763 "dhcp4_parser.cc" break; - case 680: -#line 2321 "dhcp4_parser.yy" + case 694: +#line 2337 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("loggers", l); ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 3745 "dhcp4_parser.cc" +#line 3774 "dhcp4_parser.cc" break; - case 681: -#line 2326 "dhcp4_parser.yy" + case 695: +#line 2342 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3754 "dhcp4_parser.cc" +#line 3783 "dhcp4_parser.cc" break; - case 684: -#line 2338 "dhcp4_parser.yy" + case 698: +#line 2354 "dhcp4_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 3764 "dhcp4_parser.cc" +#line 3793 "dhcp4_parser.cc" break; - case 685: -#line 2342 "dhcp4_parser.yy" + case 699: +#line 2358 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 3772 "dhcp4_parser.cc" +#line 3801 "dhcp4_parser.cc" break; - case 695: -#line 2359 "dhcp4_parser.yy" + case 709: +#line 2375 "dhcp4_parser.yy" { ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 3781 "dhcp4_parser.cc" +#line 3810 "dhcp4_parser.cc" break; - case 696: -#line 2364 "dhcp4_parser.yy" + case 710: +#line 2380 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3789 "dhcp4_parser.cc" +#line 3818 "dhcp4_parser.cc" break; - case 697: -#line 2366 "dhcp4_parser.yy" + case 711: +#line 2382 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 3799 "dhcp4_parser.cc" +#line 3828 "dhcp4_parser.cc" break; - case 698: -#line 2372 "dhcp4_parser.yy" + case 712: +#line 2388 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output_options", l); ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 3810 "dhcp4_parser.cc" +#line 3839 "dhcp4_parser.cc" break; - case 699: -#line 2377 "dhcp4_parser.yy" + case 713: +#line 2393 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3819 "dhcp4_parser.cc" +#line 3848 "dhcp4_parser.cc" break; - case 702: -#line 2386 "dhcp4_parser.yy" + case 716: +#line 2402 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3829 "dhcp4_parser.cc" +#line 3858 "dhcp4_parser.cc" break; - case 703: -#line 2390 "dhcp4_parser.yy" + case 717: +#line 2406 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 3837 "dhcp4_parser.cc" +#line 3866 "dhcp4_parser.cc" break; - case 711: -#line 2405 "dhcp4_parser.yy" + case 725: +#line 2421 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3845 "dhcp4_parser.cc" +#line 3874 "dhcp4_parser.cc" break; - case 712: -#line 2407 "dhcp4_parser.yy" + case 726: +#line 2423 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 3855 "dhcp4_parser.cc" +#line 3884 "dhcp4_parser.cc" break; - case 713: -#line 2413 "dhcp4_parser.yy" + case 727: +#line 2429 "dhcp4_parser.yy" { ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 3864 "dhcp4_parser.cc" +#line 3893 "dhcp4_parser.cc" break; - case 714: -#line 2418 "dhcp4_parser.yy" + case 728: +#line 2434 "dhcp4_parser.yy" { ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 3873 "dhcp4_parser.cc" +#line 3902 "dhcp4_parser.cc" break; - case 715: -#line 2423 "dhcp4_parser.yy" + case 729: +#line 2439 "dhcp4_parser.yy" { ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 3882 "dhcp4_parser.cc" +#line 3911 "dhcp4_parser.cc" break; - case 716: -#line 2428 "dhcp4_parser.yy" + case 730: +#line 2444 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3890 "dhcp4_parser.cc" +#line 3919 "dhcp4_parser.cc" break; - case 717: -#line 2430 "dhcp4_parser.yy" + case 731: +#line 2446 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pattern", sev); ctx.leave(); } -#line 3900 "dhcp4_parser.cc" +#line 3929 "dhcp4_parser.cc" break; -#line 3904 "dhcp4_parser.cc" +#line 3933 "dhcp4_parser.cc" default: break; @@ -4171,128 +4200,131 @@ namespace isc { namespace dhcp { } - const short Dhcp4Parser::yypact_ninf_ = -896; + const short Dhcp4Parser::yypact_ninf_ = -900; const signed char Dhcp4Parser::yytable_ninf_ = -1; const short Dhcp4Parser::yypact_[] = { - 479, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, 50, 22, 52, 70, 75, - 81, 96, 106, 110, 132, 138, 153, 219, 226, 255, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, 22, -149, - 20, 150, 59, 266, 66, 207, -39, 448, 528, -71, - 546, -111, 125, -896, 60, 67, 76, 162, 188, -896, - -896, -896, -896, -896, 198, -896, 48, -896, -896, -896, - -896, -896, -896, -896, -896, -896, 265, 293, 296, -896, - -896, -896, -896, -896, -896, 300, 310, 317, 335, 339, - 352, 385, 386, 387, -896, 388, 389, 390, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, 391, -896, -896, -896, -896, -896, -896, - -896, 92, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, 392, -896, 99, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, 393, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, 163, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, 184, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, 251, 343, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, 356, -896, - -896, 394, -896, -896, -896, 396, -896, -896, 359, 372, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, 397, 399, -896, -896, -896, -896, 370, - 401, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, 221, -896, -896, -896, 402, -896, -896, - 403, -896, 404, 406, -896, -896, 407, 408, -896, -896, - -896, -896, -896, -896, -896, 222, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, 231, -896, -896, -896, 410, 240, -896, -896, - -896, -896, 22, 22, -896, 235, 417, 418, 420, 421, - 423, -896, 20, -896, 426, 429, 431, 254, 256, 258, - 432, 435, 440, 446, 449, 450, 273, 274, 277, 278, - 287, 286, 275, 288, 292, 468, 301, 307, 308, 472, - 473, 480, 491, 495, 499, 502, 506, 507, 510, 511, - 513, 519, 520, 521, 314, 522, 524, 527, 532, 533, - 534, 150, -896, 537, 538, 539, 361, 59, -896, 540, - 542, 543, 544, 553, 554, 350, 562, 563, 564, 266, - -896, 565, 66, -896, 568, 569, 570, 571, 573, 576, - 577, 581, -896, 207, -896, 583, 585, 409, 586, 588, - 589, 412, -896, 448, 590, 413, 415, -896, 528, 598, - 599, 34, -896, 430, 600, 601, 433, 609, 439, 441, - 613, 618, 442, 443, 620, 621, 624, 626, 546, -896, - -111, -896, 627, 451, 125, -896, -896, -896, 631, 632, - 633, 22, 22, 22, -896, 634, 635, 636, -896, -896, - -896, 481, 482, 483, 653, 654, 660, -896, -896, -896, - -896, -896, -896, -896, -896, -896, 486, -896, -896, -896, - -87, 488, 489, 666, 667, 669, 670, 671, 496, 191, - 687, 688, 689, 690, 693, -896, 694, 671, 695, 515, - 516, 698, -896, 699, 145, 290, -896, -896, 525, 526, - 529, 700, 530, 531, -896, 699, 535, 701, -896, 536, - -896, 699, 541, 545, 547, 548, 549, 550, 551, -896, - 552, 555, -896, 556, 557, 558, -896, -896, 559, -896, - -896, -896, 560, 22, -896, -896, 561, 566, -896, 567, - -896, -896, 19, 572, -896, -896, -87, 574, 575, 578, - -896, -896, 708, -896, -896, 22, 150, -111, -896, -896, - -896, 125, 59, 652, -896, -896, -896, 80, 80, 707, - -896, -896, -896, -896, -896, -896, -896, -896, -896, 711, - 713, 714, 716, -896, -896, -896, -896, -896, -896, -896, - -896, 155, 717, 718, 727, 74, 102, -896, 546, -896, - -896, 728, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, 736, -896, -896, -896, -896, 157, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, 707, -896, 242, - 246, 250, 252, -896, 268, -896, -896, -896, -896, -896, - -896, 740, 741, 742, 745, 746, -896, -896, -896, -896, - 747, 748, 749, 750, 753, 754, -896, 272, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, 276, - -896, 709, 757, -896, -896, 755, 759, -896, -896, 758, - 760, -896, -896, 761, 762, -896, -896, 763, 765, -896, - -896, -896, -896, -896, -896, 37, -896, -896, -896, -896, - -896, -896, -896, 73, -896, -896, 764, 768, -896, -896, - 766, 770, -896, 771, 772, 773, 774, 775, 776, 298, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, 304, -896, -896, -896, 305, -896, 83, -896, - 593, -896, 777, 778, -896, -896, -896, -896, 779, 780, - -896, -896, -896, -896, 781, 652, -896, 784, 785, 786, - 787, 584, 608, 602, 610, 611, 791, 792, 793, 794, - 617, 619, 622, 623, 616, 625, 80, -896, -896, 80, - -896, 707, 266, -896, 711, 448, -896, 713, 528, -896, - 714, 492, -896, 716, 155, -896, 63, 717, -896, 207, - -896, 718, -71, -896, 727, 628, 629, 630, 637, 638, - 639, 74, -896, 798, 799, 102, -896, -896, 195, 728, - -896, -896, 800, 805, 66, -896, 736, 809, -896, -896, - 641, -896, 348, 642, 643, 644, -896, -896, -896, -896, - -896, 645, 646, 647, 648, -896, -896, -896, -896, -896, - -896, -896, 342, -896, 344, -896, 801, -896, 806, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, 360, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, 811, -896, -896, - -896, -896, -896, -896, -896, -896, -896, 808, 814, -896, - -896, -896, -896, -896, 810, -896, 362, -896, -896, -896, - -896, -896, -896, -896, -896, 649, 650, -896, -896, 829, - -896, -896, -896, -896, -896, 363, -896, -896, -896, -896, - -896, -896, 656, 371, -896, 699, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, 492, -896, 830, 655, -896, 63, -896, - -896, -896, -896, 836, 661, 841, 195, -896, -896, -896, - -896, -896, 673, -896, -896, 842, -896, 674, -896, -896, - 851, -896, -896, 93, -896, -14, 851, -896, -896, 856, - 857, 859, -896, 374, -896, -896, -896, -896, -896, -896, - -896, 862, 686, 691, 702, 873, -14, -896, 712, -896, - -896, -896, 724, -896, -896, -896 + 385, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, 56, 28, 27, 29, 62, + 67, 79, 81, 83, 126, 133, 139, 194, 199, 236, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, 28, -142, + 20, 167, 25, 580, -8, 237, -27, 66, 198, -54, + 217, -99, 100, -900, 57, 77, 110, 166, 147, -900, + -900, -900, -900, -900, 245, -900, 40, -900, -900, -900, + -900, -900, -900, -900, -900, -900, 256, 266, 269, -900, + -900, -900, -900, -900, -900, 281, 299, 306, 316, 320, + 332, 333, 340, 362, -900, 363, 364, 367, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, 374, -900, -900, -900, -900, -900, -900, + -900, 43, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, 375, -900, 68, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, 376, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, 93, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, 131, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, 254, 290, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, 264, -900, + -900, 379, -900, -900, -900, 380, -900, -900, 309, 324, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, 381, 382, -900, -900, -900, -900, 326, + 386, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, 141, -900, -900, -900, 384, -900, -900, + 387, -900, 388, 389, -900, -900, 390, 391, -900, -900, + -900, -900, -900, -900, -900, 158, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, 159, -900, -900, -900, 392, 172, -900, -900, + -900, -900, 28, 28, -900, 206, 393, 394, 399, 400, + 401, -900, 20, -900, 402, 404, 405, 223, 224, 227, + 412, 413, 414, 415, 416, 420, 242, 246, 248, 250, + 253, 252, 244, 257, 255, 438, 259, 260, 263, 440, + 447, 449, 451, 452, 453, 454, 456, 460, 462, 463, + 466, 467, 468, 470, 292, 475, 476, 478, 480, 482, + 484, 167, -900, 486, 487, 488, 307, 25, -900, 492, + 493, 497, 509, 510, 511, 317, 512, 516, 519, 580, + -900, 520, -8, -900, 521, 523, 524, 525, 526, 527, + 529, 530, -900, 237, -900, 531, 532, 395, 565, 566, + 567, 396, -900, 66, 569, 397, 398, -900, 198, 570, + 571, -13, -900, 403, 574, 575, 406, 577, 407, 408, + 582, 583, 409, 410, 584, 585, 590, 594, 217, -900, + -99, -900, 595, 417, 100, -900, -900, -900, 597, 596, + 598, 28, 28, 28, -900, 604, 605, 606, -900, -900, + -900, 430, 431, 433, 612, 613, 599, -900, -900, -900, + -900, -900, -900, -900, -900, -900, 437, -900, -900, -900, + -16, 439, 441, 619, 621, 622, 623, 626, 450, 243, + 630, 631, 640, 641, 646, -900, 650, 652, 653, 477, + 479, 657, -900, 659, 142, 152, -900, -900, 481, 500, + 501, 665, 504, 505, -900, 659, 506, 684, -900, 508, + -900, 659, 513, 514, 515, 517, 518, 522, 533, -900, + 541, 542, -900, 543, 544, 547, -900, -900, 548, -900, + -900, -900, 549, 28, -900, -900, 550, 553, -900, 554, + -900, -900, 14, 545, -900, -900, -16, 555, 556, 557, + -900, -900, 688, -900, -900, 28, 167, -99, -900, -900, + -900, 100, 25, 672, -900, -900, -900, 498, 498, 693, + -900, -900, -900, -900, -900, -900, -900, -900, -900, 696, + 697, 698, 700, -900, -900, -900, -900, -900, -900, -900, + -900, 143, 709, 737, 739, 95, 73, -14, 217, -900, + -900, 741, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, 742, -900, -900, -900, -900, 107, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, 693, -900, 183, + 238, 239, 268, -900, 280, -900, -900, -900, -900, -900, + -900, 746, 747, 748, 749, 751, -900, -900, -900, -900, + 752, 754, 755, 756, 757, 758, -900, 283, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, 289, + -900, 760, 764, -900, -900, 762, 766, -900, -900, 765, + 767, -900, -900, 768, 769, -900, -900, 770, 772, -900, + -900, -900, -900, -900, -900, 96, -900, -900, -900, -900, + -900, -900, -900, 121, -900, -900, 771, 775, -900, -900, + 773, 777, -900, 759, 778, 779, 780, 781, 782, 293, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, 296, -900, -900, -900, 783, -900, 784, -900, + -900, -900, 297, -900, -900, -900, -900, -900, 303, -900, + 202, -900, 589, -900, 785, 786, -900, -900, -900, -900, + 787, 788, -900, -900, -900, -900, 789, 672, -900, 792, + 793, 794, 795, 607, 603, 615, 614, 617, 799, 800, + 801, 804, 624, 625, 627, 628, 629, 632, 498, -900, + -900, 498, -900, 693, 580, -900, 696, 66, -900, 697, + 198, -900, 698, 651, -900, 700, 143, -900, 64, 709, + -900, 237, -900, 737, -54, -900, 739, 633, 634, 635, + 636, 637, 638, 95, -900, 807, 810, 73, -900, 639, + 811, 642, 820, -14, -900, -900, -30, 741, -900, -900, + 819, 825, -8, -900, 742, 826, -900, -900, 645, -900, + 339, 647, 648, 649, -900, -900, -900, -900, -900, 654, + 655, 656, 658, -900, -900, -900, -900, -900, -900, -900, + 304, -900, 310, -900, 828, -900, 829, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, 311, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, 830, -900, -900, -900, -900, + -900, -900, -900, -900, -900, 833, 840, -900, -900, -900, + -900, -900, 837, -900, 313, -900, -900, -900, -900, -900, + -900, -900, -900, 662, 664, -900, -900, 667, -900, 28, + -900, -900, 845, -900, -900, -900, -900, -900, 323, -900, + -900, -900, -900, -900, -900, 671, 327, -900, 659, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, 651, -900, 855, 675, + -900, 64, -900, -900, -900, -900, -900, -900, 864, 687, + 865, -30, -900, -900, -900, -900, -900, 689, -900, -900, + 776, -900, 691, -900, -900, 875, -900, -900, 258, -900, + 19, 875, -900, -900, 879, 881, 883, -900, 330, -900, + -900, -900, -900, -900, -900, -900, 884, 704, 708, 710, + 894, 19, -900, 717, -900, -900, -900, 718, -900, -900, + -900 }; const unsigned short @@ -4304,15 +4336,15 @@ namespace isc { namespace dhcp { 1, 45, 38, 34, 33, 30, 31, 32, 37, 3, 35, 36, 58, 5, 70, 7, 165, 9, 310, 11, 491, 13, 516, 15, 416, 17, 424, 19, 461, 21, - 275, 23, 608, 25, 675, 27, 664, 29, 47, 41, + 275, 23, 622, 25, 689, 27, 678, 29, 47, 41, 0, 0, 0, 0, 0, 518, 0, 426, 463, 0, 0, 0, 0, 49, 0, 48, 0, 0, 42, 68, - 673, 656, 658, 660, 0, 67, 0, 60, 62, 64, - 65, 66, 63, 662, 154, 180, 0, 0, 0, 537, + 687, 670, 672, 674, 0, 67, 0, 60, 62, 64, + 65, 66, 63, 676, 154, 180, 0, 0, 0, 537, 539, 541, 178, 187, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 139, 146, 148, 302, 414, 453, 372, 504, 506, 365, 253, 565, - 508, 267, 286, 0, 591, 604, 606, 150, 152, 680, + 508, 267, 286, 0, 591, 604, 620, 150, 152, 694, 121, 0, 72, 74, 75, 76, 77, 78, 109, 110, 111, 79, 107, 96, 97, 98, 115, 116, 117, 118, 119, 120, 113, 114, 82, 83, 104, 84, 85, 86, @@ -4332,12 +4364,12 @@ namespace isc { namespace dhcp { 428, 430, 442, 431, 432, 433, 449, 434, 435, 436, 437, 438, 477, 0, 0, 475, 476, 479, 480, 0, 464, 465, 467, 468, 469, 470, 471, 472, 473, 474, - 282, 284, 279, 0, 277, 280, 281, 0, 644, 631, - 0, 634, 0, 0, 638, 642, 0, 0, 648, 650, - 652, 654, 629, 627, 628, 0, 610, 612, 613, 614, - 615, 616, 617, 618, 619, 624, 620, 621, 622, 623, - 625, 626, 0, 677, 679, 670, 0, 0, 666, 668, - 669, 46, 0, 0, 39, 0, 0, 0, 0, 0, + 282, 284, 279, 0, 277, 280, 281, 0, 658, 645, + 0, 648, 0, 0, 652, 656, 0, 0, 662, 664, + 666, 668, 643, 641, 642, 0, 624, 626, 627, 628, + 629, 630, 631, 632, 633, 638, 634, 635, 636, 637, + 639, 640, 0, 691, 693, 684, 0, 0, 680, 682, + 683, 46, 0, 0, 39, 0, 0, 0, 0, 0, 0, 57, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4349,8 +4381,8 @@ namespace isc { namespace dhcp { 0, 0, 517, 0, 417, 0, 0, 0, 0, 0, 0, 0, 425, 0, 0, 0, 0, 462, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 609, - 0, 676, 0, 0, 0, 665, 50, 43, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 623, + 0, 690, 0, 0, 0, 679, 50, 43, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 133, 134, 135, 0, 0, 0, 0, 0, 0, 122, 123, 124, 125, 126, 127, 128, 129, 130, 0, 136, 137, 138, @@ -4360,18 +4392,18 @@ namespace isc { namespace dhcp { 0, 0, 0, 0, 371, 0, 0, 0, 313, 0, 494, 0, 0, 0, 0, 0, 0, 0, 0, 521, 0, 0, 441, 0, 0, 0, 452, 429, 0, 481, - 482, 466, 0, 0, 278, 630, 0, 0, 633, 0, - 636, 637, 0, 0, 646, 647, 0, 0, 0, 0, - 611, 678, 0, 672, 667, 0, 0, 0, 657, 659, - 661, 0, 0, 0, 538, 540, 542, 0, 0, 191, + 482, 466, 0, 0, 278, 644, 0, 0, 647, 0, + 650, 651, 0, 0, 660, 661, 0, 0, 0, 0, + 625, 692, 0, 686, 681, 0, 0, 0, 671, 673, + 675, 0, 0, 0, 538, 540, 542, 0, 0, 191, 132, 141, 142, 143, 144, 145, 140, 147, 149, 304, 418, 455, 374, 40, 505, 507, 367, 368, 369, 370, - 366, 0, 0, 510, 269, 0, 0, 605, 0, 151, + 366, 0, 0, 510, 269, 0, 0, 0, 0, 151, 153, 0, 51, 168, 171, 172, 170, 175, 176, 174, 354, 356, 358, 485, 352, 360, 364, 362, 0, 503, 560, 548, 550, 554, 552, 558, 556, 544, 444, 234, - 448, 446, 451, 478, 283, 285, 645, 632, 635, 640, - 641, 639, 643, 649, 651, 653, 655, 191, 44, 0, + 448, 446, 451, 478, 283, 285, 659, 646, 649, 654, + 655, 653, 657, 663, 665, 667, 669, 191, 44, 0, 0, 0, 0, 185, 0, 182, 184, 220, 226, 228, 230, 0, 0, 0, 0, 0, 242, 244, 246, 248, 0, 0, 0, 0, 0, 0, 219, 0, 197, 199, @@ -4383,81 +4415,85 @@ namespace isc { namespace dhcp { 260, 261, 569, 0, 567, 514, 0, 511, 512, 273, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 288, 290, 291, 292, 293, 294, 295, 600, 602, 599, - 597, 598, 0, 593, 595, 596, 0, 684, 0, 682, - 53, 489, 0, 486, 487, 545, 563, 564, 0, 0, - 69, 674, 663, 155, 0, 0, 181, 0, 0, 0, + 597, 598, 0, 593, 595, 596, 0, 615, 0, 618, + 611, 612, 0, 606, 608, 609, 610, 613, 0, 698, + 0, 696, 53, 489, 0, 486, 487, 545, 563, 564, + 0, 0, 69, 688, 677, 155, 0, 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 179, 188, 0, - 190, 0, 0, 303, 0, 426, 415, 0, 463, 454, - 0, 0, 373, 0, 0, 254, 571, 0, 566, 518, - 509, 0, 0, 268, 0, 0, 0, 0, 0, 0, - 0, 0, 287, 0, 0, 0, 592, 607, 0, 0, - 681, 55, 0, 54, 0, 484, 0, 0, 562, 671, - 0, 183, 0, 0, 0, 0, 232, 235, 236, 237, - 238, 0, 0, 0, 0, 250, 251, 239, 240, 241, - 252, 198, 0, 194, 0, 307, 0, 421, 0, 458, - 413, 397, 398, 399, 385, 386, 402, 403, 404, 388, - 389, 405, 406, 407, 408, 409, 410, 411, 412, 382, - 383, 384, 395, 396, 394, 0, 380, 387, 400, 401, - 390, 391, 392, 393, 377, 256, 587, 0, 585, 586, - 578, 579, 583, 584, 580, 581, 582, 0, 572, 573, - 575, 576, 577, 568, 0, 513, 0, 272, 296, 297, - 298, 299, 300, 301, 289, 0, 0, 594, 698, 0, - 696, 694, 688, 692, 693, 0, 686, 690, 691, 689, - 683, 52, 0, 0, 488, 0, 186, 222, 223, 224, - 225, 221, 227, 229, 231, 243, 245, 247, 249, 196, - 309, 423, 460, 0, 379, 0, 0, 570, 0, 515, - 274, 601, 603, 0, 0, 0, 0, 685, 56, 490, - 546, 381, 0, 589, 574, 0, 695, 0, 687, 588, - 0, 697, 702, 0, 700, 0, 0, 699, 711, 0, - 0, 0, 716, 0, 704, 706, 707, 708, 709, 710, - 701, 0, 0, 0, 0, 0, 0, 703, 0, 713, - 714, 715, 0, 705, 712, 717 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, + 188, 0, 190, 0, 0, 303, 0, 426, 415, 0, + 463, 454, 0, 0, 373, 0, 0, 254, 571, 0, + 566, 518, 509, 0, 0, 268, 0, 0, 0, 0, + 0, 0, 0, 0, 287, 0, 0, 0, 592, 0, + 0, 0, 0, 0, 605, 621, 0, 0, 695, 55, + 0, 54, 0, 484, 0, 0, 562, 685, 0, 183, + 0, 0, 0, 0, 232, 235, 236, 237, 238, 0, + 0, 0, 0, 250, 251, 239, 240, 241, 252, 198, + 0, 194, 0, 307, 0, 421, 0, 458, 413, 397, + 398, 399, 385, 386, 402, 403, 404, 388, 389, 405, + 406, 407, 408, 409, 410, 411, 412, 382, 383, 384, + 395, 396, 394, 0, 380, 387, 400, 401, 390, 391, + 392, 393, 377, 256, 587, 0, 585, 586, 578, 579, + 583, 584, 580, 581, 582, 0, 572, 573, 575, 576, + 577, 568, 0, 513, 0, 272, 296, 297, 298, 299, + 300, 301, 289, 0, 0, 594, 614, 0, 617, 0, + 607, 712, 0, 710, 708, 702, 706, 707, 0, 700, + 704, 705, 703, 697, 52, 0, 0, 488, 0, 186, + 222, 223, 224, 225, 221, 227, 229, 231, 243, 245, + 247, 249, 196, 309, 423, 460, 0, 379, 0, 0, + 570, 0, 515, 274, 601, 603, 616, 619, 0, 0, + 0, 0, 699, 56, 490, 546, 381, 0, 589, 574, + 0, 709, 0, 701, 588, 0, 711, 716, 0, 714, + 0, 0, 713, 725, 0, 0, 0, 730, 0, 718, + 720, 721, 722, 723, 724, 715, 0, 0, 0, 0, + 0, 0, 717, 0, 727, 728, 729, 0, 719, 726, + 731 }; const short Dhcp4Parser::yypgoto_[] = { - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -44, -896, -531, -896, - 205, -896, -896, -896, -896, -896, -896, -556, -896, -896, - -896, -70, -896, -896, -896, 487, -896, -896, -896, -896, - 244, 444, -54, -24, -5, -4, -1, 11, 14, 17, - -896, -896, -896, -896, 21, 25, 28, 31, 32, 33, - -896, 245, 35, -896, 36, -896, 38, -896, 39, -896, - -896, -896, 279, 463, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - 78, -896, -896, -896, -896, -896, -896, 211, -896, 55, - -896, -643, 61, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -36, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, 45, -896, -896, -896, - -896, -896, -896, -896, -896, -896, 27, -896, -896, -896, - 40, 457, -896, -896, -896, -896, -896, -896, -896, 29, - -896, -896, -896, -896, -896, -896, -895, -896, -896, -896, - 57, -896, -896, -896, 62, 494, -896, -896, -896, -896, - -896, -896, -896, -896, -894, -896, 41, -896, 44, -896, - 43, -896, -896, -896, -896, -896, -896, -896, 53, -896, - -896, -118, -65, -896, -896, -896, -896, -896, 64, -896, - -896, -896, 65, -896, 474, -896, -72, -896, -896, -896, - -896, -896, -64, -896, -896, -896, -896, -896, -40, -896, - -896, -896, 58, -896, -896, -896, 68, -896, 471, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - 26, -896, -896, -896, 30, 501, -896, -896, -52, -896, - -20, -896, -60, -896, -896, -896, 54, -896, -896, -896, - 71, -896, 497, -8, -896, -2, -896, 10, -896, 269, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -893, -896, -896, - -896, -896, -896, 69, -896, -896, -896, -110, -896, -896, - -896, -896, -896, -896, -896, -896, 46, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, 291, 464, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, -896, -896, -896, -896, -896, -896, - -896, -896, -896, -896, 332, 460, -896, -896, -896, -896, - -896, -896, -896, 340, 469, -69, -896, -896, 56, -896, - -896, -105, -896, -896, -896, -896, -896, -896, -124, -896, - -896, -143, -896, -896, -896, -896, -896, -896, -896 + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -23, -900, 337, -900, + -900, -900, -900, -900, -900, -900, -900, -576, -900, -900, + -900, -70, -900, -900, -900, 507, -900, -900, -900, -900, + 272, 455, -47, -44, -1, 16, 18, 24, 30, 31, + -900, -900, -900, -900, 34, 35, 36, 37, 38, 42, + -900, 274, 48, -900, 49, -900, 50, -900, 52, -900, + -900, -900, 273, 458, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + 59, -900, -900, -900, -900, -900, -900, 175, -900, 55, + -900, -636, 61, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -39, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, 44, -900, -900, -900, + -900, -900, -900, -900, -900, -900, 45, -900, -900, -900, + 46, 473, -900, -900, -900, -900, -900, -900, -900, 39, + -900, -900, -900, -900, -900, -900, -899, -900, -900, -900, + 63, -900, -900, -900, 69, 528, -900, -900, -900, -900, + -900, -900, -900, -900, -896, -900, -43, -900, 54, -900, + 53, -900, -900, -900, -900, -900, -900, -900, 60, -900, + -900, -128, -63, -900, -900, -900, -900, -900, 65, -900, + -900, -900, 70, -900, 495, -900, -66, -900, -900, -900, + -900, -900, -64, -900, -900, -900, -900, -900, -7, -900, + -900, -900, 71, -900, -900, -900, 72, -900, 491, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + 22, -900, -900, -900, 32, 534, -900, -900, -57, -900, + -20, -900, -62, -900, -900, -900, 58, -900, -900, -900, + 74, -900, 535, 0, -900, 6, -900, 12, -900, 282, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -895, -900, -900, + -900, -900, -900, 75, -900, -900, -900, -116, -900, -900, + -900, -900, -900, -900, -900, -900, 51, -900, -900, -900, + -900, -900, -900, -900, 47, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, 308, 483, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, -900, -900, -900, -900, -900, -900, -900, -900, + -900, -900, 348, 485, -900, -900, -900, -900, -900, -900, + -900, 355, 490, -75, -900, -900, 76, -900, -900, -118, + -900, -900, -900, -900, -900, -900, -134, -900, -900, -153, + -900, -900, -900, -900, -900, -900, -900 }; const short @@ -4465,477 +4501,491 @@ namespace isc { namespace dhcp { { -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 38, 39, 40, 69, - 674, 87, 88, 41, 68, 84, 85, 693, 860, 942, - 943, 766, 43, 70, 96, 97, 98, 396, 45, 71, + 674, 87, 88, 41, 68, 84, 85, 693, 872, 960, + 961, 766, 43, 70, 96, 97, 98, 396, 45, 71, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 425, 163, 164, 165, 166, 167, 168, 169, 429, 666, 170, 430, 171, 431, 172, 448, 173, 449, 174, 405, 205, 206, 47, 72, 207, 453, 208, 454, 696, 209, 455, 699, 210, 175, 413, 176, 406, 744, - 745, 746, 874, 177, 414, 178, 415, 791, 792, 793, - 899, 767, 768, 769, 877, 1071, 770, 878, 771, 879, - 772, 880, 773, 774, 486, 775, 776, 777, 778, 779, - 780, 781, 782, 886, 783, 887, 784, 888, 785, 889, + 745, 746, 886, 177, 414, 178, 415, 791, 792, 793, + 911, 767, 768, 769, 889, 1094, 770, 890, 771, 891, + 772, 892, 773, 774, 486, 775, 776, 777, 778, 779, + 780, 781, 782, 898, 783, 899, 784, 900, 785, 901, 786, 787, 788, 179, 439, 815, 816, 817, 818, 819, - 820, 821, 180, 442, 830, 831, 832, 922, 61, 79, + 820, 821, 180, 442, 830, 831, 832, 934, 61, 79, 343, 344, 345, 499, 346, 500, 181, 443, 839, 840, 841, 842, 843, 844, 845, 846, 182, 432, 795, 796, - 797, 902, 49, 73, 242, 243, 244, 463, 245, 459, + 797, 914, 49, 73, 242, 243, 244, 463, 245, 459, 246, 460, 247, 461, 248, 464, 249, 467, 250, 466, - 183, 438, 680, 252, 184, 435, 807, 808, 809, 911, - 1005, 1006, 185, 433, 55, 76, 799, 800, 801, 905, + 183, 438, 680, 252, 184, 435, 807, 808, 809, 923, + 1023, 1024, 185, 433, 55, 76, 799, 800, 801, 917, 57, 77, 308, 309, 310, 311, 312, 313, 314, 485, 315, 489, 316, 488, 317, 318, 490, 319, 186, 434, - 803, 804, 805, 908, 59, 78, 329, 330, 331, 332, - 333, 494, 334, 335, 336, 337, 254, 462, 862, 863, - 864, 944, 51, 74, 267, 268, 269, 471, 187, 436, - 188, 437, 189, 441, 826, 827, 828, 919, 53, 75, + 803, 804, 805, 920, 59, 78, 329, 330, 331, 332, + 333, 494, 334, 335, 336, 337, 254, 462, 874, 875, + 876, 962, 51, 74, 267, 268, 269, 471, 187, 436, + 188, 437, 189, 441, 826, 827, 828, 931, 53, 75, 284, 285, 286, 190, 410, 191, 411, 192, 412, 290, - 481, 867, 947, 291, 475, 292, 476, 293, 478, 294, - 477, 295, 480, 296, 479, 297, 474, 261, 468, 868, - 193, 440, 823, 824, 916, 1027, 1028, 1029, 1030, 1031, - 1085, 1032, 194, 195, 445, 852, 853, 854, 933, 855, - 934, 196, 446, 197, 447, 63, 80, 365, 366, 367, - 368, 505, 369, 370, 507, 371, 372, 373, 510, 731, - 374, 511, 375, 504, 376, 377, 378, 514, 379, 515, - 380, 516, 381, 517, 99, 398, 100, 399, 101, 400, - 198, 404, 67, 82, 387, 388, 389, 522, 390, 102, - 397, 65, 81, 382, 383, 199, 450, 858, 859, 938, - 1055, 1056, 1057, 1058, 1095, 1059, 1093, 1113, 1114, 1115, - 1123, 1124, 1125, 1131, 1126, 1127, 1128, 1129, 1135 + 481, 879, 965, 291, 475, 292, 476, 293, 478, 294, + 477, 295, 480, 296, 479, 297, 474, 261, 468, 880, + 193, 440, 823, 824, 928, 1045, 1046, 1047, 1048, 1049, + 1108, 1050, 194, 195, 445, 852, 853, 854, 945, 855, + 946, 196, 446, 862, 863, 864, 865, 950, 866, 867, + 952, 197, 447, 63, 80, 365, 366, 367, 368, 505, + 369, 370, 507, 371, 372, 373, 510, 731, 374, 511, + 375, 504, 376, 377, 378, 514, 379, 515, 380, 516, + 381, 517, 99, 398, 100, 399, 101, 400, 198, 404, + 67, 82, 387, 388, 389, 522, 390, 102, 397, 65, + 81, 382, 383, 199, 450, 870, 871, 956, 1078, 1079, + 1080, 1081, 1120, 1082, 1118, 1138, 1139, 1140, 1148, 1149, + 1150, 1156, 1151, 1152, 1153, 1154, 1160 }; const unsigned short Dhcp4Parser::yytable_[] = { - 95, 150, 204, 223, 263, 280, 327, 306, 325, 342, - 362, 298, 384, 257, 328, 789, 1000, 1001, 1013, 224, - 211, 255, 270, 282, 83, 320, 338, 31, 363, 32, - 89, 33, 86, 253, 266, 281, 673, 729, 132, 706, - 914, 307, 326, 915, 149, 710, 673, 340, 341, 225, - 30, 402, 212, 256, 271, 283, 403, 321, 339, 42, - 364, 661, 662, 663, 664, 258, 391, 287, 226, 227, - 392, 259, 228, 288, 200, 201, 917, 44, 202, 918, - 393, 203, 46, 260, 229, 289, 939, 230, 48, 940, - 231, 109, 110, 111, 232, 451, 1116, 665, 233, 1117, - 452, 234, 457, 50, 235, 236, 237, 458, 238, 239, - 94, 240, 241, 52, 747, 264, 251, 54, 265, 748, - 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, - 759, 760, 761, 762, 763, 764, 765, 385, 386, 56, - 132, 133, 300, 1118, 133, 58, 1119, 1120, 1121, 1122, - 135, 136, 340, 341, 135, 136, 262, 135, 136, 300, - 60, 103, 694, 695, 104, 730, 469, 1016, 1017, 220, - 394, 470, 221, 105, 90, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 91, 92, 93, 472, 1000, 1001, - 1013, 395, 473, 135, 136, 833, 834, 835, 836, 837, - 838, 94, 401, 34, 35, 36, 37, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 501, 518, 62, 132, 133, 502, - 519, 847, 848, 64, 520, 109, 110, 111, 134, 521, - 94, 135, 136, 524, 94, 451, 137, 94, 525, 520, - 870, 138, 139, 524, 871, 457, 972, 140, 872, 482, - 873, 94, 66, 810, 811, 812, 813, 141, 814, 407, - 142, 875, 279, 865, 300, 896, 876, 143, 144, 896, - 897, 145, 146, 94, 898, 133, 135, 136, 676, 677, - 678, 679, 107, 108, 109, 110, 111, 408, 135, 136, - 409, 931, 147, 148, 416, 149, 932, 935, 518, 272, - 697, 698, 936, 937, 417, 273, 274, 275, 276, 277, - 278, 418, 279, 115, 116, 117, 118, 119, 120, 121, - 122, 94, 95, 125, 126, 127, 128, 129, 130, 419, - 213, 214, 215, 420, 133, 896, 483, 469, 526, 527, - 1079, 1048, 1080, 1049, 1050, 216, 421, 135, 136, 217, - 218, 219, 137, 1083, 484, 501, 1096, 492, 1084, 220, - 1090, 1097, 221, 140, 472, 493, 94, 1136, 497, 1099, - 222, 150, 1137, 1067, 1068, 1069, 1070, 204, 94, 422, - 423, 424, 426, 427, 428, 444, 456, 465, 487, 223, - 491, 495, 263, 496, 498, 211, 503, 506, 508, 257, - 509, 512, 513, 280, 523, 224, 528, 255, 147, 148, - 270, 529, 530, 306, 531, 532, 327, 533, 325, 253, - 535, 282, 266, 536, 328, 537, 541, 212, 538, 542, - 539, 320, 540, 281, 543, 225, 338, 94, 362, 256, - 544, 384, 271, 545, 546, 547, 548, 307, 553, 549, - 550, 258, 326, 283, 226, 227, 363, 259, 228, 551, - 552, 554, 556, 321, 555, 287, 560, 561, 339, 260, - 229, 288, 299, 230, 562, 557, 231, 648, 649, 650, - 232, 558, 559, 289, 233, 563, 575, 234, 364, 564, - 235, 236, 237, 565, 238, 239, 566, 240, 241, 1100, - 567, 568, 251, 264, 569, 570, 265, 571, 107, 108, - 109, 110, 111, 572, 573, 574, 576, 300, 577, 301, - 302, 578, 594, 303, 304, 305, 579, 580, 581, 135, - 136, 583, 584, 585, 588, 586, 589, 590, 591, 115, - 116, 117, 118, 119, 120, 121, 122, 592, 593, 125, - 126, 127, 128, 129, 130, 131, 595, 596, 597, 599, - 133, 300, 601, 602, 603, 604, 150, 605, 384, 725, - 606, 607, 204, 135, 136, 608, 218, 610, 137, 611, - 613, 612, 614, 615, 618, 220, 616, 619, 221, 620, - 211, 738, 622, 623, 626, 627, 222, 300, 322, 301, - 302, 323, 324, 629, 625, 628, 849, 632, 362, 135, - 136, 630, 633, 631, 636, 637, 634, 635, 638, 94, - 639, 642, 212, 643, 850, 645, 363, 135, 136, 646, - 647, 651, 652, 653, 147, 148, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 657, 658, 654, 655, 656, 659, 851, 660, 364, 667, - 668, 669, 670, 94, 671, 672, 743, 675, 32, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 681, 682, 683, 684, 689, 690, 360, 361, - 685, 686, 688, 691, 692, 703, 700, 701, 708, 94, - 702, 704, 705, 737, 790, 900, 707, 709, 794, 732, - 798, 802, 711, 806, 822, 825, 712, 94, 713, 714, - 715, 716, 717, 718, 829, 857, 719, 720, 721, 722, - 723, 724, 726, 861, 881, 882, 883, 727, 728, 884, - 885, 890, 891, 892, 893, 734, 735, 894, 895, 736, - 901, 903, 904, 907, 906, 910, 956, 909, 913, 912, - 920, 921, 923, 924, 941, 925, 926, 927, 928, 929, - 930, 946, 687, 945, 958, 950, 949, 948, 952, 953, - 954, 955, 957, 960, 959, 961, 962, 963, 964, 965, - 969, 966, 1045, 1046, 967, 968, 1061, 970, 1062, 1081, - 1038, 1039, 1040, 1065, 1082, 1086, 1087, 1088, 1089, 1041, - 1042, 1043, 1066, 1072, 1073, 1074, 1075, 1076, 1077, 1078, - 1091, 1092, 223, 1094, 1102, 306, 327, 1098, 325, 1103, - 1105, 980, 257, 1106, 328, 1107, 1018, 1110, 224, 280, - 255, 1020, 342, 320, 1109, 1111, 338, 981, 1112, 1008, - 1132, 1133, 253, 1134, 1022, 849, 1138, 282, 1051, 307, - 1139, 1007, 326, 1140, 263, 999, 1021, 1142, 225, 281, - 1019, 733, 256, 850, 1141, 321, 1053, 982, 339, 534, - 739, 1009, 270, 1144, 258, 582, 1023, 226, 227, 283, - 259, 228, 1052, 1010, 266, 1145, 983, 984, 1024, 1011, - 985, 287, 260, 229, 1025, 851, 230, 288, 1054, 231, - 587, 1012, 986, 232, 271, 987, 1026, 233, 988, 289, - 234, 742, 989, 235, 236, 237, 990, 238, 239, 991, - 240, 241, 992, 993, 994, 251, 995, 996, 869, 997, - 998, 1037, 1002, 951, 1004, 1003, 973, 971, 624, 1015, - 1044, 975, 1036, 598, 974, 1101, 1014, 617, 979, 621, - 976, 977, 1064, 600, 1063, 1035, 978, 866, 1104, 856, - 609, 1047, 640, 741, 644, 264, 1033, 740, 265, 641, - 1034, 1108, 1130, 1143, 0, 1060, 0, 0, 0, 0, + 95, 150, 204, 223, 263, 280, 384, 306, 325, 342, + 362, 257, 327, 298, 328, 211, 255, 270, 282, 706, + 320, 338, 789, 363, 1018, 710, 224, 1019, 1031, 225, + 89, 264, 729, 31, 42, 32, 44, 33, 307, 326, + 200, 201, 86, 402, 202, 83, 451, 203, 403, 300, + 132, 452, 212, 256, 271, 283, 30, 321, 339, 149, + 364, 135, 136, 391, 340, 341, 253, 266, 281, 46, + 133, 457, 226, 258, 48, 287, 458, 135, 136, 259, + 392, 288, 262, 135, 136, 260, 50, 289, 52, 227, + 54, 228, 109, 110, 111, 220, 469, 229, 221, 926, + 299, 470, 927, 230, 231, 340, 341, 232, 233, 234, + 235, 236, 385, 386, 393, 237, 135, 136, 856, 857, + 858, 238, 239, 240, 929, 241, 251, 930, 265, 1071, + 94, 1072, 1073, 56, 472, 661, 662, 663, 664, 473, + 58, 132, 133, 300, 501, 300, 60, 301, 302, 502, + 395, 303, 304, 305, 94, 135, 136, 135, 136, 694, + 695, 518, 520, 730, 135, 136, 519, 521, 1034, 1035, + 859, 665, 697, 698, 394, 524, 94, 90, 103, 1143, + 525, 104, 1144, 1145, 1146, 1147, 451, 91, 92, 93, + 105, 882, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 62, 847, 848, 94, 957, 64, 1018, 958, 94, + 1019, 1031, 34, 35, 36, 37, 833, 834, 835, 836, + 837, 838, 279, 877, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 520, 524, 66, 132, 133, 883, 884, 94, 401, + 94, 810, 811, 812, 813, 134, 814, 94, 135, 136, + 407, 1141, 482, 137, 1142, 109, 110, 111, 138, 139, + 408, 457, 484, 409, 140, 990, 885, 300, 322, 301, + 302, 323, 324, 887, 141, 416, 908, 142, 888, 135, + 136, 909, 908, 483, 143, 144, 943, 910, 145, 947, + 953, 944, 146, 417, 948, 954, 518, 908, 135, 136, + 418, 955, 1102, 469, 1106, 133, 501, 492, 1103, 1107, + 419, 1113, 147, 148, 420, 149, 1121, 493, 135, 136, + 472, 1122, 95, 1161, 497, 1124, 421, 422, 1162, 272, + 676, 677, 678, 679, 423, 273, 274, 275, 276, 277, + 278, 94, 279, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 424, 426, 427, 526, + 527, 428, 360, 361, 1090, 1091, 1092, 1093, 444, 456, + 465, 150, 94, 487, 491, 495, 496, 204, 503, 498, + 528, 506, 508, 509, 512, 513, 523, 529, 530, 223, + 211, 94, 263, 531, 532, 533, 535, 257, 536, 537, + 538, 539, 255, 280, 540, 270, 541, 542, 543, 544, + 545, 94, 224, 306, 546, 225, 282, 547, 325, 264, + 553, 548, 327, 549, 328, 550, 320, 212, 551, 552, + 555, 338, 556, 554, 560, 384, 557, 558, 362, 256, + 559, 561, 271, 562, 307, 563, 564, 565, 566, 326, + 567, 363, 253, 283, 568, 266, 569, 570, 226, 258, + 571, 572, 573, 321, 574, 259, 281, 575, 339, 576, + 577, 260, 578, 287, 579, 227, 580, 228, 581, 288, + 583, 584, 585, 229, 586, 289, 588, 589, 364, 230, + 231, 590, 594, 232, 233, 234, 235, 236, 648, 649, + 650, 237, 1125, 591, 592, 593, 595, 238, 239, 240, + 596, 241, 251, 597, 599, 601, 265, 602, 603, 604, + 605, 606, 747, 607, 608, 610, 611, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, + 761, 762, 763, 764, 765, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 613, + 614, 615, 384, 618, 622, 623, 150, 300, 626, 627, + 612, 629, 204, 616, 619, 620, 632, 633, 636, 637, + 625, 628, 630, 631, 638, 211, 634, 635, 639, 642, + 725, 645, 643, 646, 659, 647, 107, 108, 109, 110, + 111, 651, 652, 653, 654, 655, 849, 656, 362, 657, + 658, 660, 738, 667, 669, 668, 670, 671, 672, 850, + 860, 363, 212, 32, 675, 681, 682, 115, 116, 117, + 118, 119, 120, 121, 122, 683, 684, 125, 126, 127, + 128, 129, 130, 685, 213, 214, 215, 686, 133, 687, + 688, 689, 691, 690, 692, 700, 851, 861, 364, 216, + 703, 135, 136, 217, 218, 219, 137, 107, 108, 109, + 110, 111, 94, 220, 701, 702, 221, 140, 704, 705, + 707, 708, 709, 737, 222, 732, 743, 711, 712, 713, + 790, 714, 715, 794, 798, 802, 716, 806, 115, 116, + 117, 118, 119, 120, 121, 122, 822, 717, 125, 126, + 127, 128, 129, 130, 131, 718, 719, 720, 721, 133, + 300, 722, 723, 724, 726, 147, 148, 727, 728, 734, + 735, 736, 135, 136, 825, 218, 829, 137, 869, 873, + 893, 894, 895, 896, 220, 897, 902, 221, 903, 904, + 905, 906, 907, 937, 94, 222, 912, 913, 915, 916, + 919, 918, 922, 959, 921, 925, 924, 932, 933, 935, + 936, 1135, 938, 939, 940, 941, 942, 949, 951, 964, + 975, 963, 974, 968, 967, 966, 970, 971, 972, 973, + 976, 977, 978, 979, 980, 981, 147, 148, 982, 983, + 984, 1063, 985, 986, 1064, 1067, 987, 988, 1056, 1057, + 1058, 1059, 1060, 1061, 1069, 1084, 1066, 1068, 1085, 1089, + 1088, 1095, 1096, 1097, 1109, 94, 1104, 1105, 1098, 1099, + 1100, 1110, 1101, 1111, 223, 1112, 1114, 306, 1115, 1119, + 325, 1116, 257, 998, 327, 1123, 328, 255, 1036, 1127, + 320, 280, 1128, 338, 342, 1038, 1026, 224, 1130, 1132, + 225, 1040, 1131, 1134, 282, 1136, 999, 849, 307, 1000, + 1020, 326, 1137, 1157, 1017, 1158, 1074, 1159, 1163, 1037, + 850, 1164, 263, 1165, 256, 1166, 860, 321, 1167, 1076, + 339, 1169, 1170, 1027, 673, 270, 582, 253, 1041, 534, + 733, 283, 881, 226, 258, 587, 1025, 1075, 739, 264, + 259, 1039, 1001, 1028, 281, 742, 260, 851, 1042, 1029, + 227, 287, 228, 861, 1043, 1030, 1077, 288, 229, 1002, + 1044, 1003, 271, 289, 230, 231, 969, 1004, 232, 233, + 234, 235, 236, 1005, 1006, 266, 237, 1007, 1008, 1009, + 1010, 1011, 238, 239, 240, 1012, 241, 251, 991, 989, + 1033, 1013, 1014, 1015, 624, 1016, 1022, 1021, 1126, 993, + 1054, 1055, 1062, 992, 995, 1032, 1087, 994, 617, 621, + 878, 1053, 996, 997, 1086, 1129, 868, 598, 1065, 741, + 1070, 640, 740, 1133, 1051, 1052, 600, 1155, 1168, 644, + 641, 0, 0, 0, 0, 0, 265, 0, 609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 980, 0, 0, 0, 0, 1018, 0, - 0, 0, 0, 1020, 0, 0, 1051, 0, 0, 981, - 0, 1008, 0, 0, 0, 0, 1022, 0, 0, 0, - 0, 0, 0, 1007, 1053, 0, 0, 999, 1021, 0, - 0, 0, 1019, 0, 0, 0, 0, 0, 0, 982, - 1052, 0, 0, 1009, 0, 0, 0, 0, 1023, 0, - 0, 0, 0, 0, 0, 1010, 1054, 0, 983, 984, - 1024, 1011, 985, 0, 0, 0, 1025, 0, 0, 0, - 0, 0, 0, 1012, 986, 0, 0, 987, 1026, 0, - 988, 0, 0, 0, 989, 0, 0, 0, 990, 0, - 0, 991, 0, 0, 992, 993, 994, 0, 995, 996, - 0, 997, 998, 0, 1002, 0, 1004, 1003 + 0, 0, 0, 1083, 0, 0, 998, 0, 0, 0, + 0, 1036, 0, 0, 0, 0, 1117, 0, 1038, 1026, + 0, 1074, 0, 0, 1040, 0, 0, 0, 0, 999, + 0, 0, 1000, 1020, 1076, 0, 0, 1017, 0, 0, + 0, 0, 1037, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1075, 0, 0, 0, 1027, 0, 0, 0, + 0, 1041, 0, 0, 0, 0, 0, 0, 0, 1025, + 0, 1077, 0, 0, 1039, 1001, 1028, 0, 0, 0, + 0, 1042, 1029, 0, 0, 0, 0, 1043, 1030, 0, + 0, 0, 1002, 1044, 1003, 0, 0, 0, 0, 0, + 1004, 0, 0, 0, 0, 0, 1005, 1006, 0, 0, + 1007, 1008, 1009, 1010, 1011, 0, 0, 0, 1012, 0, + 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 1022, + 1021 }; const short Dhcp4Parser::yycheck_[] = { - 70, 71, 72, 73, 74, 75, 78, 77, 78, 79, - 80, 76, 81, 73, 78, 658, 911, 911, 911, 73, - 72, 73, 74, 75, 68, 77, 78, 5, 80, 7, - 10, 9, 181, 73, 74, 75, 567, 18, 77, 595, - 3, 77, 78, 6, 155, 601, 577, 118, 119, 73, - 0, 3, 72, 73, 74, 75, 8, 77, 78, 7, - 80, 148, 149, 150, 151, 73, 6, 75, 73, 73, - 3, 73, 73, 75, 15, 16, 3, 7, 19, 6, - 4, 22, 7, 73, 73, 75, 3, 73, 7, 6, - 73, 28, 29, 30, 73, 3, 3, 184, 73, 6, - 8, 73, 3, 7, 73, 73, 73, 8, 73, 73, - 181, 73, 73, 7, 34, 74, 73, 7, 74, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 12, 13, 7, - 77, 78, 79, 157, 78, 7, 160, 161, 162, 163, - 91, 92, 118, 119, 91, 92, 90, 91, 92, 79, - 7, 11, 17, 18, 14, 146, 3, 104, 105, 103, - 8, 8, 106, 23, 154, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 164, 165, 166, 3, 1083, 1083, - 1083, 3, 8, 91, 92, 121, 122, 123, 124, 125, - 126, 181, 4, 181, 182, 183, 184, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 3, 3, 7, 77, 78, 8, - 8, 129, 130, 7, 3, 28, 29, 30, 88, 8, - 181, 91, 92, 3, 181, 3, 96, 181, 8, 3, - 8, 101, 102, 3, 8, 3, 899, 107, 8, 8, - 8, 181, 7, 108, 109, 110, 111, 117, 113, 4, - 120, 3, 115, 116, 79, 3, 8, 127, 128, 3, - 8, 131, 132, 181, 8, 78, 91, 92, 97, 98, - 99, 100, 26, 27, 28, 29, 30, 4, 91, 92, - 4, 3, 152, 153, 4, 155, 8, 3, 3, 102, - 20, 21, 8, 8, 4, 108, 109, 110, 111, 112, - 113, 4, 115, 57, 58, 59, 60, 61, 62, 63, - 64, 181, 402, 67, 68, 69, 70, 71, 72, 4, - 74, 75, 76, 4, 78, 3, 3, 3, 392, 393, - 8, 156, 8, 158, 159, 89, 4, 91, 92, 93, - 94, 95, 96, 3, 8, 3, 3, 8, 8, 103, - 8, 8, 106, 107, 3, 3, 181, 3, 8, 8, - 114, 451, 8, 35, 36, 37, 38, 457, 181, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 469, - 4, 4, 472, 4, 3, 457, 4, 4, 4, 469, - 4, 4, 4, 483, 4, 469, 181, 469, 152, 153, - 472, 4, 4, 493, 4, 4, 498, 4, 498, 469, - 4, 483, 472, 4, 498, 4, 4, 457, 184, 4, - 184, 493, 184, 483, 4, 469, 498, 181, 518, 469, - 4, 520, 472, 4, 4, 182, 182, 493, 183, 182, - 182, 469, 498, 483, 469, 469, 518, 469, 469, 182, - 184, 183, 4, 493, 182, 483, 4, 4, 498, 469, - 469, 483, 34, 469, 4, 184, 469, 531, 532, 533, - 469, 184, 184, 483, 469, 4, 182, 469, 518, 4, - 469, 469, 469, 4, 469, 469, 4, 469, 469, 1065, - 4, 4, 469, 472, 4, 4, 472, 4, 26, 27, - 28, 29, 30, 4, 4, 4, 4, 79, 4, 81, - 82, 4, 182, 85, 86, 87, 4, 4, 4, 91, - 92, 4, 4, 4, 4, 184, 4, 4, 4, 57, - 58, 59, 60, 61, 62, 63, 64, 4, 4, 67, - 68, 69, 70, 71, 72, 73, 4, 4, 4, 4, - 78, 79, 4, 4, 4, 4, 646, 4, 647, 623, - 4, 4, 652, 91, 92, 4, 94, 4, 96, 4, - 4, 182, 4, 4, 4, 103, 184, 184, 106, 184, - 652, 645, 4, 4, 4, 4, 114, 79, 80, 81, - 82, 83, 84, 4, 184, 182, 686, 4, 688, 91, - 92, 182, 4, 182, 4, 4, 184, 184, 4, 181, - 4, 4, 652, 182, 686, 4, 688, 91, 92, 7, - 7, 7, 7, 7, 152, 153, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 7, 7, 181, 181, 181, 5, 686, 181, 688, 181, - 181, 5, 5, 181, 5, 5, 24, 181, 7, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 5, 5, 5, 5, 181, 181, 152, 153, - 7, 7, 7, 5, 5, 5, 181, 181, 7, 181, - 181, 181, 181, 5, 7, 6, 181, 181, 7, 147, - 7, 7, 181, 7, 7, 7, 181, 181, 181, 181, - 181, 181, 181, 181, 7, 7, 181, 181, 181, 181, - 181, 181, 181, 7, 4, 4, 4, 181, 181, 4, - 4, 4, 4, 4, 4, 181, 181, 4, 4, 181, - 3, 6, 3, 3, 6, 3, 182, 6, 3, 6, - 6, 3, 6, 3, 181, 4, 4, 4, 4, 4, - 4, 3, 577, 6, 182, 4, 6, 8, 4, 4, - 4, 4, 184, 182, 184, 4, 4, 4, 4, 182, - 184, 182, 4, 4, 182, 182, 6, 182, 3, 8, - 182, 182, 182, 4, 8, 4, 8, 3, 8, 182, - 182, 182, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 902, 4, 4, 905, 908, 181, 908, 184, - 4, 911, 902, 182, 908, 4, 916, 5, 902, 919, - 902, 916, 922, 905, 181, 181, 908, 911, 7, 911, - 4, 4, 902, 4, 916, 935, 4, 919, 938, 905, - 184, 911, 908, 182, 944, 911, 916, 4, 902, 919, - 916, 636, 902, 935, 182, 905, 938, 911, 908, 402, - 646, 911, 944, 181, 902, 451, 916, 902, 902, 919, - 902, 902, 938, 911, 944, 181, 911, 911, 916, 911, - 911, 919, 902, 902, 916, 935, 902, 919, 938, 902, - 457, 911, 911, 902, 944, 911, 916, 902, 911, 919, - 902, 652, 911, 902, 902, 902, 911, 902, 902, 911, - 902, 902, 911, 911, 911, 902, 911, 911, 737, 911, - 911, 924, 911, 875, 911, 911, 901, 896, 501, 914, - 931, 904, 922, 469, 902, 1083, 913, 493, 910, 498, - 905, 907, 946, 472, 944, 921, 908, 708, 1088, 688, - 483, 935, 518, 651, 524, 944, 917, 647, 944, 520, - 919, 1096, 1116, 1136, -1, 939, -1, -1, -1, -1, + 70, 71, 72, 73, 74, 75, 81, 77, 78, 79, + 80, 73, 78, 76, 78, 72, 73, 74, 75, 595, + 77, 78, 658, 80, 923, 601, 73, 923, 923, 73, + 10, 74, 18, 5, 7, 7, 7, 9, 77, 78, + 15, 16, 184, 3, 19, 68, 3, 22, 8, 79, + 77, 8, 72, 73, 74, 75, 0, 77, 78, 158, + 80, 91, 92, 6, 118, 119, 73, 74, 75, 7, + 78, 3, 73, 73, 7, 75, 8, 91, 92, 73, + 3, 75, 90, 91, 92, 73, 7, 75, 7, 73, + 7, 73, 28, 29, 30, 103, 3, 73, 106, 3, + 34, 8, 6, 73, 73, 118, 119, 73, 73, 73, + 73, 73, 12, 13, 4, 73, 91, 92, 132, 133, + 134, 73, 73, 73, 3, 73, 73, 6, 74, 159, + 184, 161, 162, 7, 3, 151, 152, 153, 154, 8, + 7, 77, 78, 79, 3, 79, 7, 81, 82, 8, + 3, 85, 86, 87, 184, 91, 92, 91, 92, 17, + 18, 3, 3, 149, 91, 92, 8, 8, 104, 105, + 184, 187, 20, 21, 8, 3, 184, 157, 11, 160, + 8, 14, 163, 164, 165, 166, 3, 167, 168, 169, + 23, 8, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 7, 129, 130, 184, 3, 7, 1106, 6, 184, + 1106, 1106, 184, 185, 186, 187, 121, 122, 123, 124, + 125, 126, 115, 116, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 3, 3, 7, 77, 78, 8, 8, 184, 4, + 184, 108, 109, 110, 111, 88, 113, 184, 91, 92, + 4, 3, 8, 96, 6, 28, 29, 30, 101, 102, + 4, 3, 8, 4, 107, 911, 8, 79, 80, 81, + 82, 83, 84, 3, 117, 4, 3, 120, 8, 91, + 92, 8, 3, 3, 127, 128, 3, 8, 131, 3, + 3, 8, 135, 4, 8, 8, 3, 3, 91, 92, + 4, 8, 8, 3, 3, 78, 3, 8, 8, 8, + 4, 8, 155, 156, 4, 158, 3, 3, 91, 92, + 3, 8, 402, 3, 8, 8, 4, 4, 8, 102, + 97, 98, 99, 100, 4, 108, 109, 110, 111, 112, + 113, 184, 115, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 4, 4, 4, 392, + 393, 4, 155, 156, 35, 36, 37, 38, 4, 4, + 4, 451, 184, 4, 4, 4, 4, 457, 4, 3, + 184, 4, 4, 4, 4, 4, 4, 4, 4, 469, + 457, 184, 472, 4, 4, 4, 4, 469, 4, 4, + 187, 187, 469, 483, 187, 472, 4, 4, 4, 4, + 4, 184, 469, 493, 4, 469, 483, 185, 498, 472, + 186, 185, 498, 185, 498, 185, 493, 457, 185, 187, + 185, 498, 4, 186, 4, 520, 187, 187, 518, 469, + 187, 4, 472, 4, 493, 4, 4, 4, 4, 498, + 4, 518, 469, 483, 4, 472, 4, 4, 469, 469, + 4, 4, 4, 493, 4, 469, 483, 185, 498, 4, + 4, 469, 4, 483, 4, 469, 4, 469, 4, 483, + 4, 4, 4, 469, 187, 483, 4, 4, 518, 469, + 469, 4, 185, 469, 469, 469, 469, 469, 531, 532, + 533, 469, 1088, 4, 4, 4, 4, 469, 469, 469, + 4, 469, 469, 4, 4, 4, 472, 4, 4, 4, + 4, 4, 34, 4, 4, 4, 4, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 4, + 4, 4, 647, 4, 4, 4, 646, 79, 4, 4, + 185, 4, 652, 187, 187, 187, 4, 4, 4, 4, + 187, 185, 185, 185, 4, 652, 187, 187, 4, 4, + 623, 4, 185, 7, 5, 7, 26, 27, 28, 29, + 30, 7, 7, 7, 184, 184, 686, 184, 688, 7, + 7, 184, 645, 184, 5, 184, 5, 5, 5, 686, + 687, 688, 652, 7, 184, 5, 5, 57, 58, 59, + 60, 61, 62, 63, 64, 5, 5, 67, 68, 69, + 70, 71, 72, 7, 74, 75, 76, 7, 78, 7, + 7, 184, 5, 184, 5, 184, 686, 687, 688, 89, + 5, 91, 92, 93, 94, 95, 96, 26, 27, 28, + 29, 30, 184, 103, 184, 184, 106, 107, 184, 184, + 184, 7, 184, 5, 114, 150, 24, 184, 184, 184, + 7, 184, 184, 7, 7, 7, 184, 7, 57, 58, + 59, 60, 61, 62, 63, 64, 7, 184, 67, 68, + 69, 70, 71, 72, 73, 184, 184, 184, 184, 78, + 79, 184, 184, 184, 184, 155, 156, 184, 184, 184, + 184, 184, 91, 92, 7, 94, 7, 96, 7, 7, + 4, 4, 4, 4, 103, 4, 4, 106, 4, 4, + 4, 4, 4, 4, 184, 114, 6, 3, 6, 3, + 3, 6, 3, 184, 6, 3, 6, 6, 3, 6, + 3, 5, 4, 4, 4, 4, 4, 4, 4, 3, + 187, 6, 185, 4, 6, 8, 4, 4, 4, 4, + 185, 187, 185, 4, 4, 4, 155, 156, 4, 185, + 185, 4, 185, 185, 4, 4, 187, 185, 185, 185, + 185, 185, 185, 185, 4, 6, 187, 185, 3, 184, + 4, 184, 184, 184, 4, 184, 8, 8, 184, 184, + 184, 8, 184, 3, 914, 8, 184, 917, 184, 4, + 920, 184, 914, 923, 920, 184, 920, 914, 928, 4, + 917, 931, 187, 920, 934, 928, 923, 914, 4, 4, + 914, 928, 185, 184, 931, 184, 923, 947, 917, 923, + 923, 920, 7, 4, 923, 4, 956, 4, 4, 928, + 947, 187, 962, 185, 914, 185, 953, 917, 4, 956, + 920, 184, 184, 923, 567, 962, 451, 914, 928, 402, + 636, 931, 737, 914, 914, 457, 923, 956, 646, 962, + 914, 928, 923, 923, 931, 652, 914, 947, 928, 923, + 914, 931, 914, 953, 928, 923, 956, 931, 914, 923, + 928, 923, 962, 931, 914, 914, 887, 923, 914, 914, + 914, 914, 914, 923, 923, 962, 914, 923, 923, 923, + 923, 923, 914, 914, 914, 923, 914, 914, 913, 908, + 926, 923, 923, 923, 501, 923, 923, 923, 1106, 916, + 934, 936, 943, 914, 919, 925, 964, 917, 493, 498, + 708, 933, 920, 922, 962, 1111, 688, 469, 947, 651, + 953, 518, 647, 1121, 929, 931, 472, 1141, 1161, 524, + 520, -1, -1, -1, -1, -1, 962, -1, 483, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1083, -1, -1, -1, -1, 1088, -1, - -1, -1, -1, 1088, -1, -1, 1096, -1, -1, 1083, - -1, 1083, -1, -1, -1, -1, 1088, -1, -1, -1, - -1, -1, -1, 1083, 1096, -1, -1, 1083, 1088, -1, - -1, -1, 1088, -1, -1, -1, -1, -1, -1, 1083, - 1096, -1, -1, 1083, -1, -1, -1, -1, 1088, -1, - -1, -1, -1, -1, -1, 1083, 1096, -1, 1083, 1083, - 1088, 1083, 1083, -1, -1, -1, 1088, -1, -1, -1, - -1, -1, -1, 1083, 1083, -1, -1, 1083, 1088, -1, - 1083, -1, -1, -1, 1083, -1, -1, -1, 1083, -1, - -1, 1083, -1, -1, 1083, 1083, 1083, -1, 1083, 1083, - -1, 1083, 1083, -1, 1083, -1, 1083, 1083 + -1, -1, -1, 957, -1, -1, 1106, -1, -1, -1, + -1, 1111, -1, -1, -1, -1, 1069, -1, 1111, 1106, + -1, 1121, -1, -1, 1111, -1, -1, -1, -1, 1106, + -1, -1, 1106, 1106, 1121, -1, -1, 1106, -1, -1, + -1, -1, 1111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1121, -1, -1, -1, 1106, -1, -1, -1, + -1, 1111, -1, -1, -1, -1, -1, -1, -1, 1106, + -1, 1121, -1, -1, 1111, 1106, 1106, -1, -1, -1, + -1, 1111, 1106, -1, -1, -1, -1, 1111, 1106, -1, + -1, -1, 1106, 1111, 1106, -1, -1, -1, -1, -1, + 1106, -1, -1, -1, -1, -1, 1106, 1106, -1, -1, + 1106, 1106, 1106, 1106, 1106, -1, -1, -1, 1106, -1, + -1, -1, -1, -1, 1106, 1106, 1106, -1, 1106, 1106, + 1106 }; const unsigned short Dhcp4Parser::yystos_[] = { - 0, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 0, 5, 7, 9, 181, 182, 183, 184, 201, 202, - 203, 208, 7, 217, 7, 223, 7, 259, 7, 357, - 7, 437, 7, 453, 7, 389, 7, 395, 7, 419, - 7, 333, 7, 510, 7, 556, 7, 547, 209, 204, - 218, 224, 260, 358, 438, 454, 390, 396, 420, 334, - 511, 557, 548, 201, 210, 211, 181, 206, 207, 10, - 154, 164, 165, 166, 181, 216, 219, 220, 221, 539, - 541, 543, 554, 11, 14, 23, 25, 26, 27, 28, + 0, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 0, 5, 7, 9, 184, 185, 186, 187, 204, 205, + 206, 211, 7, 220, 7, 226, 7, 262, 7, 360, + 7, 440, 7, 456, 7, 392, 7, 398, 7, 422, + 7, 336, 7, 521, 7, 567, 7, 558, 212, 207, + 221, 227, 263, 361, 441, 457, 393, 399, 423, 337, + 522, 568, 559, 204, 213, 214, 184, 209, 210, 10, + 157, 167, 168, 169, 184, 219, 222, 223, 224, 550, + 552, 554, 565, 11, 14, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 77, 78, 88, 91, 92, 96, 101, 102, - 107, 117, 120, 127, 128, 131, 132, 152, 153, 155, - 216, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 238, 239, 240, 241, 242, 243, 244, - 247, 249, 251, 253, 255, 270, 272, 278, 280, 318, - 327, 341, 351, 375, 379, 387, 413, 443, 445, 447, - 458, 460, 462, 485, 497, 498, 506, 508, 545, 560, - 15, 16, 19, 22, 216, 257, 258, 261, 263, 266, - 269, 443, 445, 74, 75, 76, 89, 93, 94, 95, - 103, 106, 114, 216, 227, 228, 229, 230, 231, 232, - 233, 234, 239, 240, 241, 242, 243, 244, 247, 249, - 251, 253, 359, 360, 361, 363, 365, 367, 369, 371, - 373, 375, 378, 413, 431, 443, 445, 447, 458, 460, - 462, 482, 90, 216, 371, 373, 413, 439, 440, 441, - 443, 445, 102, 108, 109, 110, 111, 112, 113, 115, - 216, 413, 443, 445, 455, 456, 457, 458, 460, 462, - 464, 468, 470, 472, 474, 476, 478, 480, 387, 34, - 79, 81, 82, 85, 86, 87, 216, 298, 397, 398, - 399, 400, 401, 402, 403, 405, 407, 409, 410, 412, - 443, 445, 80, 83, 84, 216, 298, 401, 407, 421, - 422, 423, 424, 425, 427, 428, 429, 430, 443, 445, - 118, 119, 216, 335, 336, 337, 339, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 152, 153, 216, 443, 445, 512, 513, 514, 515, 517, - 518, 520, 521, 522, 525, 527, 529, 530, 531, 533, - 535, 537, 558, 559, 560, 12, 13, 549, 550, 551, - 553, 6, 3, 4, 8, 3, 222, 555, 540, 542, - 544, 4, 3, 8, 546, 256, 273, 4, 4, 4, - 459, 461, 463, 271, 279, 281, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 237, 4, 4, 4, 245, - 248, 250, 352, 388, 414, 380, 444, 446, 376, 319, - 486, 448, 328, 342, 4, 499, 507, 509, 252, 254, - 561, 3, 8, 262, 264, 267, 4, 3, 8, 364, - 366, 368, 432, 362, 370, 4, 374, 372, 483, 3, - 8, 442, 3, 8, 481, 469, 471, 475, 473, 479, - 477, 465, 8, 3, 8, 404, 299, 4, 408, 406, - 411, 4, 8, 3, 426, 4, 4, 8, 3, 338, - 340, 3, 8, 4, 528, 516, 4, 519, 4, 4, - 523, 526, 4, 4, 532, 534, 536, 538, 3, 8, - 3, 8, 552, 4, 3, 8, 201, 201, 181, 4, - 4, 4, 4, 4, 220, 4, 4, 4, 184, 184, - 184, 4, 4, 4, 4, 4, 4, 182, 182, 182, - 182, 182, 184, 183, 183, 182, 4, 184, 184, 184, + 107, 117, 120, 127, 128, 131, 135, 155, 156, 158, + 219, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 241, 242, 243, 244, 245, 246, 247, + 250, 252, 254, 256, 258, 273, 275, 281, 283, 321, + 330, 344, 354, 378, 382, 390, 416, 446, 448, 450, + 461, 463, 465, 488, 500, 501, 509, 519, 556, 571, + 15, 16, 19, 22, 219, 260, 261, 264, 266, 269, + 272, 446, 448, 74, 75, 76, 89, 93, 94, 95, + 103, 106, 114, 219, 230, 231, 232, 233, 234, 235, + 236, 237, 242, 243, 244, 245, 246, 247, 250, 252, + 254, 256, 362, 363, 364, 366, 368, 370, 372, 374, + 376, 378, 381, 416, 434, 446, 448, 450, 461, 463, + 465, 485, 90, 219, 374, 376, 416, 442, 443, 444, + 446, 448, 102, 108, 109, 110, 111, 112, 113, 115, + 219, 416, 446, 448, 458, 459, 460, 461, 463, 465, + 467, 471, 473, 475, 477, 479, 481, 483, 390, 34, + 79, 81, 82, 85, 86, 87, 219, 301, 400, 401, + 402, 403, 404, 405, 406, 408, 410, 412, 413, 415, + 446, 448, 80, 83, 84, 219, 301, 404, 410, 424, + 425, 426, 427, 428, 430, 431, 432, 433, 446, 448, + 118, 119, 219, 338, 339, 340, 342, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 155, 156, 219, 446, 448, 523, 524, 525, 526, 528, + 529, 531, 532, 533, 536, 538, 540, 541, 542, 544, + 546, 548, 569, 570, 571, 12, 13, 560, 561, 562, + 564, 6, 3, 4, 8, 3, 225, 566, 551, 553, + 555, 4, 3, 8, 557, 259, 276, 4, 4, 4, + 462, 464, 466, 274, 282, 284, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 240, 4, 4, 4, 248, + 251, 253, 355, 391, 417, 383, 447, 449, 379, 322, + 489, 451, 331, 345, 4, 502, 510, 520, 255, 257, + 572, 3, 8, 265, 267, 270, 4, 3, 8, 367, + 369, 371, 435, 365, 373, 4, 377, 375, 486, 3, + 8, 445, 3, 8, 484, 472, 474, 478, 476, 482, + 480, 468, 8, 3, 8, 407, 302, 4, 411, 409, + 414, 4, 8, 3, 429, 4, 4, 8, 3, 341, + 343, 3, 8, 4, 539, 527, 4, 530, 4, 4, + 534, 537, 4, 4, 543, 545, 547, 549, 3, 8, + 3, 8, 563, 4, 3, 8, 204, 204, 184, 4, + 4, 4, 4, 4, 223, 4, 4, 4, 187, 187, + 187, 4, 4, 4, 4, 4, 4, 185, 185, 185, + 185, 185, 187, 186, 186, 185, 4, 187, 187, 187, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 182, 4, 4, 4, 4, - 4, 4, 226, 4, 4, 4, 184, 258, 4, 4, - 4, 4, 4, 4, 182, 4, 4, 4, 360, 4, - 440, 4, 4, 4, 4, 4, 4, 4, 4, 457, - 4, 4, 182, 4, 4, 4, 184, 399, 4, 184, - 184, 423, 4, 4, 336, 184, 4, 4, 182, 4, - 182, 182, 4, 4, 184, 184, 4, 4, 4, 4, - 513, 559, 4, 182, 550, 4, 7, 7, 201, 201, - 201, 7, 7, 7, 181, 181, 181, 7, 7, 5, - 181, 148, 149, 150, 151, 184, 246, 181, 181, 5, - 5, 5, 5, 203, 205, 181, 97, 98, 99, 100, - 377, 5, 5, 5, 5, 7, 7, 205, 7, 181, - 181, 5, 5, 212, 17, 18, 265, 20, 21, 268, - 181, 181, 181, 5, 181, 181, 212, 181, 7, 181, - 212, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 201, 181, 181, 181, 18, - 146, 524, 147, 246, 181, 181, 181, 5, 201, 225, - 558, 549, 257, 24, 274, 275, 276, 34, 39, 40, + 4, 4, 4, 4, 4, 185, 4, 4, 4, 4, + 4, 4, 229, 4, 4, 4, 187, 261, 4, 4, + 4, 4, 4, 4, 185, 4, 4, 4, 363, 4, + 443, 4, 4, 4, 4, 4, 4, 4, 4, 460, + 4, 4, 185, 4, 4, 4, 187, 402, 4, 187, + 187, 426, 4, 4, 339, 187, 4, 4, 185, 4, + 185, 185, 4, 4, 187, 187, 4, 4, 4, 4, + 524, 570, 4, 185, 561, 4, 7, 7, 204, 204, + 204, 7, 7, 7, 184, 184, 184, 7, 7, 5, + 184, 151, 152, 153, 154, 187, 249, 184, 184, 5, + 5, 5, 5, 206, 208, 184, 97, 98, 99, 100, + 380, 5, 5, 5, 5, 7, 7, 7, 7, 184, + 184, 5, 5, 215, 17, 18, 268, 20, 21, 271, + 184, 184, 184, 5, 184, 184, 215, 184, 7, 184, + 215, 184, 184, 184, 184, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 204, 184, 184, 184, 18, + 149, 535, 150, 249, 184, 184, 184, 5, 204, 228, + 569, 560, 260, 24, 277, 278, 279, 34, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 216, 286, 287, 288, - 291, 293, 295, 297, 298, 300, 301, 302, 303, 304, - 305, 306, 307, 309, 311, 313, 315, 316, 317, 286, - 7, 282, 283, 284, 7, 353, 354, 355, 7, 391, - 392, 393, 7, 415, 416, 417, 7, 381, 382, 383, - 108, 109, 110, 111, 113, 320, 321, 322, 323, 324, - 325, 326, 7, 487, 488, 7, 449, 450, 451, 7, - 329, 330, 331, 121, 122, 123, 124, 125, 126, 343, - 344, 345, 346, 347, 348, 349, 350, 129, 130, 216, - 443, 445, 500, 501, 502, 504, 512, 7, 562, 563, - 213, 7, 433, 434, 435, 116, 464, 466, 484, 282, - 8, 8, 8, 8, 277, 3, 8, 289, 292, 294, - 296, 4, 4, 4, 4, 4, 308, 310, 312, 314, - 4, 4, 4, 4, 4, 4, 3, 8, 8, 285, - 6, 3, 356, 6, 3, 394, 6, 3, 418, 6, - 3, 384, 6, 3, 3, 6, 489, 3, 6, 452, - 6, 3, 332, 6, 3, 4, 4, 4, 4, 4, - 4, 3, 8, 503, 505, 3, 8, 8, 564, 3, - 6, 181, 214, 215, 436, 6, 3, 467, 8, 6, - 4, 275, 4, 4, 4, 4, 182, 184, 182, 184, - 182, 4, 4, 4, 4, 182, 182, 182, 182, 184, - 182, 287, 286, 284, 359, 355, 397, 393, 421, 417, - 216, 227, 228, 229, 230, 231, 232, 233, 234, 239, - 240, 241, 242, 243, 244, 247, 249, 251, 253, 298, - 351, 369, 371, 373, 375, 385, 386, 413, 443, 445, - 458, 460, 462, 482, 383, 321, 104, 105, 216, 298, - 387, 413, 443, 445, 458, 460, 462, 490, 491, 492, - 493, 494, 496, 488, 455, 451, 335, 331, 182, 182, - 182, 182, 182, 182, 344, 4, 4, 501, 156, 158, - 159, 216, 298, 443, 445, 565, 566, 567, 568, 570, - 563, 6, 3, 439, 435, 4, 181, 35, 36, 37, - 38, 290, 181, 181, 181, 181, 181, 181, 181, 8, - 8, 8, 8, 3, 8, 495, 4, 8, 3, 8, - 8, 181, 181, 571, 4, 569, 3, 8, 181, 8, - 212, 386, 4, 184, 492, 4, 182, 4, 566, 181, - 5, 181, 7, 572, 573, 574, 3, 6, 157, 160, - 161, 162, 163, 575, 576, 577, 579, 580, 581, 582, - 573, 578, 4, 4, 4, 583, 3, 8, 4, 184, - 182, 182, 4, 576, 181, 181 + 51, 52, 53, 54, 55, 56, 219, 289, 290, 291, + 294, 296, 298, 300, 301, 303, 304, 305, 306, 307, + 308, 309, 310, 312, 314, 316, 318, 319, 320, 289, + 7, 285, 286, 287, 7, 356, 357, 358, 7, 394, + 395, 396, 7, 418, 419, 420, 7, 384, 385, 386, + 108, 109, 110, 111, 113, 323, 324, 325, 326, 327, + 328, 329, 7, 490, 491, 7, 452, 453, 454, 7, + 332, 333, 334, 121, 122, 123, 124, 125, 126, 346, + 347, 348, 349, 350, 351, 352, 353, 129, 130, 219, + 446, 448, 503, 504, 505, 507, 132, 133, 134, 184, + 446, 448, 511, 512, 513, 514, 516, 517, 523, 7, + 573, 574, 216, 7, 436, 437, 438, 116, 467, 469, + 487, 285, 8, 8, 8, 8, 280, 3, 8, 292, + 295, 297, 299, 4, 4, 4, 4, 4, 311, 313, + 315, 317, 4, 4, 4, 4, 4, 4, 3, 8, + 8, 288, 6, 3, 359, 6, 3, 397, 6, 3, + 421, 6, 3, 387, 6, 3, 3, 6, 492, 3, + 6, 455, 6, 3, 335, 6, 3, 4, 4, 4, + 4, 4, 4, 3, 8, 506, 508, 3, 8, 4, + 515, 4, 518, 3, 8, 8, 575, 3, 6, 184, + 217, 218, 439, 6, 3, 470, 8, 6, 4, 278, + 4, 4, 4, 4, 185, 187, 185, 187, 185, 4, + 4, 4, 4, 185, 185, 185, 185, 187, 185, 290, + 289, 287, 362, 358, 400, 396, 424, 420, 219, 230, + 231, 232, 233, 234, 235, 236, 237, 242, 243, 244, + 245, 246, 247, 250, 252, 254, 256, 301, 354, 372, + 374, 376, 378, 388, 389, 416, 446, 448, 461, 463, + 465, 485, 386, 324, 104, 105, 219, 301, 390, 416, + 446, 448, 461, 463, 465, 493, 494, 495, 496, 497, + 499, 491, 458, 454, 338, 334, 185, 185, 185, 185, + 185, 185, 347, 4, 4, 504, 187, 4, 185, 4, + 512, 159, 161, 162, 219, 301, 446, 448, 576, 577, + 578, 579, 581, 574, 6, 3, 442, 438, 4, 184, + 35, 36, 37, 38, 293, 184, 184, 184, 184, 184, + 184, 184, 8, 8, 8, 8, 3, 8, 498, 4, + 8, 3, 8, 8, 184, 184, 184, 204, 582, 4, + 580, 3, 8, 184, 8, 215, 389, 4, 187, 495, + 4, 185, 4, 577, 184, 5, 184, 7, 583, 584, + 585, 3, 6, 160, 163, 164, 165, 166, 586, 587, + 588, 590, 591, 592, 593, 584, 589, 4, 4, 4, + 594, 3, 8, 4, 187, 185, 185, 4, 587, 184, + 184 }; const unsigned short Dhcp4Parser::yyr1_[] = { - 0, 185, 187, 186, 188, 186, 189, 186, 190, 186, - 191, 186, 192, 186, 193, 186, 194, 186, 195, 186, - 196, 186, 197, 186, 198, 186, 199, 186, 200, 186, - 201, 201, 201, 201, 201, 201, 201, 202, 204, 203, - 205, 206, 206, 207, 207, 209, 208, 210, 210, 211, - 211, 213, 212, 214, 214, 215, 215, 216, 218, 217, - 219, 219, 220, 220, 220, 220, 220, 220, 222, 221, - 224, 223, 225, 225, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 237, 236, 238, 239, 240, 241, 242, 243, 245, - 244, 246, 246, 246, 246, 246, 248, 247, 250, 249, - 252, 251, 254, 253, 256, 255, 257, 257, 258, 258, - 258, 258, 258, 258, 258, 260, 259, 262, 261, 264, - 263, 265, 265, 267, 266, 268, 268, 269, 271, 270, - 273, 272, 274, 274, 275, 277, 276, 279, 278, 281, - 280, 282, 282, 283, 283, 285, 284, 286, 286, 287, - 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, - 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, - 289, 288, 290, 290, 290, 290, 292, 291, 294, 293, - 296, 295, 297, 299, 298, 300, 301, 302, 303, 304, - 305, 306, 308, 307, 310, 309, 312, 311, 314, 313, - 315, 316, 317, 319, 318, 320, 320, 321, 321, 321, - 321, 321, 322, 323, 324, 325, 326, 328, 327, 329, - 329, 330, 330, 332, 331, 334, 333, 335, 335, 335, - 336, 336, 338, 337, 340, 339, 342, 341, 343, 343, - 344, 344, 344, 344, 344, 344, 345, 346, 347, 348, - 349, 350, 352, 351, 353, 353, 354, 354, 356, 355, - 358, 357, 359, 359, 360, 360, 360, 360, 360, 360, - 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, - 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, - 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, - 360, 362, 361, 364, 363, 366, 365, 368, 367, 370, - 369, 372, 371, 374, 373, 376, 375, 377, 377, 377, - 377, 378, 380, 379, 381, 381, 382, 382, 384, 383, - 385, 385, 386, 386, 386, 386, 386, 386, 386, 386, - 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, - 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, - 386, 386, 386, 386, 388, 387, 390, 389, 391, 391, - 392, 392, 394, 393, 396, 395, 397, 397, 398, 398, - 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, - 400, 401, 402, 404, 403, 406, 405, 408, 407, 409, - 411, 410, 412, 414, 413, 415, 415, 416, 416, 418, - 417, 420, 419, 421, 421, 422, 422, 423, 423, 423, - 423, 423, 423, 423, 423, 423, 424, 426, 425, 427, - 428, 429, 430, 432, 431, 433, 433, 434, 434, 436, - 435, 438, 437, 439, 439, 440, 440, 440, 440, 440, - 440, 440, 442, 441, 444, 443, 446, 445, 448, 447, - 449, 449, 450, 450, 452, 451, 454, 453, 455, 455, - 456, 456, 457, 457, 457, 457, 457, 457, 457, 457, - 457, 457, 457, 457, 457, 457, 457, 459, 458, 461, - 460, 463, 462, 465, 464, 467, 466, 469, 468, 471, - 470, 473, 472, 475, 474, 477, 476, 479, 478, 481, - 480, 483, 482, 484, 484, 486, 485, 487, 487, 489, - 488, 490, 490, 491, 491, 492, 492, 492, 492, 492, - 492, 492, 492, 492, 492, 492, 493, 495, 494, 496, - 497, 499, 498, 500, 500, 501, 501, 501, 501, 501, - 503, 502, 505, 504, 507, 506, 509, 508, 511, 510, - 512, 512, 513, 513, 513, 513, 513, 513, 513, 513, - 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, - 514, 516, 515, 517, 519, 518, 520, 521, 523, 522, - 524, 524, 526, 525, 528, 527, 529, 530, 532, 531, - 534, 533, 536, 535, 538, 537, 540, 539, 542, 541, - 544, 543, 546, 545, 548, 547, 549, 549, 550, 550, - 552, 551, 553, 555, 554, 557, 556, 558, 558, 559, - 561, 560, 562, 562, 564, 563, 565, 565, 566, 566, - 566, 566, 566, 566, 566, 567, 569, 568, 571, 570, - 572, 572, 574, 573, 575, 575, 576, 576, 576, 576, - 576, 578, 577, 579, 580, 581, 583, 582 + 0, 188, 190, 189, 191, 189, 192, 189, 193, 189, + 194, 189, 195, 189, 196, 189, 197, 189, 198, 189, + 199, 189, 200, 189, 201, 189, 202, 189, 203, 189, + 204, 204, 204, 204, 204, 204, 204, 205, 207, 206, + 208, 209, 209, 210, 210, 212, 211, 213, 213, 214, + 214, 216, 215, 217, 217, 218, 218, 219, 221, 220, + 222, 222, 223, 223, 223, 223, 223, 223, 225, 224, + 227, 226, 228, 228, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 240, 239, 241, 242, 243, 244, 245, 246, 248, + 247, 249, 249, 249, 249, 249, 251, 250, 253, 252, + 255, 254, 257, 256, 259, 258, 260, 260, 261, 261, + 261, 261, 261, 261, 261, 263, 262, 265, 264, 267, + 266, 268, 268, 270, 269, 271, 271, 272, 274, 273, + 276, 275, 277, 277, 278, 280, 279, 282, 281, 284, + 283, 285, 285, 286, 286, 288, 287, 289, 289, 290, + 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, + 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, + 292, 291, 293, 293, 293, 293, 295, 294, 297, 296, + 299, 298, 300, 302, 301, 303, 304, 305, 306, 307, + 308, 309, 311, 310, 313, 312, 315, 314, 317, 316, + 318, 319, 320, 322, 321, 323, 323, 324, 324, 324, + 324, 324, 325, 326, 327, 328, 329, 331, 330, 332, + 332, 333, 333, 335, 334, 337, 336, 338, 338, 338, + 339, 339, 341, 340, 343, 342, 345, 344, 346, 346, + 347, 347, 347, 347, 347, 347, 348, 349, 350, 351, + 352, 353, 355, 354, 356, 356, 357, 357, 359, 358, + 361, 360, 362, 362, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, + 363, 365, 364, 367, 366, 369, 368, 371, 370, 373, + 372, 375, 374, 377, 376, 379, 378, 380, 380, 380, + 380, 381, 383, 382, 384, 384, 385, 385, 387, 386, + 388, 388, 389, 389, 389, 389, 389, 389, 389, 389, + 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, + 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, + 389, 389, 389, 389, 391, 390, 393, 392, 394, 394, + 395, 395, 397, 396, 399, 398, 400, 400, 401, 401, + 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, + 403, 404, 405, 407, 406, 409, 408, 411, 410, 412, + 414, 413, 415, 417, 416, 418, 418, 419, 419, 421, + 420, 423, 422, 424, 424, 425, 425, 426, 426, 426, + 426, 426, 426, 426, 426, 426, 427, 429, 428, 430, + 431, 432, 433, 435, 434, 436, 436, 437, 437, 439, + 438, 441, 440, 442, 442, 443, 443, 443, 443, 443, + 443, 443, 445, 444, 447, 446, 449, 448, 451, 450, + 452, 452, 453, 453, 455, 454, 457, 456, 458, 458, + 459, 459, 460, 460, 460, 460, 460, 460, 460, 460, + 460, 460, 460, 460, 460, 460, 460, 462, 461, 464, + 463, 466, 465, 468, 467, 470, 469, 472, 471, 474, + 473, 476, 475, 478, 477, 480, 479, 482, 481, 484, + 483, 486, 485, 487, 487, 489, 488, 490, 490, 492, + 491, 493, 493, 494, 494, 495, 495, 495, 495, 495, + 495, 495, 495, 495, 495, 495, 496, 498, 497, 499, + 500, 502, 501, 503, 503, 504, 504, 504, 504, 504, + 506, 505, 508, 507, 510, 509, 511, 511, 512, 512, + 512, 512, 512, 512, 513, 515, 514, 516, 518, 517, + 520, 519, 522, 521, 523, 523, 524, 524, 524, 524, + 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, + 524, 524, 524, 524, 525, 527, 526, 528, 530, 529, + 531, 532, 534, 533, 535, 535, 537, 536, 539, 538, + 540, 541, 543, 542, 545, 544, 547, 546, 549, 548, + 551, 550, 553, 552, 555, 554, 557, 556, 559, 558, + 560, 560, 561, 561, 563, 562, 564, 566, 565, 568, + 567, 569, 569, 570, 572, 571, 573, 573, 575, 574, + 576, 576, 577, 577, 577, 577, 577, 577, 577, 578, + 580, 579, 582, 581, 583, 583, 585, 584, 586, 586, + 587, 587, 587, 587, 587, 589, 588, 590, 591, 592, + 594, 593 }; const unsigned char @@ -5001,18 +5051,20 @@ namespace isc { namespace dhcp { 4, 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 3, 3, 0, 6, 1, 3, 1, 1, 1, 1, 1, - 0, 4, 0, 4, 0, 4, 0, 6, 0, 4, - 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 4, 0, 4, 0, 6, 1, 3, 1, 1, + 1, 1, 1, 1, 3, 0, 4, 3, 0, 4, + 0, 6, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 0, 4, 3, 0, 4, 3, 3, 0, 4, - 1, 1, 0, 4, 0, 4, 3, 3, 0, 4, - 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 4, 0, 6, 0, 4, 1, 3, 1, 1, - 0, 6, 3, 0, 6, 0, 4, 1, 3, 1, - 0, 6, 1, 3, 0, 4, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 3, 0, 4, 0, 6, - 1, 3, 0, 4, 1, 3, 1, 1, 1, 1, - 1, 0, 4, 3, 3, 3, 0, 4 + 1, 1, 1, 1, 3, 0, 4, 3, 0, 4, + 3, 3, 0, 4, 1, 1, 0, 4, 0, 4, + 3, 3, 0, 4, 0, 4, 0, 4, 0, 4, + 0, 4, 0, 4, 0, 4, 0, 6, 0, 4, + 1, 3, 1, 1, 0, 6, 3, 0, 6, 0, + 4, 1, 3, 1, 0, 6, 1, 3, 0, 4, + 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, + 0, 4, 0, 6, 1, 3, 0, 4, 1, 3, + 1, 1, 1, 1, 1, 0, 4, 3, 3, 3, + 0, 4 }; @@ -5061,13 +5113,14 @@ namespace isc { namespace dhcp { "\"hold-reclaimed-time\"", "\"max-reclaim-leases\"", "\"max-reclaim-time\"", "\"unwarned-reclaim-cycles\"", "\"dhcp4o6-port\"", "\"control-socket\"", "\"socket-type\"", - "\"socket-name\"", "\"dhcp-queue-control\"", "\"dhcp-ddns\"", - "\"enable-updates\"", "\"qualifying-suffix\"", "\"server-ip\"", - "\"server-port\"", "\"sender-ip\"", "\"sender-port\"", - "\"max-queue-size\"", "\"ncr-protocol\"", "\"ncr-format\"", - "\"override-no-update\"", "\"override-client-update\"", - "\"replace-client-name\"", "\"generated-prefix\"", "\"tcp\"", "\"JSON\"", - "\"when-present\"", "\"never\"", "\"always\"", "\"when-not-present\"", + "\"socket-name\"", "\"dhcp-queue-control\"", "\"enable-queue\"", + "\"queue-type\"", "\"capacity\"", "\"dhcp-ddns\"", "\"enable-updates\"", + "\"qualifying-suffix\"", "\"server-ip\"", "\"server-port\"", + "\"sender-ip\"", "\"sender-port\"", "\"max-queue-size\"", + "\"ncr-protocol\"", "\"ncr-format\"", "\"override-no-update\"", + "\"override-client-update\"", "\"replace-client-name\"", + "\"generated-prefix\"", "\"tcp\"", "\"JSON\"", "\"when-present\"", + "\"never\"", "\"always\"", "\"when-not-present\"", "\"hostname-char-set\"", "\"hostname-char-replacement\"", "\"Logging\"", "\"loggers\"", "\"output_options\"", "\"output\"", "\"debuglevel\"", "\"severity\"", "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"", @@ -5154,102 +5207,106 @@ namespace isc { namespace dhcp { "only_if_required", "dhcp4o6_port", "control_socket", "$@104", "control_socket_params", "control_socket_param", "control_socket_type", "$@105", "control_socket_name", "$@106", "dhcp_queue_control", "$@107", - "dhcp_ddns", "$@108", "sub_dhcp_ddns", "$@109", "dhcp_ddns_params", - "dhcp_ddns_param", "enable_updates", "server_ip", "$@110", "server_port", - "sender_ip", "$@111", "sender_port", "max_queue_size", "ncr_protocol", - "$@112", "ncr_protocol_value", "ncr_format", "$@113", - "dep_qualifying_suffix", "$@114", "dep_override_no_update", - "dep_override_client_update", "dep_replace_client_name", "$@115", - "dep_generated_prefix", "$@116", "dep_hostname_char_set", "$@117", - "dep_hostname_char_replacement", "$@118", "dhcp6_json_object", "$@119", - "dhcpddns_json_object", "$@120", "control_agent_json_object", "$@121", - "config_control", "$@122", "sub_config_control", "$@123", + "queue_control_params", "queue_control_param", "enable_queue", + "queue_type", "$@108", "capacity", "arbitrary_map_entry", "$@109", + "dhcp_ddns", "$@110", "sub_dhcp_ddns", "$@111", "dhcp_ddns_params", + "dhcp_ddns_param", "enable_updates", "server_ip", "$@112", "server_port", + "sender_ip", "$@113", "sender_port", "max_queue_size", "ncr_protocol", + "$@114", "ncr_protocol_value", "ncr_format", "$@115", + "dep_qualifying_suffix", "$@116", "dep_override_no_update", + "dep_override_client_update", "dep_replace_client_name", "$@117", + "dep_generated_prefix", "$@118", "dep_hostname_char_set", "$@119", + "dep_hostname_char_replacement", "$@120", "dhcp6_json_object", "$@121", + "dhcpddns_json_object", "$@122", "control_agent_json_object", "$@123", + "config_control", "$@124", "sub_config_control", "$@125", "config_control_params", "config_control_param", "config_databases", - "$@124", "config_fetch_wait_time", "logging_object", "$@125", - "sub_logging", "$@126", "logging_params", "logging_param", "loggers", - "$@127", "loggers_entries", "logger_entry", "$@128", "logger_params", - "logger_param", "debuglevel", "severity", "$@129", "output_options_list", - "$@130", "output_options_list_content", "output_entry", "$@131", - "output_params_list", "output_params", "output", "$@132", "flush", - "maxsize", "maxver", "pattern", "$@133", YY_NULLPTR + "$@126", "config_fetch_wait_time", "logging_object", "$@127", + "sub_logging", "$@128", "logging_params", "logging_param", "loggers", + "$@129", "loggers_entries", "logger_entry", "$@130", "logger_params", + "logger_param", "debuglevel", "severity", "$@131", "output_options_list", + "$@132", "output_options_list_content", "output_entry", "$@133", + "output_params_list", "output_params", "output", "$@134", "flush", + "maxsize", "maxver", "pattern", "$@135", YY_NULLPTR }; #if PARSER4_DEBUG const unsigned short Dhcp4Parser::yyrline_[] = { - 0, 272, 272, 272, 273, 273, 274, 274, 275, 275, - 276, 276, 277, 277, 278, 278, 279, 279, 280, 280, - 281, 281, 282, 282, 283, 283, 284, 284, 285, 285, - 293, 294, 295, 296, 297, 298, 299, 302, 307, 307, - 318, 321, 322, 325, 329, 336, 336, 343, 344, 347, - 351, 358, 358, 365, 366, 369, 373, 384, 394, 394, - 410, 411, 415, 416, 417, 418, 419, 420, 423, 423, - 438, 438, 447, 448, 453, 454, 455, 456, 457, 458, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 503, 508, 513, 518, 523, 528, 533, 538, - 543, 548, 548, 556, 561, 566, 571, 576, 581, 586, - 586, 594, 597, 600, 603, 606, 612, 612, 620, 620, - 628, 628, 636, 636, 644, 644, 655, 656, 659, 660, - 661, 662, 663, 664, 665, 668, 668, 677, 677, 687, - 687, 694, 695, 698, 698, 705, 707, 711, 717, 717, - 729, 729, 739, 740, 742, 744, 744, 762, 762, 774, - 774, 784, 785, 788, 789, 792, 792, 802, 803, 806, - 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, - 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, - 829, 829, 836, 837, 838, 839, 842, 842, 850, 850, - 858, 858, 866, 871, 871, 879, 884, 889, 894, 899, - 904, 909, 914, 914, 922, 922, 930, 930, 938, 938, - 946, 951, 956, 962, 962, 972, 973, 976, 977, 978, - 979, 980, 983, 988, 993, 998, 1003, 1008, 1008, 1018, - 1019, 1022, 1023, 1026, 1026, 1036, 1036, 1046, 1047, 1048, - 1051, 1052, 1055, 1055, 1063, 1063, 1071, 1071, 1082, 1083, - 1086, 1087, 1088, 1089, 1090, 1091, 1094, 1099, 1104, 1109, - 1114, 1119, 1127, 1127, 1140, 1141, 1144, 1145, 1152, 1152, - 1178, 1178, 1189, 1190, 1194, 1195, 1196, 1197, 1198, 1199, - 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, - 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, - 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, - 1230, 1233, 1233, 1241, 1241, 1249, 1249, 1257, 1257, 1265, - 1265, 1273, 1273, 1281, 1281, 1291, 1291, 1298, 1299, 1300, - 1301, 1304, 1311, 1311, 1322, 1323, 1327, 1328, 1331, 1331, - 1339, 1340, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, - 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, - 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, - 1371, 1372, 1373, 1374, 1381, 1381, 1394, 1394, 1403, 1404, - 1407, 1408, 1413, 1413, 1428, 1428, 1442, 1443, 1446, 1447, - 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, - 1462, 1464, 1469, 1471, 1471, 1479, 1479, 1487, 1487, 1495, - 1497, 1497, 1505, 1514, 1514, 1526, 1527, 1532, 1533, 1538, - 1538, 1550, 1550, 1562, 1563, 1568, 1569, 1574, 1575, 1576, - 1577, 1578, 1579, 1580, 1581, 1582, 1585, 1587, 1587, 1595, - 1597, 1599, 1604, 1612, 1612, 1624, 1625, 1628, 1629, 1632, - 1632, 1642, 1642, 1652, 1653, 1656, 1657, 1658, 1659, 1660, - 1661, 1662, 1665, 1665, 1673, 1673, 1698, 1698, 1728, 1728, - 1738, 1739, 1742, 1743, 1746, 1746, 1755, 1755, 1764, 1765, - 1768, 1769, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, - 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1790, 1790, 1798, - 1798, 1806, 1806, 1814, 1814, 1822, 1822, 1832, 1832, 1840, - 1840, 1848, 1848, 1856, 1856, 1864, 1864, 1872, 1872, 1880, - 1880, 1893, 1893, 1903, 1904, 1910, 1910, 1920, 1921, 1924, - 1924, 1934, 1935, 1938, 1939, 1942, 1943, 1944, 1945, 1946, - 1947, 1948, 1949, 1950, 1951, 1952, 1955, 1957, 1957, 1965, - 1974, 1981, 1981, 1991, 1992, 1995, 1996, 1997, 1998, 1999, - 2002, 2002, 2010, 2010, 2021, 2021, 2059, 2059, 2071, 2071, - 2081, 2082, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, - 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, - 2105, 2110, 2110, 2118, 2123, 2123, 2131, 2136, 2141, 2141, - 2149, 2150, 2153, 2153, 2162, 2162, 2171, 2177, 2183, 2183, - 2191, 2191, 2200, 2200, 2209, 2209, 2220, 2220, 2227, 2227, - 2234, 2234, 2241, 2241, 2252, 2252, 2262, 2263, 2267, 2268, - 2271, 2271, 2281, 2291, 2291, 2301, 2301, 2312, 2313, 2317, - 2321, 2321, 2333, 2334, 2338, 2338, 2346, 2347, 2350, 2351, - 2352, 2353, 2354, 2355, 2356, 2359, 2364, 2364, 2372, 2372, - 2382, 2383, 2386, 2386, 2394, 2395, 2398, 2399, 2400, 2401, - 2402, 2405, 2405, 2413, 2418, 2423, 2428, 2428 + 0, 275, 275, 275, 276, 276, 277, 277, 278, 278, + 279, 279, 280, 280, 281, 281, 282, 282, 283, 283, + 284, 284, 285, 285, 286, 286, 287, 287, 288, 288, + 296, 297, 298, 299, 300, 301, 302, 305, 310, 310, + 321, 324, 325, 328, 332, 339, 339, 346, 347, 350, + 354, 361, 361, 368, 369, 372, 376, 387, 397, 397, + 413, 414, 418, 419, 420, 421, 422, 423, 426, 426, + 441, 441, 450, 451, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 506, 511, 516, 521, 526, 531, 536, 541, + 546, 551, 551, 559, 564, 569, 574, 579, 584, 589, + 589, 597, 600, 603, 606, 609, 615, 615, 623, 623, + 631, 631, 639, 639, 647, 647, 658, 659, 662, 663, + 664, 665, 666, 667, 668, 671, 671, 680, 680, 690, + 690, 697, 698, 701, 701, 708, 710, 714, 720, 720, + 732, 732, 742, 743, 745, 747, 747, 765, 765, 777, + 777, 787, 788, 791, 792, 795, 795, 805, 806, 809, + 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, + 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, + 832, 832, 839, 840, 841, 842, 845, 845, 853, 853, + 861, 861, 869, 874, 874, 882, 887, 892, 897, 902, + 907, 912, 917, 917, 925, 925, 933, 933, 941, 941, + 949, 954, 959, 965, 965, 975, 976, 979, 980, 981, + 982, 983, 986, 991, 996, 1001, 1006, 1011, 1011, 1021, + 1022, 1025, 1026, 1029, 1029, 1039, 1039, 1049, 1050, 1051, + 1054, 1055, 1058, 1058, 1066, 1066, 1074, 1074, 1085, 1086, + 1089, 1090, 1091, 1092, 1093, 1094, 1097, 1102, 1107, 1112, + 1117, 1122, 1130, 1130, 1143, 1144, 1147, 1148, 1155, 1155, + 1181, 1181, 1192, 1193, 1197, 1198, 1199, 1200, 1201, 1202, + 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, + 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, + 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, + 1233, 1236, 1236, 1244, 1244, 1252, 1252, 1260, 1260, 1268, + 1268, 1276, 1276, 1284, 1284, 1294, 1294, 1301, 1302, 1303, + 1304, 1307, 1314, 1314, 1325, 1326, 1330, 1331, 1334, 1334, + 1342, 1343, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, + 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, + 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, + 1374, 1375, 1376, 1377, 1384, 1384, 1397, 1397, 1406, 1407, + 1410, 1411, 1416, 1416, 1431, 1431, 1445, 1446, 1449, 1450, + 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, + 1465, 1467, 1472, 1474, 1474, 1482, 1482, 1490, 1490, 1498, + 1500, 1500, 1508, 1517, 1517, 1529, 1530, 1535, 1536, 1541, + 1541, 1553, 1553, 1565, 1566, 1571, 1572, 1577, 1578, 1579, + 1580, 1581, 1582, 1583, 1584, 1585, 1588, 1590, 1590, 1598, + 1600, 1602, 1607, 1615, 1615, 1627, 1628, 1631, 1632, 1635, + 1635, 1645, 1645, 1655, 1656, 1659, 1660, 1661, 1662, 1663, + 1664, 1665, 1668, 1668, 1676, 1676, 1701, 1701, 1731, 1731, + 1741, 1742, 1745, 1746, 1749, 1749, 1758, 1758, 1767, 1768, + 1771, 1772, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, + 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1793, 1793, 1801, + 1801, 1809, 1809, 1817, 1817, 1825, 1825, 1835, 1835, 1843, + 1843, 1851, 1851, 1859, 1859, 1867, 1867, 1875, 1875, 1883, + 1883, 1896, 1896, 1906, 1907, 1913, 1913, 1923, 1924, 1927, + 1927, 1937, 1938, 1941, 1942, 1945, 1946, 1947, 1948, 1949, + 1950, 1951, 1952, 1953, 1954, 1955, 1958, 1960, 1960, 1968, + 1977, 1984, 1984, 1994, 1995, 1998, 1999, 2000, 2001, 2002, + 2005, 2005, 2013, 2013, 2024, 2024, 2036, 2037, 2040, 2041, + 2042, 2043, 2044, 2045, 2048, 2053, 2053, 2061, 2066, 2066, + 2075, 2075, 2087, 2087, 2097, 2098, 2101, 2102, 2103, 2104, + 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, + 2115, 2116, 2117, 2118, 2121, 2126, 2126, 2134, 2139, 2139, + 2147, 2152, 2157, 2157, 2165, 2166, 2169, 2169, 2178, 2178, + 2187, 2193, 2199, 2199, 2207, 2207, 2216, 2216, 2225, 2225, + 2236, 2236, 2243, 2243, 2250, 2250, 2257, 2257, 2268, 2268, + 2278, 2279, 2283, 2284, 2287, 2287, 2297, 2307, 2307, 2317, + 2317, 2328, 2329, 2333, 2337, 2337, 2349, 2350, 2354, 2354, + 2362, 2363, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2375, + 2380, 2380, 2388, 2388, 2398, 2399, 2402, 2402, 2410, 2411, + 2414, 2415, 2416, 2417, 2418, 2421, 2421, 2429, 2434, 2439, + 2444, 2444 }; // Print the state stack on the debug stream. @@ -5284,9 +5341,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 5288 "dhcp4_parser.cc" +#line 5345 "dhcp4_parser.cc" -#line 2437 "dhcp4_parser.yy" +#line 2453 "dhcp4_parser.yy" void diff --git a/src/bin/dhcp4/dhcp4_parser.h b/src/bin/dhcp4/dhcp4_parser.h index c6afa29eaa..4936546a05 100644 --- a/src/bin/dhcp4/dhcp4_parser.h +++ b/src/bin/dhcp4/dhcp4_parser.h @@ -582,59 +582,62 @@ namespace isc { namespace dhcp { TOKEN_SOCKET_TYPE = 384, TOKEN_SOCKET_NAME = 385, TOKEN_DHCP_QUEUE_CONTROL = 386, - TOKEN_DHCP_DDNS = 387, - TOKEN_ENABLE_UPDATES = 388, - TOKEN_QUALIFYING_SUFFIX = 389, - TOKEN_SERVER_IP = 390, - TOKEN_SERVER_PORT = 391, - TOKEN_SENDER_IP = 392, - TOKEN_SENDER_PORT = 393, - TOKEN_MAX_QUEUE_SIZE = 394, - TOKEN_NCR_PROTOCOL = 395, - TOKEN_NCR_FORMAT = 396, - TOKEN_OVERRIDE_NO_UPDATE = 397, - TOKEN_OVERRIDE_CLIENT_UPDATE = 398, - TOKEN_REPLACE_CLIENT_NAME = 399, - TOKEN_GENERATED_PREFIX = 400, - TOKEN_TCP = 401, - TOKEN_JSON = 402, - TOKEN_WHEN_PRESENT = 403, - TOKEN_NEVER = 404, - TOKEN_ALWAYS = 405, - TOKEN_WHEN_NOT_PRESENT = 406, - TOKEN_HOSTNAME_CHAR_SET = 407, - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 408, - TOKEN_LOGGING = 409, - TOKEN_LOGGERS = 410, - TOKEN_OUTPUT_OPTIONS = 411, - TOKEN_OUTPUT = 412, - TOKEN_DEBUGLEVEL = 413, - TOKEN_SEVERITY = 414, - TOKEN_FLUSH = 415, - TOKEN_MAXSIZE = 416, - TOKEN_MAXVER = 417, - TOKEN_PATTERN = 418, - TOKEN_DHCP6 = 419, - TOKEN_DHCPDDNS = 420, - TOKEN_CONTROL_AGENT = 421, - TOKEN_TOPLEVEL_JSON = 422, - TOKEN_TOPLEVEL_DHCP4 = 423, - TOKEN_SUB_DHCP4 = 424, - TOKEN_SUB_INTERFACES4 = 425, - TOKEN_SUB_SUBNET4 = 426, - TOKEN_SUB_POOL4 = 427, - TOKEN_SUB_RESERVATION = 428, - TOKEN_SUB_OPTION_DEFS = 429, - TOKEN_SUB_OPTION_DEF = 430, - TOKEN_SUB_OPTION_DATA = 431, - TOKEN_SUB_HOOKS_LIBRARY = 432, - TOKEN_SUB_DHCP_DDNS = 433, - TOKEN_SUB_LOGGING = 434, - TOKEN_SUB_CONFIG_CONTROL = 435, - TOKEN_STRING = 436, - TOKEN_INTEGER = 437, - TOKEN_FLOAT = 438, - TOKEN_BOOLEAN = 439 + TOKEN_ENABLE_QUEUE = 387, + TOKEN_QUEUE_TYPE = 388, + TOKEN_CAPACITY = 389, + TOKEN_DHCP_DDNS = 390, + TOKEN_ENABLE_UPDATES = 391, + TOKEN_QUALIFYING_SUFFIX = 392, + TOKEN_SERVER_IP = 393, + TOKEN_SERVER_PORT = 394, + TOKEN_SENDER_IP = 395, + TOKEN_SENDER_PORT = 396, + TOKEN_MAX_QUEUE_SIZE = 397, + TOKEN_NCR_PROTOCOL = 398, + TOKEN_NCR_FORMAT = 399, + TOKEN_OVERRIDE_NO_UPDATE = 400, + TOKEN_OVERRIDE_CLIENT_UPDATE = 401, + TOKEN_REPLACE_CLIENT_NAME = 402, + TOKEN_GENERATED_PREFIX = 403, + TOKEN_TCP = 404, + TOKEN_JSON = 405, + TOKEN_WHEN_PRESENT = 406, + TOKEN_NEVER = 407, + TOKEN_ALWAYS = 408, + TOKEN_WHEN_NOT_PRESENT = 409, + TOKEN_HOSTNAME_CHAR_SET = 410, + TOKEN_HOSTNAME_CHAR_REPLACEMENT = 411, + TOKEN_LOGGING = 412, + TOKEN_LOGGERS = 413, + TOKEN_OUTPUT_OPTIONS = 414, + TOKEN_OUTPUT = 415, + TOKEN_DEBUGLEVEL = 416, + TOKEN_SEVERITY = 417, + TOKEN_FLUSH = 418, + TOKEN_MAXSIZE = 419, + TOKEN_MAXVER = 420, + TOKEN_PATTERN = 421, + TOKEN_DHCP6 = 422, + TOKEN_DHCPDDNS = 423, + TOKEN_CONTROL_AGENT = 424, + TOKEN_TOPLEVEL_JSON = 425, + TOKEN_TOPLEVEL_DHCP4 = 426, + TOKEN_SUB_DHCP4 = 427, + TOKEN_SUB_INTERFACES4 = 428, + TOKEN_SUB_SUBNET4 = 429, + TOKEN_SUB_POOL4 = 430, + TOKEN_SUB_RESERVATION = 431, + TOKEN_SUB_OPTION_DEFS = 432, + TOKEN_SUB_OPTION_DEF = 433, + TOKEN_SUB_OPTION_DATA = 434, + TOKEN_SUB_HOOKS_LIBRARY = 435, + TOKEN_SUB_DHCP_DDNS = 436, + TOKEN_SUB_LOGGING = 437, + TOKEN_SUB_CONFIG_CONTROL = 438, + TOKEN_STRING = 439, + TOKEN_INTEGER = 440, + TOKEN_FLOAT = 441, + TOKEN_BOOLEAN = 442 }; }; @@ -776,30 +779,30 @@ namespace isc { namespace dhcp { // Type destructor. switch (yytype) { - case 201: // value - case 205: // map_value - case 246: // ddns_replace_client_name_value - case 265: // socket_type - case 268: // outbound_interface_value - case 290: // db_type - case 377: // hr_mode - case 524: // ncr_protocol_value + case 204: // value + case 208: // map_value + case 249: // ddns_replace_client_name_value + case 268: // socket_type + case 271: // outbound_interface_value + case 293: // db_type + case 380: // hr_mode + case 535: // ncr_protocol_value value.template destroy< ElementPtr > (); break; - case 184: // "boolean" + case 187: // "boolean" value.template destroy< bool > (); break; - case 183: // "floating point" + case 186: // "floating point" value.template destroy< double > (); break; - case 182: // "integer" + case 185: // "integer" value.template destroy< int64_t > (); break; - case 181: // "constant string" + case 184: // "constant string" value.template destroy< std::string > (); break; @@ -882,13 +885,13 @@ switch (yytype) symbol_type (int tok, location_type l) : super_type(token_type (tok), std::move (l)) { - YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL); + YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL); } #else symbol_type (int tok, const location_type& l) : super_type(token_type (tok), l) { - YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL); + YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL); } #endif #if 201103L <= YY_CPLUSPLUS @@ -2933,6 +2936,51 @@ switch (yytype) #if 201103L <= YY_CPLUSPLUS static symbol_type + make_ENABLE_QUEUE (location_type l) + { + return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l)); + } +#else + static + symbol_type + make_ENABLE_QUEUE (const location_type& l) + { + return symbol_type (token::TOKEN_ENABLE_QUEUE, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_QUEUE_TYPE (location_type l) + { + return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l)); + } +#else + static + symbol_type + make_QUEUE_TYPE (const location_type& l) + { + return symbol_type (token::TOKEN_QUEUE_TYPE, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_CAPACITY (location_type l) + { + return symbol_type (token::TOKEN_CAPACITY, std::move (l)); + } +#else + static + symbol_type + make_CAPACITY (const location_type& l) + { + return symbol_type (token::TOKEN_CAPACITY, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type make_DHCP_DDNS (location_type l) { return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l)); @@ -4031,12 +4079,12 @@ switch (yytype) enum { yyeof_ = 0, - yylast_ = 1127, ///< Last index in yytable_. - yynnts_ = 399, ///< Number of nonterminal symbols. + yylast_ = 1160, ///< Last index in yytable_. + yynnts_ = 407, ///< Number of nonterminal symbols. yyfinal_ = 30, ///< Termination state number. yyterror_ = 1, yyerrcode_ = 256, - yyntokens_ = 185 ///< Number of tokens. + yyntokens_ = 188 ///< Number of tokens. }; @@ -4097,9 +4145,10 @@ switch (yytype) 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184 + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187 }; - const unsigned user_token_number_max_ = 439; + const unsigned user_token_number_max_ = 442; const token_number_type undef_token_ = 2; if (static_cast<int> (t) <= yyeof_) @@ -4120,30 +4169,30 @@ switch (yytype) { switch (this->type_get ()) { - case 201: // value - case 205: // map_value - case 246: // ddns_replace_client_name_value - case 265: // socket_type - case 268: // outbound_interface_value - case 290: // db_type - case 377: // hr_mode - case 524: // ncr_protocol_value + case 204: // value + case 208: // map_value + case 249: // ddns_replace_client_name_value + case 268: // socket_type + case 271: // outbound_interface_value + case 293: // db_type + case 380: // hr_mode + case 535: // ncr_protocol_value value.move< ElementPtr > (std::move (that.value)); break; - case 184: // "boolean" + case 187: // "boolean" value.move< bool > (std::move (that.value)); break; - case 183: // "floating point" + case 186: // "floating point" value.move< double > (std::move (that.value)); break; - case 182: // "integer" + case 185: // "integer" value.move< int64_t > (std::move (that.value)); break; - case 181: // "constant string" + case 184: // "constant string" value.move< std::string > (std::move (that.value)); break; @@ -4162,30 +4211,30 @@ switch (yytype) { switch (this->type_get ()) { - case 201: // value - case 205: // map_value - case 246: // ddns_replace_client_name_value - case 265: // socket_type - case 268: // outbound_interface_value - case 290: // db_type - case 377: // hr_mode - case 524: // ncr_protocol_value + case 204: // value + case 208: // map_value + case 249: // ddns_replace_client_name_value + case 268: // socket_type + case 271: // outbound_interface_value + case 293: // db_type + case 380: // hr_mode + case 535: // ncr_protocol_value value.copy< ElementPtr > (YY_MOVE (that.value)); break; - case 184: // "boolean" + case 187: // "boolean" value.copy< bool > (YY_MOVE (that.value)); break; - case 183: // "floating point" + case 186: // "floating point" value.copy< double > (YY_MOVE (that.value)); break; - case 182: // "integer" + case 185: // "integer" value.copy< int64_t > (YY_MOVE (that.value)); break; - case 181: // "constant string" + case 184: // "constant string" value.copy< std::string > (YY_MOVE (that.value)); break; @@ -4211,30 +4260,30 @@ switch (yytype) super_type::move (s); switch (this->type_get ()) { - case 201: // value - case 205: // map_value - case 246: // ddns_replace_client_name_value - case 265: // socket_type - case 268: // outbound_interface_value - case 290: // db_type - case 377: // hr_mode - case 524: // ncr_protocol_value + case 204: // value + case 208: // map_value + case 249: // ddns_replace_client_name_value + case 268: // socket_type + case 271: // outbound_interface_value + case 293: // db_type + case 380: // hr_mode + case 535: // ncr_protocol_value value.move< ElementPtr > (YY_MOVE (s.value)); break; - case 184: // "boolean" + case 187: // "boolean" value.move< bool > (YY_MOVE (s.value)); break; - case 183: // "floating point" + case 186: // "floating point" value.move< double > (YY_MOVE (s.value)); break; - case 182: // "integer" + case 185: // "integer" value.move< int64_t > (YY_MOVE (s.value)); break; - case 181: // "constant string" + case 184: // "constant string" value.move< std::string > (YY_MOVE (s.value)); break; @@ -4320,14 +4369,14 @@ switch (yytype) 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 438, 439 + 435, 436, 437, 438, 439, 440, 441, 442 }; return token_type (yytoken_number_[type]); } #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 4331 "dhcp4_parser.h" +#line 4380 "dhcp4_parser.h" diff --git a/src/bin/dhcp4/location.hh b/src/bin/dhcp4/location.hh index 535f56121b..595271cfaf 100644 --- a/src/bin/dhcp4/location.hh +++ b/src/bin/dhcp4/location.hh @@ -1,4 +1,4 @@ -// Generated 201910280902 +// Generated 201911051009 // A Bison parser, made by GNU Bison 3.4.2. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp4/position.hh b/src/bin/dhcp4/position.hh index d80a729037..f122d3ae80 100644 --- a/src/bin/dhcp4/position.hh +++ b/src/bin/dhcp4/position.hh @@ -1,4 +1,4 @@ -// Generated 201910280902 +// Generated 201911051009 // A Bison parser, made by GNU Bison 3.4.2. // Starting with Bison 3.2, this file is useless: the structure it diff --git a/src/bin/dhcp4/stack.hh b/src/bin/dhcp4/stack.hh index 816fdacfe9..f0ff0445f9 100644 --- a/src/bin/dhcp4/stack.hh +++ b/src/bin/dhcp4/stack.hh @@ -1,4 +1,4 @@ -// Generated 201910280902 +// Generated 201911051009 // A Bison parser, made by GNU Bison 3.4.2. // Starting with Bison 3.2, this file is useless: the structure it diff --git a/src/bin/dhcp6/dhcp6_lexer.cc b/src/bin/dhcp6/dhcp6_lexer.cc index 647b45c6ec..0a10a17282 100644 --- a/src/bin/dhcp6/dhcp6_lexer.cc +++ b/src/bin/dhcp6/dhcp6_lexer.cc @@ -1,6 +1,6 @@ -#line 2 "dhcp6_lexer.cc" +#line 1 "dhcp6_lexer.cc" -#line 4 "dhcp6_lexer.cc" +#line 3 "dhcp6_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 198 -#define YY_END_OF_BUFFER 199 +#define YY_NUM_RULES 201 +#define YY_END_OF_BUFFER 202 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,21 +700,21 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[1736] = +static const flex_int16_t yy_accept[1758] = { 0, - 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 199, 197, 10, 11, 197, 1, 191, 188, 191, 191, - 197, 190, 189, 197, 197, 197, 197, 197, 184, 185, - 197, 197, 197, 186, 187, 5, 5, 5, 197, 197, - 197, 10, 11, 0, 0, 180, 0, 0, 0, 0, + 194, 194, 0, 0, 0, 0, 0, 0, 0, 0, + 202, 200, 10, 11, 200, 1, 194, 191, 194, 194, + 200, 193, 192, 200, 200, 200, 200, 200, 187, 188, + 200, 200, 200, 189, 190, 5, 5, 5, 200, 200, + 200, 10, 11, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 191, - 191, 0, 190, 191, 3, 2, 6, 0, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 194, + 194, 0, 193, 194, 3, 2, 6, 0, 194, 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, 0, - 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, + 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -724,175 +724,177 @@ static const flex_int16_t yy_accept[1736] = 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 158, 0, 0, 159, 0, - 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 196, 194, 0, 193, 192, 0, 0, 0, 0, - 0, 0, 0, 157, 0, 0, 28, 0, 27, 0, - 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 199, 197, 0, 196, 195, 0, 0, + 0, 0, 0, 0, 0, 157, 0, 0, 28, 0, + 27, 0, 0, 116, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, - 192, 0, 0, 0, 0, 0, 0, 0, 0, 29, - 0, 0, 31, 0, 0, 0, 0, 0, 0, 117, - 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, - 0, 0, 0, 0, 0, 0, 142, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 198, 195, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 0, 0, 31, 0, 0, 0, + 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, + 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, + 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, - 0, 0, 0, 0, 0, 0, 0, 103, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 103, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 137, 162, 51, 0, 56, 0, 0, 0, 0, 0, - 0, 177, 37, 0, 34, 0, 33, 0, 0, 0, - 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 137, 162, 51, 0, + 56, 0, 0, 0, 0, 0, 0, 180, 37, 0, + 34, 0, 33, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, - 0, 0, 0, 0, 0, 0, 0, 0, 161, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, + 0, 0, 0, 0, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, - 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 151, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 35, + 0, 0, 0, 0, 0, 0, 53, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 151, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, + 0, 0, 0, 0, 0, 0, 7, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, + 0, 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, + 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 124, 0, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, + 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 155, 125, 0, 0, 0, 0, 0, 0, - 0, 129, 52, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 131, 0, 60, 0, 0, 0, + 0, 0, 0, 0, 155, 125, 0, 0, 0, 0, + 0, 0, 0, 129, 52, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 131, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, - 0, 0, 0, 0, 0, 178, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, + 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, + 0, 0, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 112, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, + 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 144, 0, 0, 0, 0, 0, 0, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 57, 97, 0, 0, 0, 141, 0, 0, 0, - 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, + 0, 0, 0, 0, 0, 0, 57, 97, 0, 0, + 0, 141, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 176, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 0, 0, 156, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 16, 0, 0, 156, 14, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, - 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 143, 160, 0, - 40, 0, 152, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, - 91, 0, 0, 0, 0, 154, 54, 0, 99, 0, + 0, 147, 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 143, 160, 0, 40, + 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 20, 0, 0, 0, 91, + 0, 0, 0, 0, 154, 54, 0, 99, 0, 177, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 82, 0, 0, 0, 122, 123, 0, 0, 0, 0, 0, 0, 0, 0, 95, - 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 92, 114, + 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, + 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 79, 0, 0, 0, 0, 0, 0, 17, + 0, 15, 0, 174, 173, 0, 69, 0, 0, 0, + + 0, 0, 30, 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 79, 0, 0, 0, 0, 0, 0, 17, 0, - 15, 0, 174, 173, 0, 69, 0, 0, 0, 0, - 0, 30, 0, 136, 0, 0, 0, 0, 0, 0, + 0, 171, 176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 108, 0, 140, 43, 0, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, + 0, 0, 0, 0, 0, 0, 110, 80, 0, 0, + 148, 0, 0, 0, 0, 0, 139, 0, 0, 0, + 0, 0, 104, 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 102, 0, 0, 163, 0, 0, 0, 0, 0, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 108, 0, 140, 43, 0, 61, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, - 0, 0, 0, 0, 110, 80, 0, 0, 148, 0, - 0, 0, 0, 0, 139, 0, 0, 0, 0, 0, - 104, 0, 179, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 42, 0, 0, 68, - 0, 0, 0, 0, 134, 47, 0, 0, 0, 70, - 172, 38, 0, 0, 0, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 45, 0, 0, 44, 0, 18, 0, 0, 0, 72, - 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, - 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 0, 0, 0, 0, 0, 153, - 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, - + 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, + 0, 68, 0, 0, 0, 0, 134, 47, 0, 0, + 0, 70, 172, 38, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 44, 0, 18, 0, 0, + 0, 72, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 67, 0, 0, 0, 90, 0, 36, 0, 48, + 0, 76, 0, 0, 0, 0, 62, 0, 0, 0, + + 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, + 0, 153, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, - 169, 0, 0, 0, 0, 138, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, - 0, 0, 0, 0, 25, 39, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, + 0, 0, 0, 67, 0, 0, 0, 90, 0, 36, + 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, + 0, 0, 169, 0, 0, 0, 0, 138, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, + 0, 0, 0, 0, 0, 0, 25, 39, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 175, 0, 0, 0, 0, 0, 0, 0, 168, - 0, 78, 0, 77, 0, 21, 73, 0, 0, 0, - 0, 0, 65, 0, 121, 0, 0, 0, 0, 0, - 0, 0, 101, 0, 0, 167, 0, 0, 0, 71, - 0, 0, 0, 66, 0, 23, 0, 0, 0, 0, + 0, 0, 0, 175, 0, 0, 0, 0, 0, 0, + 0, 168, 0, 78, 0, 77, 0, 21, 73, 0, + 0, 0, 0, 0, 65, 0, 121, 0, 0, 0, + 0, 0, 0, 0, 101, 0, 0, 167, 0, 0, + 0, 71, 0, 0, 0, 66, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 49, 0, 0, 88, 0, 0, - 0, 0, 0, 0, 75, 74, 22, 0, 119, 135, - 0, 0, 84, 0, 0, 0, 0, 0, 0, 165, - 170, 0, 86, 81, 0, 0, 0, 0, 0, 164, - 0, 0, 26, 0, 0, 0, 85, 0, 0, 0, - 120, 0, 0, 166, 0 + 0, 0, 0, 0, 0, 0, 49, 0, 0, 88, + 0, 0, 0, 0, 0, 0, 75, 74, 22, 0, + 119, 135, 0, 0, 84, 0, 0, 0, 0, 0, + 0, 165, 170, 0, 86, 81, 0, 0, 0, 0, + 0, 164, 0, 0, 26, 0, 0, 0, 85, 0, + 0, 0, 120, 0, 0, 166, 0 } ; static const YY_CHAR yy_ec[256] = @@ -939,416 +941,420 @@ static const YY_CHAR yy_meta[74] = 3, 3, 3 } ; -static const flex_int16_t yy_base[1748] = +static const flex_int16_t yy_base[1770] = { 0, 0, 72, 21, 31, 43, 51, 54, 60, 91, 99, - 2137, 2138, 34, 2133, 145, 0, 207, 2138, 214, 221, - 13, 228, 2138, 2113, 118, 25, 2, 6, 2138, 2138, - 73, 11, 17, 2138, 2138, 2138, 104, 2121, 2074, 0, - 2111, 108, 2128, 24, 256, 2138, 67, 2070, 2076, 2096, + 2159, 2160, 34, 2155, 145, 0, 207, 2160, 214, 221, + 13, 228, 2160, 2135, 118, 25, 2, 6, 2160, 2160, + 73, 11, 17, 2160, 2160, 2160, 104, 2143, 2096, 0, + 2133, 108, 2150, 24, 256, 2160, 67, 2092, 2098, 2118, 84, 75, 189, 88, 226, 91, 89, 284, 196, 206, - 279, 191, 210, 197, 60, 216, 2077, 241, 284, 309, - 297, 316, 2060, 212, 321, 345, 326, 2079, 0, 386, - 402, 416, 423, 428, 2138, 0, 2138, 442, 447, 241, - 242, 302, 269, 315, 303, 2138, 2076, 2117, 2138, 345, - - 2138, 441, 337, 2063, 2073, 2114, 352, 10, 336, 2067, - 339, 242, 346, 360, 399, 2112, 0, 494, 411, 2054, - 2059, 2061, 417, 2057, 2046, 2047, 2052, 350, 2062, 2045, - 2054, 421, 362, 219, 2048, 2046, 332, 2035, 2093, 422, - 2038, 2091, 2031, 2054, 2051, 2051, 2045, 405, 2038, 2036, - 2030, 2035, 2029, 431, 2040, 2033, 2024, 2023, 2037, 417, - 2075, 2022, 427, 2034, 2037, 2021, 490, 2022, 426, 2034, - 2031, 2032, 2030, 2065, 2064, 462, 2010, 2015, 2011, 2003, - 2020, 2012, 0, 435, 391, 475, 441, 472, 489, 2011, - 2138, 0, 504, 2002, 2005, 2138, 492, 465, 2138, 2059, - - 2012, 503, 2057, 505, 2056, 499, 2055, 2138, 545, 2054, - 511, 2013, 2010, 2007, 2006, 1997, 515, 2048, 2042, 2006, - 1987, 1984, 1992, 1998, 1986, 2000, 1996, 1997, 1997, 1992, - 1984, 1986, 1970, 1974, 1987, 1989, 1986, 1978, 1968, 1971, - 1985, 2138, 1971, 1979, 1982, 1963, 1962, 2014, 1961, 1971, - 2011, 522, 1970, 2009, 1957, 1968, 2006, 537, 2010, 1945, - 1960, 504, 1950, 1966, 1947, 1945, 1948, 1944, 1950, 1941, - 1940, 1953, 1946, 1948, 1952, 1951, 1945, 518, 1952, 1947, - 1939, 1929, 1944, 1939, 1943, 357, 1941, 1927, 1933, 1940, - 1928, 1925, 1924, 333, 1919, 1933, 1932, 1935, 1917, 1925, - - 540, 2138, 2138, 549, 2138, 2138, 1912, 0, 507, 1914, - 580, 554, 1970, 2138, 1921, 547, 2138, 1968, 2138, 1962, - 597, 2138, 547, 1902, 1905, 1911, 1963, 1918, 1913, 1916, - 1911, 80, 2138, 1913, 380, 1952, 1910, 1907, 1908, 590, - 1912, 1952, 1900, 1895, 1892, 1888, 1890, 1941, 1898, 1887, - 1903, 1937, 1883, 594, 1896, 1896, 1879, 1880, 1893, 1880, - 1890, 1885, 1892, 1887, 1872, 565, 1881, 1884, 1879, 541, - 1875, 1925, 558, 568, 2138, 1919, 1869, 1868, 1861, 1863, - 1867, 1856, 1873, 1862, 1867, 520, 1914, 1867, 579, 1864, - 1868, 1866, 1855, 1855, 1867, 571, 1842, 1843, 1864, 585, - - 1846, 1843, 1857, 1860, 1855, 1841, 1853, 1852, 1851, 1850, - 1849, 1848, 581, 1891, 1890, 1889, 1831, 630, 1844, 2138, - 2138, 1843, 0, 602, 1831, 1884, 1883, 1839, 1881, 2138, - 1827, 1879, 2138, 617, 665, 606, 1878, 1826, 1817, 2138, - 1822, 1828, 1831, 1814, 1829, 1816, 1815, 2138, 1825, 600, - 1816, 1813, 1825, 605, 1810, 1812, 2138, 1818, 1803, 1805, - 1816, 1814, 1809, 644, 1816, 1804, 1797, 1848, 2138, 1795, - 1811, 1845, 1849, 1805, 1799, 1801, 1802, 1804, 1838, 1789, - 1784, 1783, 1785, 1781, 1777, 609, 1796, 1770, 1777, 1782, - 1775, 1791, 1830, 2138, 1775, 1771, 1827, 1778, 1772, 1779, - - 1764, 1774, 1777, 1766, 1762, 1764, 1759, 2138, 1816, 2138, - 1758, 1757, 1750, 1767, 1806, 1751, 1756, 1765, 1759, 1753, - 1762, 650, 1799, 1761, 1744, 1744, 1739, 1735, 1741, 1746, - 1739, 1747, 1751, 1734, 1792, 1732, 1733, 1732, 1744, 1733, - 2138, 2138, 2138, 1733, 2138, 1743, 1779, 1739, 0, 1782, - 1730, 2138, 2138, 1727, 2138, 1733, 2138, 624, 633, 666, - 2138, 1738, 1772, 1717, 1770, 1715, 1714, 1713, 1720, 1713, - 1721, 1724, 1706, 1706, 1721, 1720, 1719, 1718, 1702, 1717, - 1699, 1746, 1713, 1751, 1695, 1697, 1709, 1709, 1708, 2138, - 1693, 1690, 1748, 1703, 1695, 1701, 1692, 1700, 2138, 1685, - - 1696, 1700, 1682, 1696, 446, 1678, 1672, 1677, 1674, 1689, - 1688, 1689, 1668, 1678, 1684, 1727, 1682, 1681, 1673, 2138, - 1666, 1668, 2138, 1676, 1715, 1714, 16, 1675, 1658, 1659, - 1662, 1663, 1654, 2138, 1668, 1654, 688, 1646, 1667, 1664, - 1656, 1701, 1653, 1660, 1698, 2138, 1644, 1642, 1656, 1640, - 1654, 1657, 1691, 1690, 1689, 1688, 1633, 1686, 1685, 2138, - 667, 1647, 1646, 1643, 1643, 1641, 1630, 1632, 2138, 2138, - 1677, 1623, 1680, 637, 648, 1621, 1619, 1635, 1676, 652, - 1670, 1630, 1668, 1667, 1619, 1613, 1616, 1624, 1627, 1611, - 1612, 1603, 1658, 1618, 1608, 1616, 1654, 1615, 1597, 1605, - - 1607, 1611, 1648, 1652, 1607, 1606, 2138, 1607, 1600, 1589, - 1602, 1605, 1600, 1595, 1600, 1597, 1596, 1592, 1598, 1593, - 1636, 1635, 1577, 1588, 75, 647, 269, 283, 347, 2138, - 477, 462, 460, 477, 481, 572, 536, 555, 2138, 558, - 615, 621, 637, 681, 631, 691, 641, 656, 2138, 651, - 645, 656, 657, 670, 649, 655, 710, 674, 658, 658, - 671, 715, 716, 717, 664, 682, 678, 683, 679, 664, - 676, 677, 2138, 731, 691, 693, 684, 696, 698, 689, - 695, 704, 745, 2138, 741, 717, 704, 705, 699, 2138, - 697, 712, 709, 695, 702, 701, 699, 718, 715, 716, - - 704, 711, 712, 721, 721, 711, 724, 710, 709, 715, - 771, 717, 733, 716, 771, 726, 2138, 736, 736, 729, - 740, 738, 783, 725, 727, 742, 743, 731, 790, 747, - 733, 736, 2138, 2138, 752, 751, 752, 757, 745, 755, - 757, 2138, 2138, 757, 759, 763, 750, 748, 766, 753, - 753, 804, 754, 812, 2138, 813, 2138, 758, 772, 772, - 817, 765, 767, 761, 821, 774, 764, 765, 761, 771, - 775, 786, 770, 788, 783, 785, 778, 780, 781, 793, - 783, 798, 839, 796, 801, 778, 2138, 790, 791, 805, - 795, 842, 790, 805, 805, 2138, 824, 832, 801, 850, - - 816, 804, 799, 800, 812, 819, 808, 809, 805, 823, - 809, 810, 820, 829, 865, 820, 815, 868, 874, 831, - 823, 2138, 835, 821, 837, 827, 839, 833, 880, 846, - 830, 831, 2138, 847, 850, 833, 835, 893, 836, 2138, - 853, 856, 836, 855, 843, 896, 854, 850, 847, 900, - 849, 902, 849, 867, 866, 852, 867, 859, 855, 873, - 858, 2138, 2138, 866, 913, 866, 2138, 874, 869, 922, - 2138, 871, 876, 920, 872, 873, 885, 879, 883, 881, - 879, 890, 935, 879, 884, 938, 939, 883, 895, 2138, - 883, 891, 889, 886, 887, 896, 908, 892, 906, 908, - - 909, 925, 930, 912, 898, 900, 900, 920, 919, 910, - 899, 916, 923, 966, 908, 928, 921, 925, 929, 912, - 973, 920, 924, 2138, 971, 920, 938, 935, 975, 924, - 944, 945, 931, 939, 948, 928, 943, 950, 992, 993, - 2138, 946, 995, 996, 947, 957, 959, 943, 945, 945, - 952, 961, 949, 956, 951, 958, 1010, 957, 956, 973, - 1014, 964, 968, 966, 964, 1019, 1020, 970, 1022, 1018, - 976, 2138, 981, 974, 965, 984, 978, 973, 983, 980, - 985, 981, 993, 2138, 977, 979, 2138, 2138, 979, 1039, - 979, 998, 999, 1044, 1045, 998, 983, 1004, 986, 991, - - 998, 1031, 1022, 1054, 1011, 998, 1000, 1017, 1012, 1016, - 1061, 1009, 1013, 2138, 1010, 1006, 1023, 1003, 1024, 1014, - 2138, 1029, 1027, 1030, 1014, 1015, 1076, 1029, 1034, 1021, - 1032, 1025, 1031, 1027, 1045, 1046, 1047, 2138, 2138, 1045, - 2138, 1047, 2138, 1032, 1033, 1052, 1042, 1094, 1051, 1048, - 1092, 1056, 1045, 1052, 1057, 1054, 2138, 1052, 1044, 1105, - 2138, 1106, 1053, 1060, 1104, 2138, 2138, 1062, 2138, 1053, - 1053, 1056, 1070, 1075, 1058, 1069, 1118, 1075, 1076, 1077, - 1117, 1073, 1124, 1077, 1126, 2138, 1073, 1128, 1129, 2138, - 2138, 1069, 1131, 1090, 1074, 1086, 1076, 1106, 1137, 2138, - - 1094, 1139, 1086, 1101, 1137, 1089, 2138, 1085, 1101, 1089, - 1103, 1104, 1101, 1145, 1108, 1112, 1100, 1100, 1155, 1112, - 2138, 1114, 1113, 1115, 1108, 1117, 1118, 1115, 1106, 1109, - 1109, 1168, 1115, 1170, 1171, 1114, 1173, 2138, 1131, 1111, - 1126, 1119, 1122, 1135, 1138, 1137, 1184, 1138, 2138, 2138, - 1134, 1144, 1129, 1145, 1131, 1192, 1193, 1137, 1147, 1196, - 1153, 2138, 1145, 1145, 1147, 1149, 1202, 1145, 2138, 1146, - 2138, 1148, 2138, 2138, 1162, 2138, 1156, 1208, 1157, 1210, - 1190, 2138, 1207, 2138, 1155, 1163, 1157, 1154, 1157, 1160, - 1160, 1156, 1178, 1217, 1170, 1182, 1185, 1167, 1227, 1175, - - 2138, 1171, 1230, 1183, 1174, 1189, 1190, 1193, 1193, 1190, - 1234, 1196, 2138, 1188, 2138, 2138, 1198, 2138, 1238, 1200, - 1201, 1198, 1242, 1190, 1205, 1245, 1207, 2138, 1195, 1195, - 1201, 1200, 1212, 1212, 2138, 2138, 1253, 1200, 2138, 1217, - 1202, 1202, 1204, 1210, 2138, 1265, 1207, 1217, 1268, 1229, - 2138, 1226, 2138, 1245, 1213, 1273, 1274, 1231, 1236, 1218, - 1278, 1279, 1280, 1276, 1240, 1237, 1233, 1226, 1238, 2138, - 1228, 1288, 2138, 1226, 1285, 1248, 1244, 1289, 1237, 1242, - 1242, 1297, 1256, 1302, 1252, 1304, 1265, 1254, 1248, 1308, - 1250, 1259, 1252, 1268, 1313, 1255, 1272, 1257, 1272, 1256, - - 1314, 1315, 1316, 1263, 1318, 1281, 2138, 1281, 1268, 2138, - 1279, 1328, 1298, 1282, 2138, 2138, 1273, 1284, 1333, 2138, - 2138, 2138, 1279, 1284, 1282, 1332, 1290, 1295, 1286, 1284, - 2138, 1342, 1288, 1339, 1282, 1287, 1348, 1296, 1306, 1307, - 2138, 1352, 1305, 2138, 1306, 2138, 1298, 1314, 1302, 2138, - 1312, 1313, 1314, 1320, 2138, 1359, 1325, 1318, 1319, 1328, - 1310, 1316, 1318, 1372, 1331, 1330, 1322, 1376, 1325, 2138, - 1378, 1327, 1380, 1322, 2138, 1325, 1335, 1379, 1327, 1342, - 1329, 1335, 1335, 2138, 1339, 1334, 1333, 1393, 1346, 2138, - 1390, 1341, 1338, 2138, 1352, 1354, 1356, 1401, 1354, 1351, - - 1359, 1353, 1406, 1347, 1349, 1357, 1347, 1363, 1364, 1358, - 1374, 2138, 1364, 1416, 1375, 2138, 1413, 2138, 1375, 2138, - 1415, 1377, 1378, 1363, 1364, 1372, 1426, 1422, 1377, 1385, - 1376, 1383, 2138, 1380, 1385, 1383, 1435, 1436, 1393, 1380, - 2138, 1395, 1396, 1397, 1398, 2138, 1388, 1400, 1401, 1446, - 1388, 1396, 1390, 1398, 1411, 2138, 1388, 1411, 1396, 1396, - 1411, 1404, 1403, 1414, 1401, 2138, 1406, 1462, 1410, 1422, - 1413, 1422, 1424, 1428, 2138, 2138, 1410, 1470, 1413, 1472, - 1414, 1474, 1432, 1476, 1477, 2138, 1473, 1435, 1432, 1437, - 1424, 1483, 1420, 1485, 1438, 1439, 1429, 1446, 1445, 1486, - - 1448, 2138, 1493, 1450, 1451, 1496, 1453, 1456, 1451, 2138, - 1500, 2138, 1453, 2138, 1462, 2138, 2138, 1444, 1504, 1451, - 1506, 1449, 2138, 1466, 2138, 1457, 1447, 1506, 1472, 1465, - 1461, 1458, 2138, 1458, 1460, 2138, 1465, 1475, 1468, 2138, - 1469, 1463, 1475, 2138, 1471, 2138, 1481, 1475, 1483, 1528, - 1469, 1471, 1468, 1492, 1485, 1476, 1530, 1477, 1485, 1494, - 1495, 1496, 1489, 1484, 1485, 1500, 1545, 2138, 1491, 1503, - 1548, 1497, 1496, 1503, 1490, 1505, 1510, 1555, 1556, 1557, - 1514, 1559, 1560, 1503, 2138, 1519, 1563, 2138, 1520, 1522, - 1513, 1527, 1523, 1516, 2138, 2138, 2138, 1570, 2138, 2138, - - 1571, 1532, 2138, 1573, 1574, 1529, 1528, 1529, 1519, 2138, - 2138, 1520, 2138, 2138, 1580, 1522, 1538, 1583, 1540, 2138, - 1580, 1529, 2138, 1587, 1529, 1531, 2138, 1542, 1591, 1540, - 2138, 1549, 1594, 2138, 2138, 1600, 1605, 1610, 1615, 1620, - 1625, 1630, 1633, 1607, 1612, 1614, 1627 + 279, 191, 210, 197, 60, 216, 2099, 241, 284, 309, + 297, 316, 2082, 212, 321, 345, 326, 2101, 0, 386, + 402, 416, 423, 428, 2160, 0, 2160, 442, 447, 241, + 242, 302, 269, 315, 303, 2160, 2098, 2139, 2160, 345, + + 2160, 441, 337, 2085, 2095, 2136, 352, 10, 336, 2089, + 339, 242, 346, 360, 399, 2134, 0, 494, 411, 2076, + 335, 2084, 417, 2080, 2069, 2070, 2075, 350, 2085, 2068, + 2077, 421, 362, 219, 2071, 2069, 417, 2058, 2116, 422, + 2061, 2114, 2054, 2077, 2074, 2074, 2068, 422, 2061, 2059, + 2053, 2058, 2052, 432, 2063, 2056, 2047, 2046, 2060, 430, + 2098, 2045, 438, 2057, 437, 2045, 502, 2046, 464, 2058, + 2055, 2056, 2054, 2089, 2088, 419, 2034, 2039, 2035, 2027, + 2044, 2036, 0, 460, 391, 455, 461, 458, 476, 2035, + 2160, 0, 491, 2026, 2029, 2160, 492, 498, 2160, 2083, + + 2036, 489, 2081, 502, 2080, 501, 2079, 2160, 553, 2078, + 509, 2037, 2034, 2035, 2030, 2029, 2020, 523, 2071, 2065, + 2029, 2010, 2007, 2015, 2021, 2009, 2023, 2019, 2020, 2020, + 2015, 2007, 2009, 1993, 1997, 2010, 2012, 2009, 2001, 1991, + 1994, 2008, 2160, 1994, 2002, 2005, 1986, 1985, 2037, 1984, + 1994, 2034, 525, 1993, 2032, 1980, 1991, 2029, 508, 2033, + 1968, 1983, 328, 1973, 1989, 1970, 1968, 1971, 1967, 1973, + 1964, 1963, 1976, 1969, 1959, 1970, 1974, 1973, 1967, 494, + 1974, 1969, 1961, 1951, 1966, 1961, 1965, 357, 1963, 1949, + 1955, 1962, 1950, 1947, 1946, 380, 1941, 1955, 1954, 1957, + + 1939, 1947, 535, 2160, 2160, 545, 2160, 2160, 1934, 0, + 505, 1936, 579, 556, 1992, 2160, 1943, 530, 2160, 1990, + 2160, 1984, 593, 2160, 543, 1924, 1927, 1944, 1932, 1984, + 1939, 1934, 1937, 1932, 80, 2160, 1934, 479, 1973, 1931, + 1928, 1929, 536, 1933, 1973, 1921, 1916, 1913, 1909, 1911, + 1962, 1919, 1908, 1924, 1958, 1904, 616, 1917, 1917, 1900, + 1901, 1914, 1901, 1911, 1906, 1913, 1908, 1893, 562, 1902, + 1905, 1900, 565, 1896, 1946, 577, 551, 2160, 1940, 1890, + 1889, 1882, 1884, 1888, 1877, 1894, 1883, 1888, 567, 1935, + 1888, 484, 1885, 1888, 1888, 1886, 1875, 1875, 1887, 531, + + 1862, 1863, 1884, 580, 1866, 1863, 1877, 1880, 1875, 1861, + 1873, 1872, 1871, 1870, 1869, 1868, 556, 1911, 1910, 1909, + 1851, 639, 1864, 2160, 2160, 1863, 0, 597, 1851, 1904, + 1903, 1859, 1901, 2160, 1847, 1899, 2160, 603, 667, 610, + 1898, 1846, 1848, 1836, 2160, 1841, 1847, 1850, 1833, 1848, + 1835, 1834, 2160, 1844, 595, 1835, 1832, 1844, 587, 1829, + 1831, 2160, 1837, 1822, 1824, 1835, 1833, 1828, 642, 1835, + 1823, 1816, 1867, 2160, 1814, 1830, 1864, 1868, 1824, 1818, + 1820, 1821, 1823, 1857, 1808, 1803, 1802, 1804, 1800, 1796, + 606, 1815, 1789, 1796, 1801, 1794, 1810, 1849, 2160, 1794, + + 1790, 1846, 1797, 1791, 1798, 1783, 1793, 1796, 1785, 1781, + 1783, 1778, 2160, 1835, 2160, 1777, 1776, 1769, 1786, 1825, + 1824, 1769, 1774, 1783, 1777, 1771, 1780, 654, 1817, 1779, + 1762, 1762, 1757, 1753, 1759, 1764, 1757, 1765, 1769, 1752, + 1810, 1750, 1751, 1750, 1762, 1751, 2160, 2160, 2160, 1751, + 2160, 1761, 1797, 1757, 0, 1800, 1748, 2160, 2160, 1745, + 2160, 1751, 2160, 618, 633, 661, 2160, 1756, 1736, 1789, + 1734, 1787, 1732, 1731, 1730, 1737, 1730, 1738, 1741, 1723, + 1723, 1738, 1737, 1736, 1735, 1719, 1734, 1716, 1763, 1730, + 1768, 1712, 1714, 1726, 1726, 1725, 2160, 1710, 1707, 1765, + + 1720, 1712, 1718, 1709, 1717, 2160, 1702, 1713, 1717, 1699, + 1713, 621, 1695, 1689, 1694, 1691, 1706, 1705, 1706, 1685, + 1695, 1701, 1744, 1699, 1698, 1690, 2160, 1683, 1685, 2160, + 1693, 1732, 1731, 16, 1692, 1675, 1676, 1679, 1680, 1671, + 2160, 1685, 1671, 691, 1663, 1667, 1683, 1680, 1672, 1717, + 1669, 1676, 1714, 2160, 1660, 1658, 1672, 1656, 1670, 1673, + 1707, 1706, 1705, 1704, 1649, 1702, 1701, 2160, 670, 1663, + 1662, 1659, 1659, 1657, 1646, 1648, 2160, 2160, 1693, 1639, + 1696, 634, 627, 1637, 1635, 1629, 1650, 1691, 638, 1685, + 1645, 1683, 1682, 1634, 1628, 1631, 1639, 1642, 1626, 1627, + + 1618, 1673, 1633, 1623, 1631, 1669, 1630, 638, 1621, 1623, + 1627, 1664, 1668, 1623, 1622, 2160, 1623, 1616, 1605, 1618, + 1621, 1616, 1611, 1616, 1613, 1612, 1608, 95, 230, 331, + 338, 290, 540, 532, 641, 641, 609, 667, 2160, 673, + 652, 651, 648, 642, 697, 660, 649, 2160, 651, 662, + 669, 671, 715, 658, 717, 660, 675, 2160, 669, 663, + 674, 659, 670, 683, 662, 668, 723, 687, 671, 671, + 684, 728, 729, 731, 678, 696, 691, 698, 693, 678, + 690, 691, 2160, 745, 703, 705, 696, 709, 711, 702, + 708, 717, 758, 2160, 754, 730, 717, 718, 763, 713, + + 2160, 711, 726, 723, 709, 716, 715, 713, 732, 729, + 730, 718, 725, 726, 735, 735, 725, 738, 724, 723, + 729, 785, 726, 732, 749, 732, 786, 741, 2160, 751, + 751, 744, 755, 753, 798, 740, 742, 757, 758, 746, + 805, 762, 748, 751, 2160, 2160, 767, 766, 767, 772, + 760, 770, 772, 2160, 2160, 772, 774, 778, 765, 763, + 781, 768, 768, 819, 769, 827, 2160, 828, 2160, 773, + 787, 787, 832, 780, 779, 783, 777, 837, 790, 780, + 781, 777, 787, 791, 802, 786, 804, 799, 801, 794, + 796, 797, 809, 799, 814, 855, 812, 817, 794, 2160, + + 806, 807, 821, 811, 858, 806, 821, 821, 2160, 840, + 848, 817, 866, 2160, 832, 820, 815, 816, 828, 835, + 824, 825, 821, 839, 825, 826, 836, 845, 881, 836, + 831, 884, 890, 847, 839, 2160, 850, 853, 838, 854, + 844, 856, 850, 897, 863, 847, 848, 2160, 864, 867, + 850, 852, 910, 853, 2160, 870, 873, 853, 872, 860, + 913, 871, 867, 864, 917, 866, 919, 866, 884, 883, + 869, 884, 876, 872, 890, 875, 2160, 2160, 883, 930, + 883, 2160, 891, 894, 887, 940, 2160, 889, 894, 939, + 890, 891, 903, 897, 901, 899, 897, 908, 953, 897, + + 902, 956, 957, 901, 913, 2160, 901, 909, 907, 904, + 905, 914, 926, 910, 925, 926, 927, 943, 948, 930, + 916, 918, 918, 938, 937, 928, 917, 934, 941, 984, + 926, 946, 939, 943, 947, 930, 991, 938, 942, 2160, + 989, 938, 936, 957, 954, 994, 945, 963, 964, 950, + 958, 967, 947, 962, 969, 1011, 1012, 2160, 965, 1014, + 1015, 966, 976, 978, 962, 964, 964, 971, 980, 968, + 975, 970, 977, 1029, 976, 975, 992, 1033, 983, 987, + 985, 983, 1038, 1039, 989, 1041, 1037, 1043, 996, 2160, + 1001, 994, 985, 1004, 998, 993, 1003, 1000, 1005, 1001, + + 1013, 2160, 997, 999, 2160, 2160, 999, 1060, 999, 1018, + 1019, 1064, 1065, 1018, 1003, 1024, 1006, 1011, 1018, 1051, + 1042, 1074, 1031, 1018, 1020, 1037, 1032, 1036, 1081, 1029, + 1033, 2160, 1030, 1026, 1043, 1023, 1044, 1034, 2160, 1049, + 1047, 1050, 1034, 1050, 1037, 1097, 1050, 1055, 1042, 1054, + 1046, 1052, 1048, 1066, 1067, 1068, 2160, 2160, 1066, 2160, + 1068, 2160, 1053, 1054, 1073, 1063, 1115, 1072, 1069, 1113, + 1077, 1066, 1073, 1078, 1075, 2160, 1073, 1065, 1126, 2160, + 1127, 1074, 1081, 1125, 2160, 2160, 1083, 2160, 1074, 2160, + 1074, 1077, 1091, 1096, 1079, 1090, 1139, 1096, 1097, 1098, + + 1138, 1094, 1145, 1098, 1147, 2160, 1094, 1149, 1150, 2160, + 2160, 1090, 1152, 1111, 1095, 1107, 1097, 1127, 1158, 2160, + 1115, 1160, 1107, 1122, 1158, 1110, 2160, 1106, 1122, 1110, + 1124, 1125, 1122, 1166, 1129, 1133, 1121, 1121, 1176, 1177, + 1134, 2160, 1136, 1135, 1137, 1130, 1139, 1140, 1138, 1128, + 1131, 1131, 1190, 1137, 1192, 1193, 1136, 1195, 2160, 1154, + 1133, 1148, 1141, 1144, 1157, 1160, 1160, 1206, 1160, 2160, + 2160, 1156, 1166, 1151, 1167, 1153, 1214, 1215, 1159, 1169, + 1218, 1175, 2160, 1167, 1167, 1169, 1171, 1224, 1167, 2160, + 1168, 2160, 1170, 2160, 2160, 1184, 2160, 1178, 1230, 1179, + + 1232, 1212, 2160, 1229, 2160, 1177, 1185, 1179, 1176, 1179, + 1182, 1182, 1178, 1200, 1239, 1192, 1204, 1207, 1189, 1249, + 1197, 2160, 2160, 1193, 1252, 1205, 1196, 1211, 1212, 1215, + 1215, 1212, 1256, 1218, 2160, 1210, 2160, 2160, 1220, 2160, + 1260, 1222, 1223, 1220, 1264, 1212, 1227, 1267, 1229, 2160, + 1217, 1217, 1223, 1222, 1234, 1234, 2160, 2160, 1275, 1222, + 2160, 1239, 1224, 1224, 1226, 1232, 2160, 1287, 1229, 1239, + 1290, 1251, 2160, 1248, 2160, 1267, 1235, 1295, 1296, 1253, + 1258, 1240, 1300, 1301, 1302, 1298, 1262, 1259, 1255, 1248, + 1260, 2160, 1250, 1310, 2160, 1248, 1307, 1270, 1266, 1311, + + 1259, 1264, 1264, 1319, 1278, 1324, 1274, 1326, 1287, 1276, + 1270, 1330, 1272, 1281, 1274, 1290, 1335, 1277, 1294, 1279, + 1294, 1278, 1336, 1337, 1338, 1285, 1340, 1303, 2160, 1303, + 1290, 2160, 1301, 1350, 1320, 1304, 2160, 2160, 1295, 1306, + 1355, 2160, 2160, 2160, 1301, 1306, 1304, 1354, 1312, 1317, + 1308, 1306, 2160, 1364, 1310, 1361, 1304, 1309, 1370, 1318, + 1328, 1329, 2160, 1374, 1327, 2160, 1328, 2160, 1320, 1336, + 1324, 2160, 1334, 1335, 1336, 1342, 2160, 1381, 1347, 1340, + 1341, 1350, 1332, 1338, 1340, 1394, 1353, 1352, 1344, 1398, + 1347, 2160, 1400, 1349, 1402, 1344, 2160, 1347, 1357, 1401, + + 1349, 1364, 1351, 1357, 1357, 2160, 1361, 1356, 1355, 1415, + 1368, 2160, 1412, 1363, 1360, 2160, 1374, 1376, 1378, 1423, + 1376, 1373, 1381, 1375, 1428, 1369, 1371, 1379, 1369, 1385, + 1386, 1380, 1396, 2160, 1386, 1438, 1397, 2160, 1435, 2160, + 1397, 2160, 1437, 1399, 1400, 1385, 1386, 1394, 1448, 1444, + 1399, 1407, 1398, 1405, 2160, 1402, 1407, 1405, 1457, 1458, + 1415, 1402, 2160, 1417, 1418, 1419, 1420, 2160, 1410, 1422, + 1423, 1468, 1410, 1418, 1412, 1420, 1433, 2160, 1410, 1433, + 1418, 1418, 1433, 1426, 1425, 1436, 1423, 2160, 1428, 1484, + 1432, 1444, 1435, 1444, 1446, 1450, 2160, 2160, 1432, 1492, + + 1435, 1494, 1436, 1496, 1454, 1498, 1499, 2160, 1495, 1457, + 1454, 1459, 1446, 1505, 1442, 1507, 1460, 1461, 1451, 1468, + 1467, 1508, 1470, 2160, 1515, 1472, 1473, 1518, 1475, 1478, + 1473, 2160, 1522, 2160, 1475, 2160, 1484, 2160, 2160, 1466, + 1526, 1473, 1528, 1471, 2160, 1488, 2160, 1479, 1469, 1528, + 1494, 1487, 1483, 1480, 2160, 1480, 1482, 2160, 1487, 1497, + 1490, 2160, 1491, 1485, 1497, 2160, 1493, 2160, 1503, 1497, + 1505, 1550, 1491, 1493, 1490, 1514, 1507, 1498, 1552, 1499, + 1507, 1516, 1517, 1518, 1511, 1506, 1507, 1522, 1567, 2160, + 1513, 1525, 1570, 1519, 1518, 1525, 1512, 1527, 1532, 1577, + + 1578, 1579, 1536, 1581, 1582, 1525, 2160, 1541, 1585, 2160, + 1542, 1544, 1535, 1549, 1545, 1538, 2160, 2160, 2160, 1592, + 2160, 2160, 1593, 1554, 2160, 1595, 1596, 1551, 1550, 1551, + 1541, 2160, 2160, 1542, 2160, 2160, 1602, 1544, 1560, 1605, + 1562, 2160, 1602, 1551, 2160, 1609, 1551, 1553, 2160, 1564, + 1613, 1562, 2160, 1571, 1616, 2160, 2160, 1622, 1627, 1632, + 1637, 1642, 1647, 1652, 1655, 1629, 1634, 1636, 1649 } ; -static const flex_int16_t yy_def[1748] = +static const flex_int16_t yy_def[1770] = { 0, - 1736, 1736, 1737, 1737, 1736, 1736, 1736, 1736, 1736, 1736, - 1735, 1735, 1735, 1735, 1735, 1738, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1739, - 1735, 1735, 1735, 1740, 15, 1735, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1741, 45, 45, + 1758, 1758, 1759, 1759, 1758, 1758, 1758, 1758, 1758, 1758, + 1757, 1757, 1757, 1757, 1757, 1760, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1761, + 1757, 1757, 1757, 1762, 15, 1757, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1763, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1738, 1735, - 1735, 1735, 1735, 1735, 1735, 1742, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1739, 1735, 1740, + 45, 45, 45, 45, 45, 45, 45, 45, 1760, 1757, + 1757, 1757, 1757, 1757, 1757, 1764, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1761, 1757, 1762, - 1735, 1735, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1743, 45, 1741, 45, 45, + 1757, 1757, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1765, 45, 1763, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1742, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735, 1744, 45, 45, 45, 1735, 45, 45, 1735, 45, + 45, 45, 1764, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1766, 45, 45, 45, 1757, 45, 45, 1757, 45, - 45, 45, 45, 45, 45, 45, 1743, 1735, 1741, 45, + 45, 45, 45, 45, 45, 45, 1765, 1757, 1763, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1735, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1745, 45, 45, - 45, 45, 45, 1735, 45, 45, 1735, 45, 1735, 45, - 1741, 1735, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1767, + 45, 45, 45, 45, 45, 1757, 45, 45, 1757, 45, + 1757, 45, 1763, 1757, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1735, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735, - 1735, 1735, 1746, 45, 45, 45, 45, 45, 45, 1735, - 45, 45, 1735, 45, 1741, 45, 45, 45, 45, 1735, - 45, 45, 45, 45, 45, 45, 45, 1735, 45, 45, - 45, 45, 45, 45, 45, 45, 1735, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1757, 1757, 1757, 1768, 45, 45, 45, + 45, 45, 45, 1757, 45, 45, 1757, 45, 1763, 45, + 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, + 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, + 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1757, 45, - 45, 45, 45, 45, 45, 45, 45, 1735, 45, 1735, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1757, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1757, 1757, 1757, 45, + 1757, 45, 45, 1757, 1769, 45, 45, 1757, 1757, 45, + 1757, 45, 1757, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1735, 1735, 1735, 45, 1735, 45, 45, 1735, 1747, 45, - 45, 1735, 1735, 45, 1735, 45, 1735, 45, 45, 45, - 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735, - 45, 45, 45, 45, 45, 45, 45, 45, 1735, 45, + 45, 45, 45, 45, 45, 45, 1757, 45, 45, 45, + 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735, - 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735, - 45, 45, 45, 45, 45, 45, 45, 45, 1735, 1735, + 45, 45, 45, 45, 45, 45, 1757, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, + 45, 45, 45, 45, 45, 45, 1757, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735, - 45, 45, 45, 45, 45, 45, 45, 45, 1735, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1735, 45, + 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1757, 45, + 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1735, 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, + 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1735, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1735, 1735, 45, 45, 45, 45, 45, 45, - 45, 1735, 1735, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1735, 45, 1735, 45, 45, 45, + 45, 45, 45, 45, 1757, 1757, 45, 45, 45, 45, + 45, 45, 45, 1757, 1757, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1757, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1735, 45, 45, 45, - 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1757, + 45, 45, 45, 45, 45, 45, 45, 45, 1757, 45, + 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, + 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1735, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1735, 45, 45, 45, 45, 45, 45, 1735, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1735, 1735, 45, 45, 45, 1735, 45, 45, 45, - 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735, + 45, 45, 45, 45, 45, 45, 1757, 1757, 45, 45, + 45, 1757, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1735, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1735, 45, 45, 1735, 1735, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1757, 45, 45, 1757, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45, - 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1735, 1735, 45, - 1735, 45, 1735, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1735, 45, 45, 45, - 1735, 45, 45, 45, 45, 1735, 1735, 45, 1735, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1735, 45, 45, 45, 1735, - 1735, 45, 45, 45, 45, 45, 45, 45, 45, 1735, - - 45, 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1735, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1735, 1735, + 45, 1757, 45, 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1735, 45, 45, 45, 45, 45, 45, 1735, 45, - 1735, 45, 1735, 1735, 45, 1735, 45, 45, 45, 45, - 45, 1735, 45, 1735, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1757, 1757, 45, 1757, + 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1757, 45, 45, 45, 1757, + 45, 45, 45, 45, 1757, 1757, 45, 1757, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1735, 45, 1735, 1735, 45, 1735, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1735, 45, 45, - 45, 45, 45, 45, 1735, 1735, 45, 45, 1735, 45, - 45, 45, 45, 45, 1735, 45, 45, 45, 45, 45, - 1735, 45, 1735, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735, - 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1757, 45, 45, 45, 1757, + 1757, 45, 45, 45, 45, 45, 45, 45, 45, 1757, + 45, 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1757, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1757, + 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1757, 45, 45, 45, 45, 45, 45, 1757, + 45, 1757, 45, 1757, 1757, 45, 1757, 45, 45, 45, + + 45, 45, 1757, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 1735, 45, 45, 1735, - 45, 45, 45, 45, 1735, 1735, 45, 45, 45, 1735, - 1735, 1735, 45, 45, 45, 45, 45, 45, 45, 45, - 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1735, 45, 45, 1735, 45, 1735, 45, 45, 45, 1735, - 45, 45, 45, 45, 1735, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1735, - 45, 45, 45, 45, 1735, 45, 45, 45, 45, 45, - 45, 45, 45, 1735, 45, 45, 45, 45, 45, 1735, - 45, 45, 45, 1735, 45, 45, 45, 45, 45, 45, + 45, 1757, 1757, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1757, 45, 1757, 1757, 45, 1757, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1757, + 45, 45, 45, 45, 45, 45, 1757, 1757, 45, 45, + 1757, 45, 45, 45, 45, 45, 1757, 45, 45, 45, + 45, 45, 1757, 45, 1757, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1757, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1735, 45, 45, 45, 1735, 45, 1735, 45, 1735, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1735, 45, 45, 45, 45, 45, 45, 45, - 1735, 45, 45, 45, 45, 1735, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45, - 45, 45, 45, 45, 1735, 1735, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1735, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1757, 45, + 45, 1757, 45, 45, 45, 45, 1757, 1757, 45, 45, + 45, 1757, 1757, 1757, 45, 45, 45, 45, 45, 45, + 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1757, 45, 45, 1757, 45, 1757, 45, 45, + 45, 1757, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1757, 45, 45, 45, 45, 1757, 45, 45, 45, - 45, 1735, 45, 45, 45, 45, 45, 45, 45, 1735, - 45, 1735, 45, 1735, 45, 1735, 1735, 45, 45, 45, - 45, 45, 1735, 45, 1735, 45, 45, 45, 45, 45, - 45, 45, 1735, 45, 45, 1735, 45, 45, 45, 1735, - 45, 45, 45, 1735, 45, 1735, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, + 45, 1757, 45, 45, 45, 1757, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1757, 45, 45, 45, 1757, 45, 1757, + 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, + 45, 45, 1757, 45, 45, 45, 45, 1757, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, + 45, 45, 45, 45, 45, 45, 1757, 1757, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1735, 45, 45, + 45, 45, 45, 1757, 45, 45, 45, 45, 45, 45, + 45, 1757, 45, 1757, 45, 1757, 45, 1757, 1757, 45, + 45, 45, 45, 45, 1757, 45, 1757, 45, 45, 45, + 45, 45, 45, 45, 1757, 45, 45, 1757, 45, 45, + 45, 1757, 45, 45, 45, 1757, 45, 1757, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1735, 45, 45, 1735, 45, 45, - 45, 45, 45, 45, 1735, 1735, 1735, 45, 1735, 1735, - - 45, 45, 1735, 45, 45, 45, 45, 45, 45, 1735, - 1735, 45, 1735, 1735, 45, 45, 45, 45, 45, 1735, - 45, 45, 1735, 45, 45, 45, 1735, 45, 45, 45, - 1735, 45, 45, 1735, 0, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735 + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1757, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 1757, 45, 45, 1757, + 45, 45, 45, 45, 45, 45, 1757, 1757, 1757, 45, + 1757, 1757, 45, 45, 1757, 45, 45, 45, 45, 45, + 45, 1757, 1757, 45, 1757, 1757, 45, 45, 45, 45, + 45, 1757, 45, 45, 1757, 45, 45, 45, 1757, 45, + 45, 45, 1757, 45, 45, 1757, 0, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757 } ; -static const flex_int16_t yy_nxt[2212] = +static const flex_int16_t yy_nxt[2234] = { 0, - 1735, 13, 14, 13, 1735, 15, 16, 1735, 17, 18, + 1757, 13, 14, 13, 1757, 15, 16, 1757, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 85, 739, 37, 14, 37, 86, 25, 26, 38, 101, - 1735, 27, 37, 14, 37, 42, 28, 42, 38, 91, + 85, 748, 37, 14, 37, 86, 25, 26, 38, 101, + 1757, 27, 37, 14, 37, 42, 28, 42, 38, 91, 92, 29, 198, 30, 13, 14, 13, 90, 91, 25, 31, 92, 13, 14, 13, 13, 14, 13, 32, 40, - 740, 13, 14, 13, 33, 40, 102, 91, 92, 198, + 749, 13, 14, 13, 33, 40, 102, 91, 92, 198, 90, 34, 35, 13, 14, 13, 94, 15, 16, 95, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 13, 14, 13, 90, 39, 103, 25, 26, 13, 14, 13, 27, 39, 42, 107, 42, 28, 42, 108, 42, 41, 29, 111, 30, 114, 115, 93, 137, - 41, 25, 31, 103, 138, 445, 88, 139, 88, 107, + 41, 25, 31, 103, 138, 450, 88, 139, 88, 107, 32, 89, 89, 89, 89, 89, 33, 111, 108, 114, - 837, 115, 446, 34, 35, 44, 44, 44, 45, 45, + 843, 115, 451, 34, 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 47, 45, 48, 49, 50, 51, 45, 52, 53, 54, 45, 45, 45, @@ -1361,130 +1367,130 @@ static const flex_int16_t yy_nxt[2212] = 83, 83, 107, 82, 84, 84, 84, 84, 84, 80, 82, 83, 83, 83, 83, 83, 135, 82, 110, 132, 112, 121, 119, 136, 82, 107, 82, 166, 120, 133, - 113, 167, 122, 82, 140, 123, 134, 124, 233, 125, - 82, 184, 185, 112, 141, 203, 142, 82, 45, 840, - 45, 45, 45, 45, 234, 45, 45, 45, 113, 117, + 113, 167, 122, 82, 140, 123, 134, 124, 234, 125, + 82, 184, 185, 112, 141, 203, 142, 82, 45, 844, + 45, 45, 45, 45, 235, 45, 45, 45, 113, 117, 144, 145, 45, 45, 146, 45, 45, 184, 185, 184, 147, 45, 203, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 126, 187, 45, 127, 128, 148, - 45, 129, 130, 149, 45, 111, 841, 150, 317, 186, - 186, 199, 45, 413, 131, 185, 45, 155, 45, 118, - 101, 114, 842, 151, 152, 156, 153, 157, 154, 174, + 45, 129, 130, 149, 45, 111, 845, 150, 381, 186, + 186, 199, 45, 846, 131, 185, 45, 155, 45, 118, + 101, 114, 847, 151, 152, 156, 153, 157, 154, 174, 175, 160, 158, 159, 161, 162, 168, 186, 189, 112, 169, 188, 200, 170, 114, 163, 193, 202, 164, 113, - 171, 172, 197, 204, 180, 448, 173, 102, 237, 181, - 449, 238, 176, 205, 177, 239, 222, 223, 178, 84, + 171, 172, 197, 204, 180, 319, 173, 102, 382, 181, + 417, 213, 176, 205, 177, 214, 223, 224, 178, 84, - 84, 84, 84, 84, 193, 202, 224, 113, 197, 231, - 404, 204, 82, 80, 179, 81, 81, 81, 81, 81, - 205, 302, 232, 405, 88, 206, 88, 242, 82, 89, + 84, 84, 84, 84, 193, 202, 225, 113, 197, 232, + 408, 204, 82, 80, 179, 81, 81, 81, 81, 81, + 205, 304, 233, 409, 88, 206, 88, 243, 82, 89, 89, 89, 89, 89, 80, 82, 83, 83, 83, 83, - 83, 84, 84, 84, 84, 84, 100, 302, 206, 82, - 193, 82, 251, 100, 82, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 215, 228, 210, 229, 202, - 301, 243, 82, 252, 216, 217, 301, 82, 211, 264, - 265, 266, 843, 100, 285, 230, 269, 100, 286, 270, - 271, 100, 287, 718, 719, 203, 313, 258, 301, 100, - - 275, 303, 302, 100, 304, 100, 192, 209, 209, 209, - 209, 209, 844, 845, 378, 303, 209, 209, 209, 209, - 209, 209, 294, 313, 303, 508, 309, 312, 305, 316, - 320, 318, 366, 309, 846, 276, 277, 278, 306, 209, - 209, 209, 209, 209, 209, 847, 279, 424, 280, 309, - 281, 282, 316, 283, 318, 312, 323, 320, 321, 321, - 321, 321, 321, 316, 379, 329, 420, 321, 321, 321, - 321, 321, 321, 330, 395, 420, 424, 396, 331, 332, - 429, 432, 848, 509, 849, 367, 374, 424, 368, 420, - 321, 321, 321, 321, 321, 321, 426, 427, 421, 469, - - 454, 491, 432, 429, 470, 428, 455, 492, 495, 432, - 435, 435, 435, 435, 435, 850, 436, 851, 496, 435, - 435, 435, 435, 435, 435, 484, 485, 486, 512, 520, - 497, 487, 513, 521, 525, 545, 539, 550, 526, 540, - 546, 550, 435, 435, 435, 435, 435, 435, 558, 590, - 559, 572, 471, 580, 591, 646, 674, 472, 612, 573, - 647, 574, 575, 576, 852, 550, 581, 675, 613, 560, - 853, 670, 773, 785, 786, 558, 676, 559, 45, 45, - 45, 45, 45, 674, 774, 854, 855, 45, 45, 45, - 45, 45, 45, 749, 856, 675, 857, 786, 750, 791, - - 792, 785, 793, 838, 858, 859, 839, 860, 861, 862, - 45, 45, 45, 45, 45, 45, 863, 864, 865, 866, + 83, 84, 84, 84, 84, 84, 100, 304, 206, 82, + 193, 82, 203, 100, 82, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 216, 229, 210, 230, 252, + 202, 244, 82, 238, 217, 218, 239, 82, 211, 296, + 240, 305, 274, 100, 453, 231, 275, 100, 304, 454, + 253, 100, 265, 266, 267, 303, 303, 270, 259, 100, + + 271, 272, 305, 100, 305, 100, 192, 209, 209, 209, + 209, 209, 277, 311, 307, 318, 209, 209, 209, 209, + 209, 209, 287, 303, 306, 308, 288, 314, 320, 315, + 289, 311, 322, 517, 318, 369, 311, 518, 318, 209, + 209, 209, 209, 209, 209, 428, 459, 278, 279, 280, + 399, 320, 460, 400, 325, 314, 315, 377, 281, 322, + 282, 424, 283, 284, 436, 285, 323, 323, 323, 323, + 323, 424, 513, 332, 428, 323, 323, 323, 323, 323, + 323, 333, 433, 428, 424, 436, 334, 335, 370, 526, + 848, 371, 436, 527, 425, 430, 431, 849, 323, 323, + + 323, 323, 323, 323, 432, 433, 439, 439, 439, 439, + 439, 545, 440, 502, 546, 439, 439, 439, 439, 439, + 439, 474, 489, 490, 491, 496, 475, 500, 492, 531, + 514, 497, 556, 532, 564, 587, 565, 501, 439, 439, + 439, 439, 439, 439, 551, 556, 579, 597, 588, 552, + 682, 852, 598, 796, 580, 619, 581, 582, 583, 654, + 556, 564, 853, 565, 655, 620, 678, 683, 727, 728, + 795, 684, 854, 566, 476, 783, 796, 682, 855, 477, + 45, 45, 45, 45, 45, 802, 803, 784, 804, 45, + 45, 45, 45, 45, 45, 683, 758, 850, 795, 823, + + 851, 759, 856, 824, 857, 858, 859, 860, 861, 862, + 863, 864, 45, 45, 45, 45, 45, 45, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, - 879, 877, 880, 883, 884, 885, 887, 751, 878, 881, - 888, 886, 889, 882, 890, 891, 892, 893, 894, 895, - 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, + 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, + 760, 887, 888, 889, 890, 892, 893, 896, 897, 898, + 900, 891, 901, 894, 902, 899, 903, 895, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, - 898, 926, 927, 928, 929, 930, 931, 932, 933, 935, - 936, 937, 938, 934, 939, 940, 941, 942, 943, 944, - - 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, - 955, 956, 958, 959, 960, 957, 961, 962, 963, 964, - 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, - 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, - 985, 986, 988, 989, 990, 991, 992, 993, 994, 995, - 996, 997, 998, 987, 999, 1000, 1001, 1002, 1003, 1004, - 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, + 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, + 936, 937, 938, 911, 939, 940, 941, 942, 943, 944, + + 945, 946, 947, 948, 950, 951, 952, 953, 949, 954, + 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, + 965, 966, 967, 968, 969, 970, 971, 973, 974, 975, + 972, 976, 977, 978, 979, 980, 981, 982, 983, 984, + 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, + 995, 996, 997, 998, 999, 1000, 1001, 1002, 1004, 1005, + 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1003, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, - 1025, 1003, 1026, 1027, 1002, 1028, 1029, 1030, 1031, 1032, - 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1044, - - 1045, 1046, 1047, 1042, 1048, 1049, 1050, 1051, 1052, 1053, - 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, - 1064, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, - 1075, 1065, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, - 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, - 1094, 1095, 1096, 1097, 1098, 1099, 1043, 1100, 1101, 1102, - 1104, 1103, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, - 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, - 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1102, 1103, 1130, - 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, - - 1141, 1143, 1145, 1146, 1147, 1142, 1148, 1149, 1150, 1151, - 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, - 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, + 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, + 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1019, 1042, 1043, + + 1018, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, + 1053, 1054, 1055, 1056, 1057, 1058, 1061, 1062, 1063, 1064, + 1059, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, + 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1083, 1084, + 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1082, 1093, + 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, + 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, + 1114, 1115, 1116, 1060, 1117, 1118, 1119, 1120, 1122, 1121, + 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, + 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, + + 1143, 1144, 1145, 1146, 1147, 1120, 1121, 1148, 1149, 1150, + 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, + 1162, 1164, 1165, 1166, 1161, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, - 1182, 1183, 1184, 1185, 1186, 1144, 1187, 1188, 1189, 1190, - 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, - 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, + 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, + 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, + 1202, 1203, 1204, 1205, 1163, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, - 1198, 1221, 1222, 1223, 1224, 1225, 1199, 1226, 1227, 1228, - 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, + 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, + 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, - 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, + 1218, 1241, 1242, 1243, 1244, 1245, 1219, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, - 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1268, 1269, - 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, - 1280, 1281, 1282, 1283, 1284, 1286, 1287, 1288, 1289, 1290, - 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, - 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1281, - 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, - 1267, 1320, 1321, 1323, 1324, 1325, 1326, 1327, 1285, 1328, - 1322, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, - - 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, - 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, + 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, + 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, + 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1289, + 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, + 1300, 1301, 1302, 1303, 1304, 1305, 1307, 1308, 1309, 1310, + 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, + 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, + 1302, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, + + 1340, 1288, 1341, 1342, 1343, 1345, 1346, 1347, 1348, 1306, + 1349, 1350, 1344, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, - 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1354, - 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, - 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, - 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, + 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, + 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, + 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, + 1398, 1376, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, - 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1426, 1427, - 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1425, 1436, + 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, + 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, - 1437, 1438, 1441, 1413, 1439, 1440, 1443, 1444, 1445, 1446, - 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, - 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, + 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, + 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, + 1447, 1458, 1459, 1460, 1463, 1435, 1461, 1462, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, - 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1486, 1487, - 1488, 1489, 1485, 1490, 1491, 1492, 1493, 1494, 1495, 1496, - 1442, 1497, 1471, 1498, 1499, 1500, 1501, 1502, 1503, 1504, - 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, - 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, + 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, + 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, + 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, + 1508, 1509, 1510, 1511, 1507, 1512, 1513, 1514, 1515, 1516, + 1517, 1518, 1464, 1519, 1493, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, @@ -1509,94 +1515,96 @@ static const flex_int16_t yy_nxt[2212] = 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, - 12, 12, 12, 12, 12, 36, 36, 36, 36, 36, - 79, 308, 79, 79, 79, 98, 423, 98, 549, 98, - 100, 100, 100, 100, 100, 116, 116, 116, 116, 116, - 183, 100, 183, 183, 183, 207, 207, 207, 836, 835, - 834, 833, 832, 831, 830, 829, 828, 827, 826, 825, - 824, 823, 822, 821, 820, 819, 818, 817, 816, 815, - 814, 813, 812, 811, 810, 809, 808, 807, 806, 805, - 804, 803, 802, 801, 800, 799, 798, 797, 796, 795, - 794, 790, 789, 788, 787, 784, 783, 782, 781, 780, - 779, 778, 777, 776, 775, 772, 771, 770, 769, 768, - - 767, 766, 765, 764, 763, 762, 761, 760, 759, 758, - 757, 756, 755, 754, 753, 752, 748, 747, 746, 745, - 744, 743, 742, 741, 738, 737, 736, 735, 734, 733, - 732, 731, 730, 729, 728, 727, 726, 725, 724, 723, - 722, 721, 720, 717, 716, 715, 714, 713, 712, 711, - 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, - 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, - 690, 689, 688, 687, 686, 685, 684, 683, 682, 681, - 680, 679, 678, 677, 673, 672, 671, 670, 669, 668, - 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, - - 657, 656, 655, 654, 653, 652, 651, 650, 649, 648, - 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, - 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, - 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, - 615, 614, 611, 610, 609, 608, 607, 606, 605, 604, - 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, - 593, 592, 589, 588, 587, 586, 585, 584, 583, 582, - 579, 578, 577, 571, 570, 569, 568, 567, 566, 565, - 564, 563, 562, 561, 557, 556, 555, 554, 553, 552, - 551, 548, 547, 544, 543, 542, 541, 538, 537, 536, - - 535, 534, 533, 532, 531, 530, 529, 528, 527, 524, - 523, 522, 519, 518, 517, 516, 515, 514, 511, 510, - 507, 506, 505, 504, 503, 502, 501, 500, 499, 498, - 494, 493, 490, 489, 488, 483, 482, 481, 480, 479, - 478, 477, 476, 475, 474, 473, 468, 467, 466, 465, - 464, 463, 462, 461, 460, 459, 458, 457, 456, 453, - 452, 451, 450, 447, 444, 443, 442, 441, 440, 439, - 438, 437, 434, 433, 431, 430, 425, 422, 419, 418, - 417, 416, 415, 414, 412, 411, 410, 409, 408, 407, - 406, 403, 402, 401, 400, 399, 398, 397, 394, 393, - - 392, 391, 390, 389, 388, 387, 386, 385, 384, 383, - 382, 381, 380, 377, 376, 375, 373, 372, 371, 370, - 369, 365, 364, 363, 362, 361, 360, 359, 358, 357, - 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, - 346, 345, 344, 343, 342, 341, 340, 339, 338, 337, - 336, 335, 334, 333, 328, 327, 326, 325, 324, 322, - 208, 319, 317, 315, 314, 311, 310, 307, 300, 299, - 298, 297, 296, 295, 293, 292, 291, 290, 289, 288, - 284, 274, 273, 272, 268, 267, 263, 262, 261, 260, - 259, 257, 256, 255, 254, 253, 250, 249, 248, 247, - - 246, 245, 244, 241, 240, 236, 235, 227, 226, 225, - 221, 220, 219, 218, 214, 213, 212, 208, 201, 196, - 195, 194, 191, 190, 182, 165, 143, 106, 105, 104, - 43, 99, 97, 96, 87, 43, 1735, 11, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735 + 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, + 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, + 1755, 1756, 12, 12, 12, 12, 12, 36, 36, 36, + 36, 36, 79, 310, 79, 79, 79, 98, 427, 98, + 555, 98, 100, 100, 100, 100, 100, 116, 116, 116, + 116, 116, 183, 100, 183, 183, 183, 207, 207, 207, + 842, 841, 840, 839, 838, 837, 836, 835, 834, 833, + 832, 831, 830, 829, 828, 827, 826, 825, 822, 821, + 820, 819, 818, 817, 816, 815, 814, 813, 812, 811, + 810, 809, 808, 807, 806, 805, 801, 800, 799, 798, + + 797, 794, 793, 792, 791, 790, 789, 788, 787, 786, + 785, 782, 781, 780, 779, 778, 777, 776, 775, 774, + 773, 772, 771, 770, 769, 768, 767, 766, 765, 764, + 763, 762, 761, 757, 756, 755, 754, 753, 752, 751, + 750, 747, 746, 745, 744, 743, 742, 741, 740, 739, + 738, 737, 736, 735, 734, 733, 732, 731, 730, 729, + 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, + 716, 715, 714, 713, 712, 711, 710, 709, 708, 707, + 706, 705, 704, 703, 702, 701, 700, 699, 698, 697, + 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, + + 686, 685, 681, 680, 679, 678, 677, 676, 675, 674, + 673, 672, 671, 670, 669, 668, 667, 666, 665, 664, + 663, 662, 661, 660, 659, 658, 657, 656, 653, 652, + 651, 650, 649, 648, 647, 646, 645, 644, 643, 642, + 641, 640, 639, 638, 637, 636, 635, 634, 633, 632, + 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, + 621, 618, 617, 616, 615, 614, 613, 612, 611, 610, + 609, 608, 607, 606, 605, 604, 603, 602, 601, 600, + 599, 596, 595, 594, 593, 592, 591, 590, 589, 586, + 585, 584, 578, 577, 576, 575, 574, 573, 572, 571, + + 570, 569, 568, 567, 563, 562, 561, 560, 559, 558, + 557, 554, 553, 550, 549, 548, 547, 544, 543, 542, + 541, 540, 539, 538, 537, 536, 535, 534, 533, 530, + 529, 528, 525, 524, 523, 522, 521, 520, 519, 516, + 515, 512, 511, 510, 509, 508, 507, 506, 505, 504, + 503, 499, 498, 495, 494, 493, 488, 487, 486, 485, + 484, 483, 482, 481, 480, 479, 478, 473, 472, 471, + 470, 469, 468, 467, 466, 465, 464, 463, 462, 461, + 458, 457, 456, 455, 452, 449, 448, 447, 446, 445, + 444, 443, 442, 441, 438, 437, 435, 434, 429, 426, + + 423, 422, 421, 420, 419, 418, 416, 415, 414, 413, + 412, 411, 410, 407, 406, 405, 404, 403, 402, 401, + 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, + 388, 387, 386, 385, 384, 383, 380, 379, 378, 376, + 375, 374, 373, 372, 368, 367, 366, 365, 364, 363, + 362, 361, 360, 359, 358, 357, 356, 355, 354, 353, + 352, 351, 350, 349, 348, 347, 346, 345, 344, 343, + 342, 341, 340, 339, 338, 337, 336, 331, 330, 329, + 328, 327, 326, 324, 208, 321, 319, 317, 316, 313, + 312, 309, 302, 301, 300, 299, 298, 297, 295, 294, + + 293, 292, 291, 290, 286, 276, 273, 269, 268, 264, + 263, 262, 261, 260, 258, 257, 256, 255, 254, 251, + 250, 249, 248, 247, 246, 245, 242, 241, 237, 236, + 228, 227, 226, 222, 221, 220, 219, 215, 212, 208, + 201, 196, 195, 194, 191, 190, 182, 165, 143, 106, + 105, 104, 43, 99, 97, 96, 87, 43, 1757, 11, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757 } ; -static const flex_int16_t yy_chk[2212] = +static const flex_int16_t yy_chk[2234] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 627, 3, 3, 3, 21, 1, 1, 3, 44, + 21, 634, 3, 3, 3, 21, 1, 1, 3, 44, 0, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 108, 1, 5, 5, 5, 26, 32, 1, 1, 33, 6, 6, 6, 7, 7, 7, 1, 7, - 627, 8, 8, 8, 1, 8, 44, 27, 28, 108, + 634, 8, 8, 8, 1, 8, 44, 27, 28, 108, 26, 1, 1, 2, 2, 2, 32, 2, 2, 33, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 31, 5, 47, 2, 2, 10, 10, 10, 2, 6, 37, 51, 37, 2, 42, 52, 42, 9, 2, 54, 2, 56, 57, 31, 65, - 10, 2, 2, 47, 65, 332, 25, 65, 25, 51, + 10, 2, 2, 47, 65, 335, 25, 65, 25, 51, 2, 25, 25, 25, 25, 25, 2, 54, 52, 56, - 725, 57, 332, 2, 2, 15, 15, 15, 15, 15, + 728, 57, 335, 2, 2, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1610,221 +1618,223 @@ static const flex_int16_t yy_chk[2212] = 19, 22, 22, 22, 22, 22, 64, 20, 53, 62, 55, 60, 59, 64, 22, 63, 17, 74, 59, 62, 55, 74, 60, 19, 66, 60, 63, 60, 134, 60, - 20, 90, 91, 55, 66, 112, 66, 22, 45, 727, + 20, 90, 91, 55, 66, 112, 66, 22, 45, 729, 45, 45, 45, 45, 134, 45, 45, 45, 55, 58, 68, 68, 45, 45, 68, 45, 58, 90, 91, 93, 68, 45, 112, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 61, 93, 58, 61, 61, 69, - 58, 61, 61, 69, 58, 70, 728, 69, 294, 92, - 95, 109, 58, 294, 61, 94, 58, 71, 58, 58, - 100, 77, 729, 69, 70, 71, 70, 71, 70, 76, + 58, 61, 61, 69, 58, 70, 730, 69, 263, 92, + 95, 109, 58, 731, 61, 94, 58, 71, 58, 58, + 100, 77, 732, 69, 70, 71, 70, 71, 70, 76, 76, 72, 71, 71, 72, 72, 75, 92, 95, 76, 75, 94, 109, 75, 77, 72, 103, 111, 72, 76, - 75, 75, 107, 113, 77, 335, 75, 100, 137, 77, - 335, 137, 76, 114, 76, 137, 128, 128, 76, 80, + 75, 75, 107, 113, 77, 296, 75, 100, 263, 77, + 296, 121, 76, 114, 76, 121, 128, 128, 76, 80, 80, 80, 80, 80, 103, 111, 128, 76, 107, 133, - 286, 113, 80, 81, 76, 81, 81, 81, 81, 81, - 114, 185, 133, 286, 82, 115, 82, 140, 81, 82, + 288, 113, 80, 81, 76, 81, 81, 81, 81, 81, + 114, 185, 133, 288, 82, 115, 82, 140, 81, 82, 82, 82, 82, 82, 83, 80, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 102, 185, 115, 83, - 119, 81, 148, 102, 84, 88, 88, 88, 88, 88, - 89, 89, 89, 89, 89, 123, 132, 119, 132, 154, - 184, 140, 83, 148, 123, 123, 187, 84, 119, 160, - 160, 160, 731, 102, 169, 132, 163, 102, 169, 163, - 163, 102, 169, 605, 605, 176, 198, 154, 184, 102, - - 167, 186, 188, 102, 187, 102, 102, 118, 118, 118, - 118, 118, 732, 733, 262, 189, 118, 118, 118, 118, - 118, 118, 176, 198, 186, 386, 193, 197, 188, 202, - 206, 204, 252, 211, 734, 167, 167, 167, 189, 118, - 118, 118, 118, 118, 118, 735, 167, 309, 167, 193, - 167, 167, 202, 167, 204, 197, 211, 206, 209, 209, - 209, 209, 209, 258, 262, 217, 301, 209, 209, 209, - 209, 209, 209, 217, 278, 304, 309, 278, 217, 217, - 312, 316, 736, 386, 737, 252, 258, 323, 252, 301, - 209, 209, 209, 209, 209, 209, 311, 311, 304, 354, - - 340, 370, 374, 312, 354, 311, 340, 370, 373, 316, - 321, 321, 321, 321, 321, 738, 323, 740, 373, 321, - 321, 321, 321, 321, 321, 366, 366, 366, 389, 396, - 374, 366, 389, 396, 400, 418, 413, 424, 400, 413, - 418, 436, 321, 321, 321, 321, 321, 321, 434, 464, - 434, 450, 354, 454, 464, 522, 558, 354, 486, 450, - 522, 450, 450, 450, 741, 424, 454, 559, 486, 436, - 742, 560, 661, 674, 675, 434, 560, 434, 435, 435, - 435, 435, 435, 558, 661, 743, 744, 435, 435, 435, - 435, 435, 435, 637, 745, 559, 746, 675, 637, 680, - - 680, 674, 680, 726, 747, 748, 726, 750, 751, 752, - 435, 435, 435, 435, 435, 435, 753, 754, 755, 756, - 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, - 768, 767, 769, 770, 771, 772, 774, 637, 767, 769, - 775, 772, 776, 769, 777, 778, 779, 780, 781, 782, - 783, 785, 786, 787, 788, 789, 791, 792, 793, 794, - 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, - 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, - 786, 815, 816, 818, 819, 820, 821, 822, 823, 824, - 825, 826, 827, 823, 828, 829, 830, 831, 832, 835, - - 836, 837, 838, 839, 840, 841, 844, 845, 846, 847, - 848, 849, 850, 851, 852, 849, 853, 854, 856, 858, - 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, - 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, - 879, 880, 881, 882, 883, 884, 885, 886, 888, 889, - 890, 891, 892, 880, 893, 894, 895, 897, 898, 899, - 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, - 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, - 920, 898, 921, 923, 897, 924, 925, 926, 927, 928, - 929, 930, 931, 932, 934, 935, 936, 937, 938, 939, - - 941, 942, 943, 938, 944, 945, 946, 947, 948, 949, - 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, - 960, 961, 964, 965, 966, 968, 969, 970, 972, 973, - 974, 960, 975, 976, 977, 978, 979, 980, 981, 982, - 983, 984, 985, 986, 987, 988, 989, 991, 992, 993, - 994, 995, 996, 997, 998, 999, 938, 1000, 1001, 1002, - 1004, 1003, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, - 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, - 1023, 1025, 1026, 1027, 1028, 1029, 1030, 1002, 1003, 1031, - 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1042, - - 1043, 1044, 1045, 1046, 1047, 1043, 1048, 1049, 1050, 1051, - 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, - 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, - 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, - 1083, 1085, 1086, 1089, 1090, 1044, 1091, 1092, 1093, 1094, - 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, - 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1115, - 1116, 1117, 1118, 1119, 1120, 1122, 1123, 1124, 1125, 1126, - 1102, 1127, 1128, 1129, 1130, 1131, 1103, 1132, 1133, 1134, - 1135, 1136, 1137, 1140, 1142, 1144, 1145, 1146, 1147, 1148, - - 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1158, 1159, - 1160, 1162, 1163, 1164, 1165, 1168, 1170, 1171, 1172, 1173, - 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, - 1184, 1185, 1187, 1188, 1189, 1192, 1193, 1194, 1195, 1196, - 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205, 1206, 1208, - 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, - 1219, 1220, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1198, - 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1239, - 1181, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1202, 1247, - 1241, 1248, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, - - 1259, 1260, 1261, 1263, 1264, 1265, 1266, 1267, 1268, 1270, - 1272, 1275, 1277, 1278, 1279, 1280, 1281, 1283, 1285, 1286, - 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, - 1297, 1298, 1299, 1300, 1302, 1303, 1304, 1305, 1306, 1281, - 1307, 1308, 1309, 1310, 1311, 1312, 1314, 1317, 1319, 1320, - 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1329, 1330, 1331, - 1332, 1333, 1334, 1337, 1338, 1340, 1341, 1342, 1343, 1344, - 1346, 1347, 1348, 1349, 1350, 1352, 1354, 1355, 1356, 1357, - 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, - 1368, 1369, 1371, 1372, 1374, 1375, 1376, 1377, 1365, 1378, - - 1379, 1380, 1382, 1354, 1381, 1381, 1383, 1384, 1385, 1386, - 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, - 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, - 1408, 1409, 1411, 1412, 1413, 1414, 1417, 1418, 1419, 1423, - 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1432, 1433, 1434, - 1435, 1436, 1432, 1437, 1438, 1439, 1440, 1442, 1443, 1445, - 1382, 1447, 1413, 1448, 1449, 1451, 1452, 1453, 1454, 1456, - 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, - 1467, 1468, 1469, 1471, 1472, 1473, 1474, 1476, 1477, 1478, - 1479, 1480, 1481, 1482, 1483, 1485, 1486, 1487, 1488, 1489, - - 1491, 1492, 1493, 1495, 1496, 1497, 1498, 1499, 1500, 1501, - 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, - 1513, 1514, 1515, 1517, 1519, 1521, 1522, 1523, 1524, 1525, - 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1534, 1535, 1536, - 1537, 1538, 1539, 1540, 1542, 1543, 1544, 1545, 1547, 1548, - 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1557, 1558, 1559, - 1560, 1561, 1562, 1563, 1564, 1565, 1567, 1568, 1569, 1570, - 1571, 1572, 1573, 1574, 1577, 1578, 1579, 1580, 1581, 1582, - 1583, 1584, 1585, 1587, 1588, 1589, 1590, 1591, 1592, 1593, - 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1603, 1604, - - 1605, 1606, 1607, 1608, 1609, 1611, 1613, 1615, 1618, 1619, - 1620, 1621, 1622, 1624, 1626, 1627, 1628, 1629, 1630, 1631, - 1632, 1634, 1635, 1637, 1638, 1639, 1641, 1642, 1643, 1645, - 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, - 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, - 1667, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, - 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1686, 1687, 1689, - 1690, 1691, 1692, 1693, 1694, 1698, 1701, 1702, 1704, 1705, - 1706, 1707, 1708, 1709, 1712, 1715, 1716, 1717, 1718, 1719, - 1721, 1722, 1724, 1725, 1726, 1728, 1729, 1730, 1732, 1733, - - 1736, 1736, 1736, 1736, 1736, 1737, 1737, 1737, 1737, 1737, - 1738, 1744, 1738, 1738, 1738, 1739, 1745, 1739, 1746, 1739, - 1740, 1740, 1740, 1740, 1740, 1741, 1741, 1741, 1741, 1741, - 1742, 1747, 1742, 1742, 1742, 1743, 1743, 1743, 724, 723, - 722, 721, 720, 719, 718, 717, 716, 715, 714, 713, - 712, 711, 710, 709, 708, 706, 705, 704, 703, 702, - 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, - 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, - 681, 679, 678, 677, 676, 673, 672, 671, 668, 667, - 666, 665, 664, 663, 662, 659, 658, 657, 656, 655, - - 654, 653, 652, 651, 650, 649, 648, 647, 645, 644, - 643, 642, 641, 640, 639, 638, 636, 635, 633, 632, - 631, 630, 629, 628, 626, 625, 624, 622, 621, 619, - 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, - 608, 607, 606, 604, 603, 602, 601, 600, 598, 597, - 596, 595, 594, 593, 592, 591, 589, 588, 587, 586, - 585, 584, 583, 582, 581, 580, 579, 578, 577, 576, - 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, - 565, 564, 563, 562, 556, 554, 551, 550, 548, 547, - 546, 544, 540, 539, 538, 537, 536, 535, 534, 533, - - 532, 531, 530, 529, 528, 527, 526, 525, 524, 523, - 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, - 511, 509, 507, 506, 505, 504, 503, 502, 501, 500, - 499, 498, 497, 496, 495, 493, 492, 491, 490, 489, - 488, 487, 485, 484, 483, 482, 481, 480, 479, 478, - 477, 476, 475, 474, 473, 472, 471, 470, 468, 467, - 466, 465, 463, 462, 461, 460, 459, 458, 456, 455, - 453, 452, 451, 449, 447, 446, 445, 444, 443, 442, - 441, 439, 438, 437, 432, 431, 429, 428, 427, 426, - 425, 422, 419, 417, 416, 415, 414, 412, 411, 410, - - 409, 408, 407, 406, 405, 404, 403, 402, 401, 399, - 398, 397, 395, 394, 393, 392, 391, 390, 388, 387, - 385, 384, 383, 382, 381, 380, 379, 378, 377, 376, - 372, 371, 369, 368, 367, 365, 364, 363, 362, 361, - 360, 359, 358, 357, 356, 355, 353, 352, 351, 350, - 349, 348, 347, 346, 345, 344, 343, 342, 341, 339, - 338, 337, 336, 334, 331, 330, 329, 328, 327, 326, - 325, 324, 320, 318, 315, 313, 310, 307, 300, 299, - 298, 297, 296, 295, 293, 292, 291, 290, 289, 288, - 287, 285, 284, 283, 282, 281, 280, 279, 277, 276, - - 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, - 265, 264, 263, 261, 260, 259, 257, 256, 255, 254, - 253, 251, 250, 249, 248, 247, 246, 245, 244, 243, - 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, - 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, - 221, 220, 219, 218, 216, 215, 214, 213, 212, 210, - 207, 205, 203, 201, 200, 195, 194, 190, 182, 181, - 180, 179, 178, 177, 175, 174, 173, 172, 171, 170, - 168, 166, 165, 164, 162, 161, 159, 158, 157, 156, - 155, 153, 152, 151, 150, 149, 147, 146, 145, 144, - - 143, 142, 141, 139, 138, 136, 135, 131, 130, 129, - 127, 126, 125, 124, 122, 121, 120, 116, 110, 106, - 105, 104, 98, 97, 78, 73, 67, 50, 49, 48, - 43, 41, 39, 38, 24, 14, 11, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - - 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735 + 119, 81, 176, 102, 84, 88, 88, 88, 88, 88, + 89, 89, 89, 89, 89, 123, 132, 119, 132, 148, + 154, 140, 83, 137, 123, 123, 137, 84, 119, 176, + 137, 186, 165, 102, 338, 132, 165, 102, 188, 338, + 148, 102, 160, 160, 160, 184, 187, 163, 154, 102, + + 163, 163, 189, 102, 186, 102, 102, 118, 118, 118, + 118, 118, 167, 193, 188, 202, 118, 118, 118, 118, + 118, 118, 169, 184, 187, 189, 169, 197, 204, 198, + 169, 211, 206, 392, 259, 253, 193, 392, 202, 118, + 118, 118, 118, 118, 118, 311, 343, 167, 167, 167, + 280, 204, 343, 280, 211, 197, 198, 259, 167, 206, + 167, 303, 167, 167, 318, 167, 209, 209, 209, 209, + 209, 306, 389, 218, 311, 209, 209, 209, 209, 209, + 209, 218, 314, 325, 303, 377, 218, 218, 253, 400, + 733, 253, 318, 400, 306, 313, 313, 734, 209, 209, + + 209, 209, 209, 209, 313, 314, 323, 323, 323, 323, + 323, 417, 325, 377, 417, 323, 323, 323, 323, 323, + 323, 357, 369, 369, 369, 373, 357, 376, 369, 404, + 389, 373, 428, 404, 438, 459, 438, 376, 323, 323, + 323, 323, 323, 323, 422, 440, 455, 469, 459, 422, + 564, 736, 469, 683, 455, 491, 455, 455, 455, 528, + 428, 438, 737, 438, 528, 491, 566, 565, 612, 612, + 682, 566, 738, 440, 357, 669, 683, 564, 740, 357, + 439, 439, 439, 439, 439, 689, 689, 669, 689, 439, + 439, 439, 439, 439, 439, 565, 644, 735, 682, 708, + + 735, 644, 741, 708, 742, 743, 744, 745, 746, 747, + 749, 750, 439, 439, 439, 439, 439, 439, 751, 752, + 753, 754, 755, 756, 757, 759, 760, 761, 762, 763, + 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, + 644, 774, 775, 776, 777, 778, 779, 780, 781, 782, + 784, 777, 785, 779, 786, 782, 787, 779, 788, 789, + 790, 791, 792, 793, 795, 796, 797, 798, 799, 800, + 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, + 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, + 822, 823, 824, 796, 825, 826, 827, 828, 830, 831, + + 832, 833, 834, 835, 836, 837, 838, 839, 835, 840, + 841, 842, 843, 844, 847, 848, 849, 850, 851, 852, + 853, 856, 857, 858, 859, 860, 861, 862, 863, 864, + 861, 865, 866, 868, 870, 871, 872, 873, 874, 875, + 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, + 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, + 896, 897, 898, 899, 901, 902, 903, 904, 905, 893, + 906, 907, 908, 910, 911, 912, 913, 915, 916, 917, + 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, + 928, 929, 930, 931, 932, 933, 934, 911, 935, 937, + + 910, 938, 939, 940, 941, 942, 943, 944, 945, 946, + 947, 949, 950, 951, 952, 953, 954, 956, 957, 958, + 953, 959, 960, 961, 962, 963, 964, 965, 966, 967, + 968, 969, 970, 971, 972, 973, 974, 975, 976, 979, + 980, 981, 983, 984, 985, 986, 988, 989, 975, 990, + 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, + 1001, 1002, 1003, 1004, 1005, 1007, 1008, 1009, 1010, 1011, + 1012, 1013, 1014, 953, 1015, 1016, 1017, 1018, 1020, 1019, + 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, + 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1041, + + 1042, 1043, 1044, 1045, 1046, 1018, 1019, 1047, 1048, 1049, + 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1059, 1060, + 1061, 1062, 1063, 1064, 1060, 1065, 1066, 1067, 1068, 1069, + 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, + 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, + 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, + 1101, 1103, 1104, 1107, 1061, 1108, 1109, 1110, 1111, 1112, + 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, + 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1133, + 1134, 1135, 1136, 1137, 1138, 1140, 1141, 1142, 1143, 1144, + + 1120, 1145, 1146, 1147, 1148, 1149, 1121, 1150, 1151, 1152, + 1153, 1154, 1155, 1156, 1159, 1161, 1163, 1164, 1165, 1166, + 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1177, + 1178, 1179, 1181, 1182, 1183, 1184, 1187, 1189, 1191, 1192, + 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, + 1203, 1204, 1205, 1207, 1208, 1209, 1212, 1213, 1214, 1215, + 1216, 1217, 1218, 1219, 1221, 1222, 1223, 1224, 1225, 1226, + 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, + 1238, 1239, 1240, 1241, 1243, 1244, 1245, 1246, 1247, 1248, + 1218, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, + + 1258, 1201, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1222, + 1267, 1268, 1262, 1269, 1272, 1273, 1274, 1275, 1276, 1277, + 1278, 1279, 1280, 1281, 1282, 1284, 1285, 1286, 1287, 1288, + 1289, 1291, 1293, 1296, 1298, 1299, 1300, 1301, 1302, 1304, + 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, + 1316, 1317, 1318, 1319, 1320, 1321, 1324, 1325, 1326, 1327, + 1328, 1302, 1329, 1330, 1331, 1332, 1333, 1334, 1336, 1339, + 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1351, + 1352, 1353, 1354, 1355, 1356, 1359, 1360, 1362, 1363, 1364, + 1365, 1366, 1368, 1369, 1370, 1371, 1372, 1374, 1376, 1377, + + 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, + 1388, 1389, 1390, 1391, 1393, 1394, 1396, 1397, 1398, 1399, + 1387, 1400, 1401, 1402, 1404, 1376, 1403, 1403, 1405, 1406, + 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, + 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, + 1427, 1428, 1430, 1431, 1433, 1434, 1435, 1436, 1439, 1440, + 1441, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1454, + 1455, 1456, 1457, 1458, 1454, 1459, 1460, 1461, 1462, 1464, + 1465, 1467, 1404, 1469, 1435, 1470, 1471, 1473, 1474, 1475, + 1476, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, + + 1487, 1488, 1489, 1490, 1491, 1493, 1494, 1495, 1496, 1498, + 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1507, 1508, 1509, + 1510, 1511, 1513, 1514, 1515, 1517, 1518, 1519, 1520, 1521, + 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, + 1532, 1533, 1535, 1536, 1537, 1539, 1541, 1543, 1544, 1545, + 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1556, + 1557, 1558, 1559, 1560, 1561, 1562, 1564, 1565, 1566, 1567, + 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1579, + 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1589, 1590, + 1591, 1592, 1593, 1594, 1595, 1596, 1599, 1600, 1601, 1602, + + 1603, 1604, 1605, 1606, 1607, 1609, 1610, 1611, 1612, 1613, + 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, + 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1633, 1635, 1637, + 1640, 1641, 1642, 1643, 1644, 1646, 1648, 1649, 1650, 1651, + 1652, 1653, 1654, 1656, 1657, 1659, 1660, 1661, 1663, 1664, + 1665, 1667, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, + 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, + 1687, 1688, 1689, 1691, 1692, 1693, 1694, 1695, 1696, 1697, + 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1708, + 1709, 1711, 1712, 1713, 1714, 1715, 1716, 1720, 1723, 1724, + + 1726, 1727, 1728, 1729, 1730, 1731, 1734, 1737, 1738, 1739, + 1740, 1741, 1743, 1744, 1746, 1747, 1748, 1750, 1751, 1752, + 1754, 1755, 1758, 1758, 1758, 1758, 1758, 1759, 1759, 1759, + 1759, 1759, 1760, 1766, 1760, 1760, 1760, 1761, 1767, 1761, + 1768, 1761, 1762, 1762, 1762, 1762, 1762, 1763, 1763, 1763, + 1763, 1763, 1764, 1769, 1764, 1764, 1764, 1765, 1765, 1765, + 727, 726, 725, 724, 723, 722, 721, 720, 719, 718, + 717, 715, 714, 713, 712, 711, 710, 709, 707, 706, + 705, 704, 703, 702, 701, 700, 699, 698, 697, 696, + 695, 694, 693, 692, 691, 690, 688, 687, 686, 685, + + 684, 681, 680, 679, 676, 675, 674, 673, 672, 671, + 670, 667, 666, 665, 664, 663, 662, 661, 660, 659, + 658, 657, 656, 655, 653, 652, 651, 650, 649, 648, + 647, 646, 645, 643, 642, 640, 639, 638, 637, 636, + 635, 633, 632, 631, 629, 628, 626, 625, 624, 623, + 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, + 611, 610, 609, 608, 607, 605, 604, 603, 602, 601, + 600, 599, 598, 596, 595, 594, 593, 592, 591, 590, + 589, 588, 587, 586, 585, 584, 583, 582, 581, 580, + 579, 578, 577, 576, 575, 574, 573, 572, 571, 570, + + 569, 568, 562, 560, 557, 556, 554, 553, 552, 550, + 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, + 536, 535, 534, 533, 532, 531, 530, 529, 527, 526, + 525, 524, 523, 522, 521, 520, 519, 518, 517, 516, + 514, 512, 511, 510, 509, 508, 507, 506, 505, 504, + 503, 502, 501, 500, 498, 497, 496, 495, 494, 493, + 492, 490, 489, 488, 487, 486, 485, 484, 483, 482, + 481, 480, 479, 478, 477, 476, 475, 473, 472, 471, + 470, 468, 467, 466, 465, 464, 463, 461, 460, 458, + 457, 456, 454, 452, 451, 450, 449, 448, 447, 446, + + 444, 443, 442, 441, 436, 435, 433, 432, 431, 430, + 429, 426, 423, 421, 420, 419, 418, 416, 415, 414, + 413, 412, 411, 410, 409, 408, 407, 406, 405, 403, + 402, 401, 399, 398, 397, 396, 395, 394, 393, 391, + 390, 388, 387, 386, 385, 384, 383, 382, 381, 380, + 379, 375, 374, 372, 371, 370, 368, 367, 366, 365, + 364, 363, 362, 361, 360, 359, 358, 356, 355, 354, + 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, + 342, 341, 340, 339, 337, 334, 333, 332, 331, 330, + 329, 328, 327, 326, 322, 320, 317, 315, 312, 309, + + 302, 301, 300, 299, 298, 297, 295, 294, 293, 292, + 291, 290, 289, 287, 286, 285, 284, 283, 282, 281, + 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, + 269, 268, 267, 266, 265, 264, 262, 261, 260, 258, + 257, 256, 255, 254, 252, 251, 250, 249, 248, 247, + 246, 245, 244, 242, 241, 240, 239, 238, 237, 236, + 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, + 225, 224, 223, 222, 221, 220, 219, 217, 216, 215, + 214, 213, 212, 210, 207, 205, 203, 201, 200, 195, + 194, 190, 182, 181, 180, 179, 178, 177, 175, 174, + + 173, 172, 171, 170, 168, 166, 164, 162, 161, 159, + 158, 157, 156, 155, 153, 152, 151, 150, 149, 147, + 146, 145, 144, 143, 142, 141, 139, 138, 136, 135, + 131, 130, 129, 127, 126, 125, 124, 122, 120, 116, + 110, 106, 105, 104, 98, 97, 78, 73, 67, 50, + 49, 48, 43, 41, 39, 38, 24, 14, 11, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757 } ; static yy_state_type yy_last_accepting_state; @@ -1833,7 +1843,7 @@ static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 1; -static const flex_int16_t yy_rule_linenum[198] = +static const flex_int16_t yy_rule_linenum[201] = { 0, 149, 151, 153, 158, 159, 164, 165, 166, 178, 181, 186, 193, 202, 211, 220, 229, 238, 247, 256, 265, @@ -1846,16 +1856,16 @@ static const flex_int16_t yy_rule_linenum[198] = 882, 891, 900, 911, 922, 933, 944, 955, 966, 976, 985, 994, 1009, 1025, 1034, 1043, 1052, 1061, 1070, 1079, - 1088, 1097, 1106, 1115, 1137, 1159, 1168, 1178, 1188, 1197, - 1207, 1218, 1227, 1236, 1245, 1254, 1263, 1273, 1282, 1291, - 1300, 1311, 1322, 1333, 1342, 1352, 1361, 1370, 1379, 1388, - 1397, 1406, 1415, 1424, 1434, 1446, 1459, 1468, 1477, 1487, - 1497, 1506, 1517, 1527, 1536, 1546, 1556, 1565, 1574, 1583, - 1592, 1602, 1611, 1621, 1630, 1639, 1648, 1657, 1666, 1675, - 1684, 1693, 1702, 1711, 1720, 1729, 1738, 1747, 1756, 1765, - 1774, 1783, 1792, 1801, 1810, 1819, 1828, 1837, 1846, 1856, - 1955, 1960, 1965, 1970, 1971, 1972, 1973, 1974, 1975, 1977, - 1995, 2008, 2013, 2017, 2019, 2021, 2023 + 1088, 1097, 1106, 1115, 1138, 1161, 1170, 1180, 1190, 1199, + 1209, 1220, 1229, 1238, 1247, 1256, 1265, 1275, 1284, 1293, + 1302, 1313, 1324, 1335, 1344, 1354, 1363, 1372, 1381, 1390, + 1399, 1408, 1417, 1426, 1436, 1448, 1461, 1470, 1479, 1489, + 1499, 1508, 1519, 1529, 1538, 1548, 1558, 1567, 1576, 1585, + 1594, 1604, 1613, 1623, 1632, 1641, 1650, 1659, 1668, 1677, + 1686, 1695, 1704, 1713, 1722, 1731, 1740, 1749, 1758, 1767, + 1776, 1785, 1794, 1803, 1812, 1821, 1830, 1839, 1848, 1857, + 1866, 1875, 1885, 1984, 1989, 1994, 1999, 2000, 2001, 2002, + 2003, 2004, 2006, 2024, 2037, 2042, 2046, 2048, 2050, 2052 } ; @@ -1909,7 +1919,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg) -#line 1913 "dhcp6_lexer.cc" +#line 1922 "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 @@ -1935,8 +1945,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 1939 "dhcp6_lexer.cc" -#line 1940 "dhcp6_lexer.cc" +#line 1948 "dhcp6_lexer.cc" +#line 1949 "dhcp6_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2268,7 +2278,7 @@ YY_DECL } -#line 2272 "dhcp6_lexer.cc" +#line 2281 "dhcp6_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2297,13 +2307,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 >= 1736 ) + if ( yy_current_state >= 1758 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 1735 ); + while ( yy_current_state != 1757 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2322,13 +2332,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 < 198 ) + else if ( yy_act < 201 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 198 ) + else if ( yy_act == 201 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 199 ) + else if ( yy_act == 202 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -3647,6 +3657,7 @@ YY_RULE_SETUP case isc::dhcp::Parser6Context::POOLS: case isc::dhcp::Parser6Context::PD_POOLS: case isc::dhcp::Parser6Context::RESERVATIONS: + case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: case isc::dhcp::Parser6Context::LOGGERS: case isc::dhcp::Parser6Context::DHCP_DDNS: return isc::dhcp::Dhcp6Parser::make_USER_CONTEXT(driver.loc_); @@ -3657,7 +3668,7 @@ YY_RULE_SETUP YY_BREAK case 105: YY_RULE_SETUP -#line 1137 "dhcp6_lexer.ll" +#line 1138 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3671,6 +3682,7 @@ YY_RULE_SETUP case isc::dhcp::Parser6Context::CONTROL_SOCKET: case isc::dhcp::Parser6Context::POOLS: case isc::dhcp::Parser6Context::PD_POOLS: + case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: case isc::dhcp::Parser6Context::RESERVATIONS: case isc::dhcp::Parser6Context::LOGGERS: case isc::dhcp::Parser6Context::DHCP_DDNS: @@ -3682,7 +3694,7 @@ YY_RULE_SETUP YY_BREAK case 106: YY_RULE_SETUP -#line 1159 "dhcp6_lexer.ll" +#line 1161 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3694,7 +3706,7 @@ YY_RULE_SETUP YY_BREAK case 107: YY_RULE_SETUP -#line 1168 "dhcp6_lexer.ll" +#line 1170 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3707,7 +3719,7 @@ YY_RULE_SETUP YY_BREAK case 108: YY_RULE_SETUP -#line 1178 "dhcp6_lexer.ll" +#line 1180 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3720,7 +3732,7 @@ YY_RULE_SETUP YY_BREAK case 109: YY_RULE_SETUP -#line 1188 "dhcp6_lexer.ll" +#line 1190 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3732,7 +3744,7 @@ YY_RULE_SETUP YY_BREAK case 110: YY_RULE_SETUP -#line 1197 "dhcp6_lexer.ll" +#line 1199 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3745,7 +3757,7 @@ YY_RULE_SETUP YY_BREAK case 111: YY_RULE_SETUP -#line 1207 "dhcp6_lexer.ll" +#line 1209 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3759,7 +3771,7 @@ YY_RULE_SETUP YY_BREAK case 112: YY_RULE_SETUP -#line 1218 "dhcp6_lexer.ll" +#line 1220 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3771,7 +3783,7 @@ YY_RULE_SETUP YY_BREAK case 113: YY_RULE_SETUP -#line 1227 "dhcp6_lexer.ll" +#line 1229 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3783,7 +3795,7 @@ YY_RULE_SETUP YY_BREAK case 114: YY_RULE_SETUP -#line 1236 "dhcp6_lexer.ll" +#line 1238 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3795,7 +3807,7 @@ YY_RULE_SETUP YY_BREAK case 115: YY_RULE_SETUP -#line 1245 "dhcp6_lexer.ll" +#line 1247 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3807,7 +3819,7 @@ YY_RULE_SETUP YY_BREAK case 116: YY_RULE_SETUP -#line 1254 "dhcp6_lexer.ll" +#line 1256 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3819,7 +3831,7 @@ YY_RULE_SETUP YY_BREAK case 117: YY_RULE_SETUP -#line 1263 "dhcp6_lexer.ll" +#line 1265 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3832,7 +3844,7 @@ YY_RULE_SETUP YY_BREAK case 118: YY_RULE_SETUP -#line 1273 "dhcp6_lexer.ll" +#line 1275 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3844,7 +3856,7 @@ YY_RULE_SETUP YY_BREAK case 119: YY_RULE_SETUP -#line 1282 "dhcp6_lexer.ll" +#line 1284 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3856,7 +3868,7 @@ YY_RULE_SETUP YY_BREAK case 120: YY_RULE_SETUP -#line 1291 "dhcp6_lexer.ll" +#line 1293 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3868,7 +3880,7 @@ YY_RULE_SETUP YY_BREAK case 121: YY_RULE_SETUP -#line 1300 "dhcp6_lexer.ll" +#line 1302 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3882,7 +3894,7 @@ YY_RULE_SETUP YY_BREAK case 122: YY_RULE_SETUP -#line 1311 "dhcp6_lexer.ll" +#line 1313 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3896,7 +3908,7 @@ YY_RULE_SETUP YY_BREAK case 123: YY_RULE_SETUP -#line 1322 "dhcp6_lexer.ll" +#line 1324 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3910,7 +3922,7 @@ YY_RULE_SETUP YY_BREAK case 124: YY_RULE_SETUP -#line 1333 "dhcp6_lexer.ll" +#line 1335 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -3922,7 +3934,7 @@ YY_RULE_SETUP YY_BREAK case 125: YY_RULE_SETUP -#line 1342 "dhcp6_lexer.ll" +#line 1344 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3935,7 +3947,7 @@ YY_RULE_SETUP YY_BREAK case 126: YY_RULE_SETUP -#line 1352 "dhcp6_lexer.ll" +#line 1354 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -3947,7 +3959,7 @@ YY_RULE_SETUP YY_BREAK case 127: YY_RULE_SETUP -#line 1361 "dhcp6_lexer.ll" +#line 1363 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -3959,7 +3971,7 @@ YY_RULE_SETUP YY_BREAK case 128: YY_RULE_SETUP -#line 1370 "dhcp6_lexer.ll" +#line 1372 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -3971,7 +3983,7 @@ YY_RULE_SETUP YY_BREAK case 129: YY_RULE_SETUP -#line 1379 "dhcp6_lexer.ll" +#line 1381 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -3983,7 +3995,7 @@ YY_RULE_SETUP YY_BREAK case 130: YY_RULE_SETUP -#line 1388 "dhcp6_lexer.ll" +#line 1390 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -3995,7 +4007,7 @@ YY_RULE_SETUP YY_BREAK case 131: YY_RULE_SETUP -#line 1397 "dhcp6_lexer.ll" +#line 1399 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4007,7 +4019,7 @@ YY_RULE_SETUP YY_BREAK case 132: YY_RULE_SETUP -#line 1406 "dhcp6_lexer.ll" +#line 1408 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4019,7 +4031,7 @@ YY_RULE_SETUP YY_BREAK case 133: YY_RULE_SETUP -#line 1415 "dhcp6_lexer.ll" +#line 1417 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4031,7 +4043,7 @@ YY_RULE_SETUP YY_BREAK case 134: YY_RULE_SETUP -#line 1424 "dhcp6_lexer.ll" +#line 1426 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4044,7 +4056,7 @@ YY_RULE_SETUP YY_BREAK case 135: YY_RULE_SETUP -#line 1434 "dhcp6_lexer.ll" +#line 1436 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4059,7 +4071,7 @@ YY_RULE_SETUP YY_BREAK case 136: YY_RULE_SETUP -#line 1446 "dhcp6_lexer.ll" +#line 1448 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4075,7 +4087,7 @@ YY_RULE_SETUP YY_BREAK case 137: YY_RULE_SETUP -#line 1459 "dhcp6_lexer.ll" +#line 1461 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -4087,7 +4099,7 @@ YY_RULE_SETUP YY_BREAK case 138: YY_RULE_SETUP -#line 1468 "dhcp6_lexer.ll" +#line 1470 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -4099,7 +4111,7 @@ YY_RULE_SETUP YY_BREAK case 139: YY_RULE_SETUP -#line 1477 "dhcp6_lexer.ll" +#line 1479 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4112,7 +4124,7 @@ YY_RULE_SETUP YY_BREAK case 140: YY_RULE_SETUP -#line 1487 "dhcp6_lexer.ll" +#line 1489 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4125,7 +4137,7 @@ YY_RULE_SETUP YY_BREAK case 141: YY_RULE_SETUP -#line 1497 "dhcp6_lexer.ll" +#line 1499 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4137,7 +4149,7 @@ YY_RULE_SETUP YY_BREAK case 142: YY_RULE_SETUP -#line 1506 "dhcp6_lexer.ll" +#line 1508 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::MAC_SOURCES: @@ -4151,7 +4163,7 @@ YY_RULE_SETUP YY_BREAK case 143: YY_RULE_SETUP -#line 1517 "dhcp6_lexer.ll" +#line 1519 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -4164,7 +4176,7 @@ YY_RULE_SETUP YY_BREAK case 144: YY_RULE_SETUP -#line 1527 "dhcp6_lexer.ll" +#line 1529 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4176,7 +4188,7 @@ YY_RULE_SETUP YY_BREAK case 145: YY_RULE_SETUP -#line 1536 "dhcp6_lexer.ll" +#line 1538 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -4189,7 +4201,7 @@ YY_RULE_SETUP YY_BREAK case 146: YY_RULE_SETUP -#line 1546 "dhcp6_lexer.ll" +#line 1548 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4202,7 +4214,7 @@ YY_RULE_SETUP YY_BREAK case 147: YY_RULE_SETUP -#line 1556 "dhcp6_lexer.ll" +#line 1558 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -4214,7 +4226,7 @@ YY_RULE_SETUP YY_BREAK case 148: YY_RULE_SETUP -#line 1565 "dhcp6_lexer.ll" +#line 1567 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4226,7 +4238,7 @@ YY_RULE_SETUP YY_BREAK case 149: YY_RULE_SETUP -#line 1574 "dhcp6_lexer.ll" +#line 1576 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4238,7 +4250,7 @@ YY_RULE_SETUP YY_BREAK case 150: YY_RULE_SETUP -#line 1583 "dhcp6_lexer.ll" +#line 1585 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4250,7 +4262,7 @@ YY_RULE_SETUP YY_BREAK case 151: YY_RULE_SETUP -#line 1592 "dhcp6_lexer.ll" +#line 1594 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4263,7 +4275,7 @@ YY_RULE_SETUP YY_BREAK case 152: YY_RULE_SETUP -#line 1602 "dhcp6_lexer.ll" +#line 1604 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RELAY: @@ -4275,7 +4287,7 @@ YY_RULE_SETUP YY_BREAK case 153: YY_RULE_SETUP -#line 1611 "dhcp6_lexer.ll" +#line 1613 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4287,7 +4299,7 @@ YY_RULE_SETUP YY_BREAK case 154: YY_RULE_SETUP -#line 1621 "dhcp6_lexer.ll" +#line 1623 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -4299,7 +4311,7 @@ YY_RULE_SETUP YY_BREAK case 155: YY_RULE_SETUP -#line 1630 "dhcp6_lexer.ll" +#line 1632 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -4311,7 +4323,7 @@ YY_RULE_SETUP YY_BREAK case 156: YY_RULE_SETUP -#line 1639 "dhcp6_lexer.ll" +#line 1641 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4323,7 +4335,7 @@ YY_RULE_SETUP YY_BREAK case 157: YY_RULE_SETUP -#line 1648 "dhcp6_lexer.ll" +#line 1650 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -4335,7 +4347,7 @@ YY_RULE_SETUP YY_BREAK case 158: YY_RULE_SETUP -#line 1657 "dhcp6_lexer.ll" +#line 1659 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -4347,7 +4359,7 @@ YY_RULE_SETUP YY_BREAK case 159: YY_RULE_SETUP -#line 1666 "dhcp6_lexer.ll" +#line 1668 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -4359,7 +4371,7 @@ YY_RULE_SETUP YY_BREAK case 160: YY_RULE_SETUP -#line 1675 "dhcp6_lexer.ll" +#line 1677 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4371,7 +4383,7 @@ YY_RULE_SETUP YY_BREAK case 161: YY_RULE_SETUP -#line 1684 "dhcp6_lexer.ll" +#line 1686 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4383,7 +4395,7 @@ YY_RULE_SETUP YY_BREAK case 162: YY_RULE_SETUP -#line 1693 "dhcp6_lexer.ll" +#line 1695 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4395,7 +4407,7 @@ YY_RULE_SETUP YY_BREAK case 163: YY_RULE_SETUP -#line 1702 "dhcp6_lexer.ll" +#line 1704 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4407,7 +4419,7 @@ YY_RULE_SETUP YY_BREAK case 164: YY_RULE_SETUP -#line 1711 "dhcp6_lexer.ll" +#line 1713 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4419,7 +4431,7 @@ YY_RULE_SETUP YY_BREAK case 165: YY_RULE_SETUP -#line 1720 "dhcp6_lexer.ll" +#line 1722 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4431,7 +4443,7 @@ YY_RULE_SETUP YY_BREAK case 166: YY_RULE_SETUP -#line 1729 "dhcp6_lexer.ll" +#line 1731 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4443,7 +4455,7 @@ YY_RULE_SETUP YY_BREAK case 167: YY_RULE_SETUP -#line 1738 "dhcp6_lexer.ll" +#line 1740 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4455,7 +4467,7 @@ YY_RULE_SETUP YY_BREAK case 168: YY_RULE_SETUP -#line 1747 "dhcp6_lexer.ll" +#line 1749 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4467,7 +4479,7 @@ YY_RULE_SETUP YY_BREAK case 169: YY_RULE_SETUP -#line 1756 "dhcp6_lexer.ll" +#line 1758 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4479,7 +4491,7 @@ YY_RULE_SETUP YY_BREAK case 170: YY_RULE_SETUP -#line 1765 "dhcp6_lexer.ll" +#line 1767 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4491,7 +4503,7 @@ YY_RULE_SETUP YY_BREAK case 171: YY_RULE_SETUP -#line 1774 "dhcp6_lexer.ll" +#line 1776 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4503,7 +4515,7 @@ YY_RULE_SETUP YY_BREAK case 172: YY_RULE_SETUP -#line 1783 "dhcp6_lexer.ll" +#line 1785 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4515,7 +4527,7 @@ YY_RULE_SETUP YY_BREAK case 173: YY_RULE_SETUP -#line 1792 "dhcp6_lexer.ll" +#line 1794 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -4527,7 +4539,7 @@ YY_RULE_SETUP YY_BREAK case 174: YY_RULE_SETUP -#line 1801 "dhcp6_lexer.ll" +#line 1803 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -4539,7 +4551,7 @@ YY_RULE_SETUP YY_BREAK case 175: YY_RULE_SETUP -#line 1810 "dhcp6_lexer.ll" +#line 1812 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4551,7 +4563,43 @@ YY_RULE_SETUP YY_BREAK case 176: YY_RULE_SETUP -#line 1819 "dhcp6_lexer.ll" +#line 1821 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: + return isc::dhcp::Dhcp6Parser::make_ENABLE_QUEUE(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("enable-queue", driver.loc_); + } +} + YY_BREAK +case 177: +YY_RULE_SETUP +#line 1830 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: + return isc::dhcp::Dhcp6Parser::make_QUEUE_TYPE(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("queue-type", driver.loc_); + } +} + YY_BREAK +case 178: +YY_RULE_SETUP +#line 1839 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: + return isc::dhcp::Dhcp6Parser::make_CAPACITY(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("capacity", driver.loc_); + } +} + YY_BREAK +case 179: +YY_RULE_SETUP +#line 1848 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4561,9 +4609,9 @@ YY_RULE_SETUP } } YY_BREAK -case 177: +case 180: YY_RULE_SETUP -#line 1828 "dhcp6_lexer.ll" +#line 1857 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -4573,9 +4621,9 @@ YY_RULE_SETUP } } YY_BREAK -case 178: +case 181: YY_RULE_SETUP -#line 1837 "dhcp6_lexer.ll" +#line 1866 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -4585,9 +4633,9 @@ YY_RULE_SETUP } } YY_BREAK -case 179: +case 182: YY_RULE_SETUP -#line 1846 "dhcp6_lexer.ll" +#line 1875 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -4597,9 +4645,9 @@ YY_RULE_SETUP } } YY_BREAK -case 180: +case 183: YY_RULE_SETUP -#line 1856 "dhcp6_lexer.ll" +#line 1885 "dhcp6_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. @@ -4699,65 +4747,65 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 181: -/* rule 181 can match eol */ +case 184: +/* rule 184 can match eol */ YY_RULE_SETUP -#line 1955 "dhcp6_lexer.ll" +#line 1984 "dhcp6_lexer.ll" { /* Bad string with a forbidden control character inside */ driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); } YY_BREAK -case 182: -/* rule 182 can match eol */ +case 185: +/* rule 185 can match eol */ YY_RULE_SETUP -#line 1960 "dhcp6_lexer.ll" +#line 1989 "dhcp6_lexer.ll" { /* Bad string with a bad escape inside */ driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); } YY_BREAK -case 183: +case 186: YY_RULE_SETUP -#line 1965 "dhcp6_lexer.ll" +#line 1994 "dhcp6_lexer.ll" { /* Bad string with an open escape at the end */ driver.error(driver.loc_, "Overflow escape in " + std::string(yytext)); } YY_BREAK -case 184: +case 187: YY_RULE_SETUP -#line 1970 "dhcp6_lexer.ll" +#line 1999 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 185: +case 188: YY_RULE_SETUP -#line 1971 "dhcp6_lexer.ll" +#line 2000 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 186: +case 189: YY_RULE_SETUP -#line 1972 "dhcp6_lexer.ll" +#line 2001 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 187: +case 190: YY_RULE_SETUP -#line 1973 "dhcp6_lexer.ll" +#line 2002 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 188: +case 191: YY_RULE_SETUP -#line 1974 "dhcp6_lexer.ll" +#line 2003 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); } YY_BREAK -case 189: +case 192: YY_RULE_SETUP -#line 1975 "dhcp6_lexer.ll" +#line 2004 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); } YY_BREAK -case 190: +case 193: YY_RULE_SETUP -#line 1977 "dhcp6_lexer.ll" +#line 2006 "dhcp6_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -4776,9 +4824,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 191: +case 194: YY_RULE_SETUP -#line 1995 "dhcp6_lexer.ll" +#line 2024 "dhcp6_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -4792,43 +4840,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 192: +case 195: YY_RULE_SETUP -#line 2008 "dhcp6_lexer.ll" +#line 2037 "dhcp6_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 193: +case 196: YY_RULE_SETUP -#line 2013 "dhcp6_lexer.ll" +#line 2042 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 194: +case 197: YY_RULE_SETUP -#line 2017 "dhcp6_lexer.ll" +#line 2046 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 195: +case 198: YY_RULE_SETUP -#line 2019 "dhcp6_lexer.ll" +#line 2048 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 196: +case 199: YY_RULE_SETUP -#line 2021 "dhcp6_lexer.ll" +#line 2050 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 197: +case 200: YY_RULE_SETUP -#line 2023 "dhcp6_lexer.ll" +#line 2052 "dhcp6_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2025 "dhcp6_lexer.ll" +#line 2054 "dhcp6_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp6Parser::make_END(driver.loc_); @@ -4852,12 +4900,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 198: +case 201: YY_RULE_SETUP -#line 2048 "dhcp6_lexer.ll" +#line 2077 "dhcp6_lexer.ll" ECHO; YY_BREAK -#line 4861 "dhcp6_lexer.cc" +#line 4908 "dhcp6_lexer.cc" case YY_END_OF_BUFFER: { @@ -5176,7 +5224,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 >= 1736 ) + if ( yy_current_state >= 1758 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -5209,11 +5257,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 >= 1736 ) + if ( yy_current_state >= 1758 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1735); + yy_is_jam = (yy_current_state == 1757); return yy_is_jam ? 0 : yy_current_state; } @@ -5962,7 +6010,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2048 "dhcp6_lexer.ll" +#line 2077 "dhcp6_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp6/dhcp6_parser.cc b/src/bin/dhcp6/dhcp6_parser.cc index 08650e2f13..9c919b7a3e 100644 --- a/src/bin/dhcp6/dhcp6_parser.cc +++ b/src/bin/dhcp6/dhcp6_parser.cc @@ -248,29 +248,29 @@ namespace isc { namespace dhcp { { switch (that.type_get ()) { - case 210: // value - case 214: // map_value - case 255: // ddns_replace_client_name_value - case 289: // db_type - case 383: // hr_mode - case 519: // duid_type - case 554: // ncr_protocol_value + case 213: // value + case 217: // map_value + case 258: // ddns_replace_client_name_value + case 292: // db_type + case 386: // hr_mode + case 522: // duid_type + case 565: // ncr_protocol_value value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value)); break; - case 192: // "boolean" + case 195: // "boolean" value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value)); break; - case 191: // "floating point" + case 194: // "floating point" value.YY_MOVE_OR_COPY< double > (YY_MOVE (that.value)); break; - case 190: // "integer" + case 193: // "integer" value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (that.value)); break; - case 189: // "constant string" + case 192: // "constant string" value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value)); break; @@ -289,29 +289,29 @@ namespace isc { namespace dhcp { { switch (that.type_get ()) { - case 210: // value - case 214: // map_value - case 255: // ddns_replace_client_name_value - case 289: // db_type - case 383: // hr_mode - case 519: // duid_type - case 554: // ncr_protocol_value + case 213: // value + case 217: // map_value + case 258: // ddns_replace_client_name_value + case 292: // db_type + case 386: // hr_mode + case 522: // duid_type + case 565: // ncr_protocol_value value.move< ElementPtr > (YY_MOVE (that.value)); break; - case 192: // "boolean" + case 195: // "boolean" value.move< bool > (YY_MOVE (that.value)); break; - case 191: // "floating point" + case 194: // "floating point" value.move< double > (YY_MOVE (that.value)); break; - case 190: // "integer" + case 193: // "integer" value.move< int64_t > (YY_MOVE (that.value)); break; - case 189: // "constant string" + case 192: // "constant string" value.move< std::string > (YY_MOVE (that.value)); break; @@ -330,29 +330,29 @@ namespace isc { namespace dhcp { state = that.state; switch (that.type_get ()) { - case 210: // value - case 214: // map_value - case 255: // ddns_replace_client_name_value - case 289: // db_type - case 383: // hr_mode - case 519: // duid_type - case 554: // ncr_protocol_value + case 213: // value + case 217: // map_value + case 258: // ddns_replace_client_name_value + case 292: // db_type + case 386: // hr_mode + case 522: // duid_type + case 565: // ncr_protocol_value value.move< ElementPtr > (that.value); break; - case 192: // "boolean" + case 195: // "boolean" value.move< bool > (that.value); break; - case 191: // "floating point" + case 194: // "floating point" value.move< double > (that.value); break; - case 190: // "integer" + case 193: // "integer" value.move< int64_t > (that.value); break; - case 189: // "constant string" + case 192: // "constant string" value.move< std::string > (that.value); break; @@ -395,68 +395,68 @@ namespace isc { namespace dhcp { << yysym.location << ": "; switch (yytype) { - case 189: // "constant string" -#line 268 "dhcp6_parser.yy" + case 192: // "constant string" +#line 271 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } #line 402 "dhcp6_parser.cc" break; - case 190: // "integer" -#line 268 "dhcp6_parser.yy" + case 193: // "integer" +#line 271 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } #line 408 "dhcp6_parser.cc" break; - case 191: // "floating point" -#line 268 "dhcp6_parser.yy" + case 194: // "floating point" +#line 271 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < double > (); } #line 414 "dhcp6_parser.cc" break; - case 192: // "boolean" -#line 268 "dhcp6_parser.yy" + case 195: // "boolean" +#line 271 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < bool > (); } #line 420 "dhcp6_parser.cc" break; - case 210: // value -#line 268 "dhcp6_parser.yy" + case 213: // value +#line 271 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 426 "dhcp6_parser.cc" break; - case 214: // map_value -#line 268 "dhcp6_parser.yy" + case 217: // map_value +#line 271 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 432 "dhcp6_parser.cc" break; - case 255: // ddns_replace_client_name_value -#line 268 "dhcp6_parser.yy" + case 258: // ddns_replace_client_name_value +#line 271 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 438 "dhcp6_parser.cc" break; - case 289: // db_type -#line 268 "dhcp6_parser.yy" + case 292: // db_type +#line 271 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 444 "dhcp6_parser.cc" break; - case 383: // hr_mode -#line 268 "dhcp6_parser.yy" + case 386: // hr_mode +#line 271 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 450 "dhcp6_parser.cc" break; - case 519: // duid_type -#line 268 "dhcp6_parser.yy" + case 522: // duid_type +#line 271 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 456 "dhcp6_parser.cc" break; - case 554: // ncr_protocol_value -#line 268 "dhcp6_parser.yy" + case 565: // ncr_protocol_value +#line 271 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 462 "dhcp6_parser.cc" break; @@ -675,29 +675,29 @@ namespace isc { namespace dhcp { when using variants. */ switch (yyr1_[yyn]) { - case 210: // value - case 214: // map_value - case 255: // ddns_replace_client_name_value - case 289: // db_type - case 383: // hr_mode - case 519: // duid_type - case 554: // ncr_protocol_value + case 213: // value + case 217: // map_value + case 258: // ddns_replace_client_name_value + case 292: // db_type + case 386: // hr_mode + case 522: // duid_type + case 565: // ncr_protocol_value yylhs.value.emplace< ElementPtr > (); break; - case 192: // "boolean" + case 195: // "boolean" yylhs.value.emplace< bool > (); break; - case 191: // "floating point" + case 194: // "floating point" yylhs.value.emplace< double > (); break; - case 190: // "integer" + case 193: // "integer" yylhs.value.emplace< int64_t > (); break; - case 189: // "constant string" + case 192: // "constant string" yylhs.value.emplace< std::string > (); break; @@ -722,139 +722,139 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: -#line 277 "dhcp6_parser.yy" +#line 280 "dhcp6_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } #line 728 "dhcp6_parser.cc" break; case 4: -#line 278 "dhcp6_parser.yy" +#line 281 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG; } #line 734 "dhcp6_parser.cc" break; case 6: -#line 279 "dhcp6_parser.yy" +#line 282 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } #line 740 "dhcp6_parser.cc" break; case 8: -#line 280 "dhcp6_parser.yy" +#line 283 "dhcp6_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 746 "dhcp6_parser.cc" break; case 10: -#line 281 "dhcp6_parser.yy" +#line 284 "dhcp6_parser.yy" { ctx.ctx_ = ctx.SUBNET6; } #line 752 "dhcp6_parser.cc" break; case 12: -#line 282 "dhcp6_parser.yy" +#line 285 "dhcp6_parser.yy" { ctx.ctx_ = ctx.POOLS; } #line 758 "dhcp6_parser.cc" break; case 14: -#line 283 "dhcp6_parser.yy" +#line 286 "dhcp6_parser.yy" { ctx.ctx_ = ctx.PD_POOLS; } #line 764 "dhcp6_parser.cc" break; case 16: -#line 284 "dhcp6_parser.yy" +#line 287 "dhcp6_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } #line 770 "dhcp6_parser.cc" break; case 18: -#line 285 "dhcp6_parser.yy" +#line 288 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } #line 776 "dhcp6_parser.cc" break; case 20: -#line 286 "dhcp6_parser.yy" +#line 289 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } #line 782 "dhcp6_parser.cc" break; case 22: -#line 287 "dhcp6_parser.yy" +#line 290 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } #line 788 "dhcp6_parser.cc" break; case 24: -#line 288 "dhcp6_parser.yy" +#line 291 "dhcp6_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 794 "dhcp6_parser.cc" break; case 26: -#line 289 "dhcp6_parser.yy" +#line 292 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } #line 800 "dhcp6_parser.cc" break; case 28: -#line 290 "dhcp6_parser.yy" +#line 293 "dhcp6_parser.yy" { ctx.ctx_ = ctx.LOGGING; } #line 806 "dhcp6_parser.cc" break; case 30: -#line 291 "dhcp6_parser.yy" +#line 294 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 812 "dhcp6_parser.cc" break; case 32: -#line 299 "dhcp6_parser.yy" +#line 302 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 818 "dhcp6_parser.cc" break; case 33: -#line 300 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } #line 824 "dhcp6_parser.cc" break; case 34: -#line 301 "dhcp6_parser.yy" +#line 304 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } #line 830 "dhcp6_parser.cc" break; case 35: -#line 302 "dhcp6_parser.yy" +#line 305 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 836 "dhcp6_parser.cc" break; case 36: -#line 303 "dhcp6_parser.yy" +#line 306 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 842 "dhcp6_parser.cc" break; case 37: -#line 304 "dhcp6_parser.yy" +#line 307 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 848 "dhcp6_parser.cc" break; case 38: -#line 305 "dhcp6_parser.yy" +#line 308 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 854 "dhcp6_parser.cc" break; case 39: -#line 308 "dhcp6_parser.yy" +#line 311 "dhcp6_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); @@ -863,7 +863,7 @@ namespace isc { namespace dhcp { break; case 40: -#line 313 "dhcp6_parser.yy" +#line 316 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -874,7 +874,7 @@ namespace isc { namespace dhcp { break; case 41: -#line 318 "dhcp6_parser.yy" +#line 321 "dhcp6_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -884,13 +884,13 @@ namespace isc { namespace dhcp { break; case 42: -#line 324 "dhcp6_parser.yy" +#line 327 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 890 "dhcp6_parser.cc" break; case 45: -#line 331 "dhcp6_parser.yy" +#line 334 "dhcp6_parser.yy" { // map containing a single entry ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); @@ -899,7 +899,7 @@ namespace isc { namespace dhcp { break; case 46: -#line 335 "dhcp6_parser.yy" +#line 338 "dhcp6_parser.yy" { // map consisting of a shorter map followed by // comma and string:value @@ -909,7 +909,7 @@ namespace isc { namespace dhcp { break; case 47: -#line 342 "dhcp6_parser.yy" +#line 345 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -918,7 +918,7 @@ namespace isc { namespace dhcp { break; case 48: -#line 345 "dhcp6_parser.yy" +#line 348 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here } @@ -926,7 +926,7 @@ namespace isc { namespace dhcp { break; case 51: -#line 353 "dhcp6_parser.yy" +#line 356 "dhcp6_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -935,7 +935,7 @@ namespace isc { namespace dhcp { break; case 52: -#line 357 "dhcp6_parser.yy" +#line 360 "dhcp6_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -944,7 +944,7 @@ namespace isc { namespace dhcp { break; case 53: -#line 364 "dhcp6_parser.yy" +#line 367 "dhcp6_parser.yy" { // List parsing about to start } @@ -952,7 +952,7 @@ namespace isc { namespace dhcp { break; case 54: -#line 366 "dhcp6_parser.yy" +#line 369 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -961,7 +961,7 @@ namespace isc { namespace dhcp { break; case 57: -#line 375 "dhcp6_parser.yy" +#line 378 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -970,7 +970,7 @@ namespace isc { namespace dhcp { break; case 58: -#line 379 "dhcp6_parser.yy" +#line 382 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -979,7 +979,7 @@ namespace isc { namespace dhcp { break; case 59: -#line 390 "dhcp6_parser.yy" +#line 393 "dhcp6_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); @@ -990,7 +990,7 @@ namespace isc { namespace dhcp { break; case 60: -#line 400 "dhcp6_parser.yy" +#line 403 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1001,7 +1001,7 @@ namespace isc { namespace dhcp { break; case 61: -#line 405 "dhcp6_parser.yy" +#line 408 "dhcp6_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -1014,7 +1014,7 @@ namespace isc { namespace dhcp { break; case 70: -#line 428 "dhcp6_parser.yy" +#line 431 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1027,7 +1027,7 @@ namespace isc { namespace dhcp { break; case 71: -#line 435 "dhcp6_parser.yy" +#line 438 "dhcp6_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); @@ -1037,7 +1037,7 @@ namespace isc { namespace dhcp { break; case 72: -#line 443 "dhcp6_parser.yy" +#line 446 "dhcp6_parser.yy" { // Parse the Dhcp6 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1047,7 +1047,7 @@ namespace isc { namespace dhcp { break; case 73: -#line 447 "dhcp6_parser.yy" +#line 450 "dhcp6_parser.yy" { // No global parameter is required // parsing completed @@ -1056,7 +1056,7 @@ namespace isc { namespace dhcp { break; case 125: -#line 509 "dhcp6_parser.yy" +#line 512 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1064,7 +1064,7 @@ namespace isc { namespace dhcp { break; case 126: -#line 511 "dhcp6_parser.yy" +#line 514 "dhcp6_parser.yy" { ElementPtr datadir(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data-directory", datadir); @@ -1074,7 +1074,7 @@ namespace isc { namespace dhcp { break; case 127: -#line 517 "dhcp6_parser.yy" +#line 520 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("preferred-lifetime", prf); @@ -1083,7 +1083,7 @@ namespace isc { namespace dhcp { break; case 128: -#line 522 "dhcp6_parser.yy" +#line 525 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("min-preferred-lifetime", prf); @@ -1092,7 +1092,7 @@ namespace isc { namespace dhcp { break; case 129: -#line 527 "dhcp6_parser.yy" +#line 530 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-preferred-lifetime", prf); @@ -1101,7 +1101,7 @@ namespace isc { namespace dhcp { break; case 130: -#line 532 "dhcp6_parser.yy" +#line 535 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("valid-lifetime", prf); @@ -1110,7 +1110,7 @@ namespace isc { namespace dhcp { break; case 131: -#line 537 "dhcp6_parser.yy" +#line 540 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("min-valid-lifetime", prf); @@ -1119,7 +1119,7 @@ namespace isc { namespace dhcp { break; case 132: -#line 542 "dhcp6_parser.yy" +#line 545 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-valid-lifetime", prf); @@ -1128,7 +1128,7 @@ namespace isc { namespace dhcp { break; case 133: -#line 547 "dhcp6_parser.yy" +#line 550 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("renew-timer", prf); @@ -1137,7 +1137,7 @@ namespace isc { namespace dhcp { break; case 134: -#line 552 "dhcp6_parser.yy" +#line 555 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rebind-timer", prf); @@ -1146,7 +1146,7 @@ namespace isc { namespace dhcp { break; case 135: -#line 557 "dhcp6_parser.yy" +#line 560 "dhcp6_parser.yy" { ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("calculate-tee-times", ctt); @@ -1155,7 +1155,7 @@ namespace isc { namespace dhcp { break; case 136: -#line 562 "dhcp6_parser.yy" +#line 565 "dhcp6_parser.yy" { ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("t1-percent", t1); @@ -1164,7 +1164,7 @@ namespace isc { namespace dhcp { break; case 137: -#line 567 "dhcp6_parser.yy" +#line 570 "dhcp6_parser.yy" { ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("t2-percent", t2); @@ -1173,7 +1173,7 @@ namespace isc { namespace dhcp { break; case 138: -#line 572 "dhcp6_parser.yy" +#line 575 "dhcp6_parser.yy" { ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("decline-probation-period", dpp); @@ -1182,7 +1182,7 @@ namespace isc { namespace dhcp { break; case 139: -#line 577 "dhcp6_parser.yy" +#line 580 "dhcp6_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-send-updates", b); @@ -1191,7 +1191,7 @@ namespace isc { namespace dhcp { break; case 140: -#line 582 "dhcp6_parser.yy" +#line 585 "dhcp6_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-override-no-update", b); @@ -1200,7 +1200,7 @@ namespace isc { namespace dhcp { break; case 141: -#line 587 "dhcp6_parser.yy" +#line 590 "dhcp6_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-override-client-update", b); @@ -1209,7 +1209,7 @@ namespace isc { namespace dhcp { break; case 142: -#line 592 "dhcp6_parser.yy" +#line 595 "dhcp6_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); } @@ -1217,7 +1217,7 @@ namespace isc { namespace dhcp { break; case 143: -#line 594 "dhcp6_parser.yy" +#line 597 "dhcp6_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1226,7 +1226,7 @@ namespace isc { namespace dhcp { break; case 144: -#line 600 "dhcp6_parser.yy" +#line 603 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } @@ -1234,7 +1234,7 @@ namespace isc { namespace dhcp { break; case 145: -#line 603 "dhcp6_parser.yy" +#line 606 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } @@ -1242,7 +1242,7 @@ namespace isc { namespace dhcp { break; case 146: -#line 606 "dhcp6_parser.yy" +#line 609 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } @@ -1250,7 +1250,7 @@ namespace isc { namespace dhcp { break; case 147: -#line 609 "dhcp6_parser.yy" +#line 612 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } @@ -1258,7 +1258,7 @@ namespace isc { namespace dhcp { break; case 148: -#line 612 "dhcp6_parser.yy" +#line 615 "dhcp6_parser.yy" { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); @@ -1267,7 +1267,7 @@ namespace isc { namespace dhcp { break; case 149: -#line 618 "dhcp6_parser.yy" +#line 621 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1275,7 +1275,7 @@ namespace isc { namespace dhcp { break; case 150: -#line 620 "dhcp6_parser.yy" +#line 623 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-generated-prefix", s); @@ -1285,7 +1285,7 @@ namespace isc { namespace dhcp { break; case 151: -#line 626 "dhcp6_parser.yy" +#line 629 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1293,7 +1293,7 @@ namespace isc { namespace dhcp { break; case 152: -#line 628 "dhcp6_parser.yy" +#line 631 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-qualifying-suffix", s); @@ -1303,7 +1303,7 @@ namespace isc { namespace dhcp { break; case 153: -#line 634 "dhcp6_parser.yy" +#line 637 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1311,7 +1311,7 @@ namespace isc { namespace dhcp { break; case 154: -#line 636 "dhcp6_parser.yy" +#line 639 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); @@ -1321,7 +1321,7 @@ namespace isc { namespace dhcp { break; case 155: -#line 642 "dhcp6_parser.yy" +#line 645 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1329,7 +1329,7 @@ namespace isc { namespace dhcp { break; case 156: -#line 644 "dhcp6_parser.yy" +#line 647 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); @@ -1339,7 +1339,7 @@ namespace isc { namespace dhcp { break; case 157: -#line 650 "dhcp6_parser.yy" +#line 653 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1347,7 +1347,7 @@ namespace isc { namespace dhcp { break; case 158: -#line 652 "dhcp6_parser.yy" +#line 655 "dhcp6_parser.yy" { ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); @@ -1357,7 +1357,7 @@ namespace isc { namespace dhcp { break; case 159: -#line 658 "dhcp6_parser.yy" +#line 661 "dhcp6_parser.yy" { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces-config", i); @@ -1368,7 +1368,7 @@ namespace isc { namespace dhcp { break; case 160: -#line 663 "dhcp6_parser.yy" +#line 666 "dhcp6_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); @@ -1378,7 +1378,7 @@ namespace isc { namespace dhcp { break; case 161: -#line 669 "dhcp6_parser.yy" +#line 672 "dhcp6_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1388,7 +1388,7 @@ namespace isc { namespace dhcp { break; case 162: -#line 673 "dhcp6_parser.yy" +#line 676 "dhcp6_parser.yy" { // No interfaces config param is required // parsing completed @@ -1397,7 +1397,7 @@ namespace isc { namespace dhcp { break; case 170: -#line 689 "dhcp6_parser.yy" +#line 692 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces", l); @@ -1408,7 +1408,7 @@ namespace isc { namespace dhcp { break; case 171: -#line 694 "dhcp6_parser.yy" +#line 697 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1417,7 +1417,7 @@ namespace isc { namespace dhcp { break; case 172: -#line 699 "dhcp6_parser.yy" +#line 702 "dhcp6_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); @@ -1426,7 +1426,7 @@ namespace isc { namespace dhcp { break; case 173: -#line 705 "dhcp6_parser.yy" +#line 708 "dhcp6_parser.yy" { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lease-database", i); @@ -1437,7 +1437,7 @@ namespace isc { namespace dhcp { break; case 174: -#line 710 "dhcp6_parser.yy" +#line 713 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -1448,7 +1448,7 @@ namespace isc { namespace dhcp { break; case 175: -#line 717 "dhcp6_parser.yy" +#line 720 "dhcp6_parser.yy" { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hosts-database", i); @@ -1459,7 +1459,7 @@ namespace isc { namespace dhcp { break; case 176: -#line 722 "dhcp6_parser.yy" +#line 725 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -1470,7 +1470,7 @@ namespace isc { namespace dhcp { break; case 177: -#line 729 "dhcp6_parser.yy" +#line 732 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hosts-databases", l); @@ -1481,7 +1481,7 @@ namespace isc { namespace dhcp { break; case 178: -#line 734 "dhcp6_parser.yy" +#line 737 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1490,7 +1490,7 @@ namespace isc { namespace dhcp { break; case 183: -#line 747 "dhcp6_parser.yy" +#line 750 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -1500,7 +1500,7 @@ namespace isc { namespace dhcp { break; case 184: -#line 751 "dhcp6_parser.yy" +#line 754 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -1510,7 +1510,7 @@ namespace isc { namespace dhcp { break; case 208: -#line 784 "dhcp6_parser.yy" +#line 787 "dhcp6_parser.yy" { ctx.enter(ctx.DATABASE_TYPE); } @@ -1518,7 +1518,7 @@ namespace isc { namespace dhcp { break; case 209: -#line 786 "dhcp6_parser.yy" +#line 789 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1527,31 +1527,31 @@ namespace isc { namespace dhcp { break; case 210: -#line 791 "dhcp6_parser.yy" +#line 794 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } #line 1533 "dhcp6_parser.cc" break; case 211: -#line 792 "dhcp6_parser.yy" +#line 795 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } #line 1539 "dhcp6_parser.cc" break; case 212: -#line 793 "dhcp6_parser.yy" +#line 796 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } #line 1545 "dhcp6_parser.cc" break; case 213: -#line 794 "dhcp6_parser.yy" +#line 797 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } #line 1551 "dhcp6_parser.cc" break; case 214: -#line 797 "dhcp6_parser.yy" +#line 800 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1559,7 +1559,7 @@ namespace isc { namespace dhcp { break; case 215: -#line 799 "dhcp6_parser.yy" +#line 802 "dhcp6_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); @@ -1569,7 +1569,7 @@ namespace isc { namespace dhcp { break; case 216: -#line 805 "dhcp6_parser.yy" +#line 808 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1577,7 +1577,7 @@ namespace isc { namespace dhcp { break; case 217: -#line 807 "dhcp6_parser.yy" +#line 810 "dhcp6_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); @@ -1587,7 +1587,7 @@ namespace isc { namespace dhcp { break; case 218: -#line 813 "dhcp6_parser.yy" +#line 816 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1595,7 +1595,7 @@ namespace isc { namespace dhcp { break; case 219: -#line 815 "dhcp6_parser.yy" +#line 818 "dhcp6_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); @@ -1605,7 +1605,7 @@ namespace isc { namespace dhcp { break; case 220: -#line 821 "dhcp6_parser.yy" +#line 824 "dhcp6_parser.yy" { ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); @@ -1614,7 +1614,7 @@ namespace isc { namespace dhcp { break; case 221: -#line 826 "dhcp6_parser.yy" +#line 829 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1622,7 +1622,7 @@ namespace isc { namespace dhcp { break; case 222: -#line 828 "dhcp6_parser.yy" +#line 831 "dhcp6_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); @@ -1632,7 +1632,7 @@ namespace isc { namespace dhcp { break; case 223: -#line 834 "dhcp6_parser.yy" +#line 837 "dhcp6_parser.yy" { ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); @@ -1641,7 +1641,7 @@ namespace isc { namespace dhcp { break; case 224: -#line 839 "dhcp6_parser.yy" +#line 842 "dhcp6_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); @@ -1650,7 +1650,7 @@ namespace isc { namespace dhcp { break; case 225: -#line 844 "dhcp6_parser.yy" +#line 847 "dhcp6_parser.yy" { ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); @@ -1659,7 +1659,7 @@ namespace isc { namespace dhcp { break; case 226: -#line 849 "dhcp6_parser.yy" +#line 852 "dhcp6_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); @@ -1668,7 +1668,7 @@ namespace isc { namespace dhcp { break; case 227: -#line 854 "dhcp6_parser.yy" +#line 857 "dhcp6_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); @@ -1677,7 +1677,7 @@ namespace isc { namespace dhcp { break; case 228: -#line 859 "dhcp6_parser.yy" +#line 862 "dhcp6_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-row-errors", n); @@ -1686,7 +1686,7 @@ namespace isc { namespace dhcp { break; case 229: -#line 864 "dhcp6_parser.yy" +#line 867 "dhcp6_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("request-timeout", n); @@ -1695,7 +1695,7 @@ namespace isc { namespace dhcp { break; case 230: -#line 869 "dhcp6_parser.yy" +#line 872 "dhcp6_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-keepalive", n); @@ -1704,7 +1704,7 @@ namespace isc { namespace dhcp { break; case 231: -#line 874 "dhcp6_parser.yy" +#line 877 "dhcp6_parser.yy" { ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-nodelay", n); @@ -1713,7 +1713,7 @@ namespace isc { namespace dhcp { break; case 232: -#line 879 "dhcp6_parser.yy" +#line 882 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1721,7 +1721,7 @@ namespace isc { namespace dhcp { break; case 233: -#line 881 "dhcp6_parser.yy" +#line 884 "dhcp6_parser.yy" { ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("contact-points", cp); @@ -1731,7 +1731,7 @@ namespace isc { namespace dhcp { break; case 234: -#line 887 "dhcp6_parser.yy" +#line 890 "dhcp6_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); @@ -1740,7 +1740,7 @@ namespace isc { namespace dhcp { break; case 235: -#line 892 "dhcp6_parser.yy" +#line 895 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1748,7 +1748,7 @@ namespace isc { namespace dhcp { break; case 236: -#line 894 "dhcp6_parser.yy" +#line 897 "dhcp6_parser.yy" { ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("keyspace", ks); @@ -1758,7 +1758,7 @@ namespace isc { namespace dhcp { break; case 237: -#line 900 "dhcp6_parser.yy" +#line 903 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1766,7 +1766,7 @@ namespace isc { namespace dhcp { break; case 238: -#line 902 "dhcp6_parser.yy" +#line 905 "dhcp6_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("consistency", c); @@ -1776,7 +1776,7 @@ namespace isc { namespace dhcp { break; case 239: -#line 908 "dhcp6_parser.yy" +#line 911 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1784,7 +1784,7 @@ namespace isc { namespace dhcp { break; case 240: -#line 910 "dhcp6_parser.yy" +#line 913 "dhcp6_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("serial-consistency", c); @@ -1794,7 +1794,7 @@ namespace isc { namespace dhcp { break; case 241: -#line 916 "dhcp6_parser.yy" +#line 919 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sanity-checks", m); @@ -1805,7 +1805,7 @@ namespace isc { namespace dhcp { break; case 242: -#line 921 "dhcp6_parser.yy" +#line 924 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1814,7 +1814,7 @@ namespace isc { namespace dhcp { break; case 246: -#line 931 "dhcp6_parser.yy" +#line 934 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -1822,7 +1822,7 @@ namespace isc { namespace dhcp { break; case 247: -#line 933 "dhcp6_parser.yy" +#line 936 "dhcp6_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1842,7 +1842,7 @@ namespace isc { namespace dhcp { break; case 248: -#line 949 "dhcp6_parser.yy" +#line 952 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("mac-sources", l); @@ -1853,7 +1853,7 @@ namespace isc { namespace dhcp { break; case 249: -#line 954 "dhcp6_parser.yy" +#line 957 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1862,7 +1862,7 @@ namespace isc { namespace dhcp { break; case 254: -#line 967 "dhcp6_parser.yy" +#line 970 "dhcp6_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); @@ -1871,7 +1871,7 @@ namespace isc { namespace dhcp { break; case 255: -#line 972 "dhcp6_parser.yy" +#line 975 "dhcp6_parser.yy" { ElementPtr duid(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); @@ -1880,7 +1880,7 @@ namespace isc { namespace dhcp { break; case 256: -#line 977 "dhcp6_parser.yy" +#line 980 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host-reservation-identifiers", l); @@ -1891,7 +1891,7 @@ namespace isc { namespace dhcp { break; case 257: -#line 982 "dhcp6_parser.yy" +#line 985 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1900,7 +1900,7 @@ namespace isc { namespace dhcp { break; case 263: -#line 996 "dhcp6_parser.yy" +#line 999 "dhcp6_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); @@ -1909,7 +1909,7 @@ namespace isc { namespace dhcp { break; case 264: -#line 1001 "dhcp6_parser.yy" +#line 1004 "dhcp6_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); @@ -1918,7 +1918,7 @@ namespace isc { namespace dhcp { break; case 265: -#line 1008 "dhcp6_parser.yy" +#line 1011 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("relay-supplied-options", l); @@ -1929,7 +1929,7 @@ namespace isc { namespace dhcp { break; case 266: -#line 1013 "dhcp6_parser.yy" +#line 1016 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1938,7 +1938,7 @@ namespace isc { namespace dhcp { break; case 267: -#line 1018 "dhcp6_parser.yy" +#line 1021 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hooks-libraries", l); @@ -1949,7 +1949,7 @@ namespace isc { namespace dhcp { break; case 268: -#line 1023 "dhcp6_parser.yy" +#line 1026 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -1958,7 +1958,7 @@ namespace isc { namespace dhcp { break; case 273: -#line 1036 "dhcp6_parser.yy" +#line 1039 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -1968,7 +1968,7 @@ namespace isc { namespace dhcp { break; case 274: -#line 1040 "dhcp6_parser.yy" +#line 1043 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -1978,7 +1978,7 @@ namespace isc { namespace dhcp { break; case 275: -#line 1046 "dhcp6_parser.yy" +#line 1049 "dhcp6_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1988,7 +1988,7 @@ namespace isc { namespace dhcp { break; case 276: -#line 1050 "dhcp6_parser.yy" +#line 1053 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -1998,7 +1998,7 @@ namespace isc { namespace dhcp { break; case 282: -#line 1065 "dhcp6_parser.yy" +#line 1068 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2006,7 +2006,7 @@ namespace isc { namespace dhcp { break; case 283: -#line 1067 "dhcp6_parser.yy" +#line 1070 "dhcp6_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); @@ -2016,7 +2016,7 @@ namespace isc { namespace dhcp { break; case 284: -#line 1073 "dhcp6_parser.yy" +#line 1076 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2024,7 +2024,7 @@ namespace isc { namespace dhcp { break; case 285: -#line 1075 "dhcp6_parser.yy" +#line 1078 "dhcp6_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -2033,7 +2033,7 @@ namespace isc { namespace dhcp { break; case 286: -#line 1081 "dhcp6_parser.yy" +#line 1084 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("expired-leases-processing", m); @@ -2044,7 +2044,7 @@ namespace isc { namespace dhcp { break; case 287: -#line 1086 "dhcp6_parser.yy" +#line 1089 "dhcp6_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); @@ -2054,7 +2054,7 @@ namespace isc { namespace dhcp { break; case 296: -#line 1104 "dhcp6_parser.yy" +#line 1107 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); @@ -2063,7 +2063,7 @@ namespace isc { namespace dhcp { break; case 297: -#line 1109 "dhcp6_parser.yy" +#line 1112 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); @@ -2072,7 +2072,7 @@ namespace isc { namespace dhcp { break; case 298: -#line 1114 "dhcp6_parser.yy" +#line 1117 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); @@ -2081,7 +2081,7 @@ namespace isc { namespace dhcp { break; case 299: -#line 1119 "dhcp6_parser.yy" +#line 1122 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); @@ -2090,7 +2090,7 @@ namespace isc { namespace dhcp { break; case 300: -#line 1124 "dhcp6_parser.yy" +#line 1127 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); @@ -2099,7 +2099,7 @@ namespace isc { namespace dhcp { break; case 301: -#line 1129 "dhcp6_parser.yy" +#line 1132 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); @@ -2108,7 +2108,7 @@ namespace isc { namespace dhcp { break; case 302: -#line 1137 "dhcp6_parser.yy" +#line 1140 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet6", l); @@ -2119,7 +2119,7 @@ namespace isc { namespace dhcp { break; case 303: -#line 1142 "dhcp6_parser.yy" +#line 1145 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2128,7 +2128,7 @@ namespace isc { namespace dhcp { break; case 308: -#line 1162 "dhcp6_parser.yy" +#line 1165 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2138,7 +2138,7 @@ namespace isc { namespace dhcp { break; case 309: -#line 1166 "dhcp6_parser.yy" +#line 1169 "dhcp6_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2164,7 +2164,7 @@ namespace isc { namespace dhcp { break; case 310: -#line 1188 "dhcp6_parser.yy" +#line 1191 "dhcp6_parser.yy" { // Parse the subnet6 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2174,7 +2174,7 @@ namespace isc { namespace dhcp { break; case 311: -#line 1192 "dhcp6_parser.yy" +#line 1195 "dhcp6_parser.yy" { // The subnet subnet6 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2184,7 +2184,7 @@ namespace isc { namespace dhcp { break; case 349: -#line 1241 "dhcp6_parser.yy" +#line 1244 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2192,7 +2192,7 @@ namespace isc { namespace dhcp { break; case 350: -#line 1243 "dhcp6_parser.yy" +#line 1246 "dhcp6_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); @@ -2202,7 +2202,7 @@ namespace isc { namespace dhcp { break; case 351: -#line 1249 "dhcp6_parser.yy" +#line 1252 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2210,7 +2210,7 @@ namespace isc { namespace dhcp { break; case 352: -#line 1251 "dhcp6_parser.yy" +#line 1254 "dhcp6_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); @@ -2220,7 +2220,7 @@ namespace isc { namespace dhcp { break; case 353: -#line 1257 "dhcp6_parser.yy" +#line 1260 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2228,7 +2228,7 @@ namespace isc { namespace dhcp { break; case 354: -#line 1259 "dhcp6_parser.yy" +#line 1262 "dhcp6_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface-id", iface); @@ -2238,7 +2238,7 @@ namespace isc { namespace dhcp { break; case 355: -#line 1265 "dhcp6_parser.yy" +#line 1268 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2246,7 +2246,7 @@ namespace isc { namespace dhcp { break; case 356: -#line 1267 "dhcp6_parser.yy" +#line 1270 "dhcp6_parser.yy" { ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); @@ -2256,7 +2256,7 @@ namespace isc { namespace dhcp { break; case 357: -#line 1273 "dhcp6_parser.yy" +#line 1276 "dhcp6_parser.yy" { ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("require-client-classes", c); @@ -2267,7 +2267,7 @@ namespace isc { namespace dhcp { break; case 358: -#line 1278 "dhcp6_parser.yy" +#line 1281 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2276,7 +2276,7 @@ namespace isc { namespace dhcp { break; case 359: -#line 1283 "dhcp6_parser.yy" +#line 1286 "dhcp6_parser.yy" { ctx.enter(ctx.RESERVATION_MODE); } @@ -2284,7 +2284,7 @@ namespace isc { namespace dhcp { break; case 360: -#line 1285 "dhcp6_parser.yy" +#line 1288 "dhcp6_parser.yy" { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -2293,31 +2293,31 @@ namespace isc { namespace dhcp { break; case 361: -#line 1290 "dhcp6_parser.yy" +#line 1293 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } #line 2299 "dhcp6_parser.cc" break; case 362: -#line 1291 "dhcp6_parser.yy" +#line 1294 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } #line 2305 "dhcp6_parser.cc" break; case 363: -#line 1292 "dhcp6_parser.yy" +#line 1295 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } #line 2311 "dhcp6_parser.cc" break; case 364: -#line 1293 "dhcp6_parser.yy" +#line 1296 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } #line 2317 "dhcp6_parser.cc" break; case 365: -#line 1296 "dhcp6_parser.yy" +#line 1299 "dhcp6_parser.yy" { ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); @@ -2326,7 +2326,7 @@ namespace isc { namespace dhcp { break; case 366: -#line 1301 "dhcp6_parser.yy" +#line 1304 "dhcp6_parser.yy" { ElementPtr rc(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rapid-commit", rc); @@ -2335,7 +2335,7 @@ namespace isc { namespace dhcp { break; case 367: -#line 1309 "dhcp6_parser.yy" +#line 1312 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("shared-networks", l); @@ -2346,7 +2346,7 @@ namespace isc { namespace dhcp { break; case 368: -#line 1314 "dhcp6_parser.yy" +#line 1317 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2355,7 +2355,7 @@ namespace isc { namespace dhcp { break; case 373: -#line 1329 "dhcp6_parser.yy" +#line 1332 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2365,7 +2365,7 @@ namespace isc { namespace dhcp { break; case 374: -#line 1333 "dhcp6_parser.yy" +#line 1336 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } @@ -2373,7 +2373,7 @@ namespace isc { namespace dhcp { break; case 409: -#line 1379 "dhcp6_parser.yy" +#line 1382 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("option-def", l); @@ -2384,7 +2384,7 @@ namespace isc { namespace dhcp { break; case 410: -#line 1384 "dhcp6_parser.yy" +#line 1387 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2393,7 +2393,7 @@ namespace isc { namespace dhcp { break; case 411: -#line 1392 "dhcp6_parser.yy" +#line 1395 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); @@ -2402,7 +2402,7 @@ namespace isc { namespace dhcp { break; case 412: -#line 1395 "dhcp6_parser.yy" +#line 1398 "dhcp6_parser.yy" { // parsing completed } @@ -2410,7 +2410,7 @@ namespace isc { namespace dhcp { break; case 417: -#line 1411 "dhcp6_parser.yy" +#line 1414 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2420,7 +2420,7 @@ namespace isc { namespace dhcp { break; case 418: -#line 1415 "dhcp6_parser.yy" +#line 1418 "dhcp6_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2432,7 +2432,7 @@ namespace isc { namespace dhcp { break; case 419: -#line 1426 "dhcp6_parser.yy" +#line 1429 "dhcp6_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2442,7 +2442,7 @@ namespace isc { namespace dhcp { break; case 420: -#line 1430 "dhcp6_parser.yy" +#line 1433 "dhcp6_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2454,7 +2454,7 @@ namespace isc { namespace dhcp { break; case 436: -#line 1462 "dhcp6_parser.yy" +#line 1465 "dhcp6_parser.yy" { ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); @@ -2463,7 +2463,7 @@ namespace isc { namespace dhcp { break; case 438: -#line 1469 "dhcp6_parser.yy" +#line 1472 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2471,7 +2471,7 @@ namespace isc { namespace dhcp { break; case 439: -#line 1471 "dhcp6_parser.yy" +#line 1474 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); @@ -2481,7 +2481,7 @@ namespace isc { namespace dhcp { break; case 440: -#line 1477 "dhcp6_parser.yy" +#line 1480 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2489,7 +2489,7 @@ namespace isc { namespace dhcp { break; case 441: -#line 1479 "dhcp6_parser.yy" +#line 1482 "dhcp6_parser.yy" { ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); @@ -2499,7 +2499,7 @@ namespace isc { namespace dhcp { break; case 442: -#line 1485 "dhcp6_parser.yy" +#line 1488 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2507,7 +2507,7 @@ namespace isc { namespace dhcp { break; case 443: -#line 1487 "dhcp6_parser.yy" +#line 1490 "dhcp6_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); @@ -2517,7 +2517,7 @@ namespace isc { namespace dhcp { break; case 445: -#line 1495 "dhcp6_parser.yy" +#line 1498 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2525,7 +2525,7 @@ namespace isc { namespace dhcp { break; case 446: -#line 1497 "dhcp6_parser.yy" +#line 1500 "dhcp6_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); @@ -2535,7 +2535,7 @@ namespace isc { namespace dhcp { break; case 447: -#line 1503 "dhcp6_parser.yy" +#line 1506 "dhcp6_parser.yy" { ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); @@ -2544,7 +2544,7 @@ namespace isc { namespace dhcp { break; case 448: -#line 1512 "dhcp6_parser.yy" +#line 1515 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("option-data", l); @@ -2555,7 +2555,7 @@ namespace isc { namespace dhcp { break; case 449: -#line 1517 "dhcp6_parser.yy" +#line 1520 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2564,7 +2564,7 @@ namespace isc { namespace dhcp { break; case 454: -#line 1536 "dhcp6_parser.yy" +#line 1539 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2574,7 +2574,7 @@ namespace isc { namespace dhcp { break; case 455: -#line 1540 "dhcp6_parser.yy" +#line 1543 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); @@ -2583,7 +2583,7 @@ namespace isc { namespace dhcp { break; case 456: -#line 1548 "dhcp6_parser.yy" +#line 1551 "dhcp6_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2593,7 +2593,7 @@ namespace isc { namespace dhcp { break; case 457: -#line 1552 "dhcp6_parser.yy" +#line 1555 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed @@ -2602,7 +2602,7 @@ namespace isc { namespace dhcp { break; case 472: -#line 1585 "dhcp6_parser.yy" +#line 1588 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2610,7 +2610,7 @@ namespace isc { namespace dhcp { break; case 473: -#line 1587 "dhcp6_parser.yy" +#line 1590 "dhcp6_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); @@ -2620,7 +2620,7 @@ namespace isc { namespace dhcp { break; case 476: -#line 1597 "dhcp6_parser.yy" +#line 1600 "dhcp6_parser.yy" { ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); @@ -2629,7 +2629,7 @@ namespace isc { namespace dhcp { break; case 477: -#line 1602 "dhcp6_parser.yy" +#line 1605 "dhcp6_parser.yy" { ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); @@ -2638,7 +2638,7 @@ namespace isc { namespace dhcp { break; case 478: -#line 1610 "dhcp6_parser.yy" +#line 1613 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pools", l); @@ -2649,7 +2649,7 @@ namespace isc { namespace dhcp { break; case 479: -#line 1615 "dhcp6_parser.yy" +#line 1618 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2658,7 +2658,7 @@ namespace isc { namespace dhcp { break; case 484: -#line 1630 "dhcp6_parser.yy" +#line 1633 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2668,7 +2668,7 @@ namespace isc { namespace dhcp { break; case 485: -#line 1634 "dhcp6_parser.yy" +#line 1637 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2678,7 +2678,7 @@ namespace isc { namespace dhcp { break; case 486: -#line 1640 "dhcp6_parser.yy" +#line 1643 "dhcp6_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2688,7 +2688,7 @@ namespace isc { namespace dhcp { break; case 487: -#line 1644 "dhcp6_parser.yy" +#line 1647 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2697,7 +2697,7 @@ namespace isc { namespace dhcp { break; case 497: -#line 1662 "dhcp6_parser.yy" +#line 1665 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2705,7 +2705,7 @@ namespace isc { namespace dhcp { break; case 498: -#line 1664 "dhcp6_parser.yy" +#line 1667 "dhcp6_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); @@ -2715,7 +2715,7 @@ namespace isc { namespace dhcp { break; case 499: -#line 1670 "dhcp6_parser.yy" +#line 1673 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2723,7 +2723,7 @@ namespace isc { namespace dhcp { break; case 500: -#line 1672 "dhcp6_parser.yy" +#line 1675 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -2750,7 +2750,7 @@ namespace isc { namespace dhcp { break; case 501: -#line 1695 "dhcp6_parser.yy" +#line 1698 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2758,7 +2758,7 @@ namespace isc { namespace dhcp { break; case 502: -#line 1697 "dhcp6_parser.yy" +#line 1700 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -2787,7 +2787,7 @@ namespace isc { namespace dhcp { break; case 503: -#line 1725 "dhcp6_parser.yy" +#line 1728 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pd-pools", l); @@ -2798,7 +2798,7 @@ namespace isc { namespace dhcp { break; case 504: -#line 1730 "dhcp6_parser.yy" +#line 1733 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2807,7 +2807,7 @@ namespace isc { namespace dhcp { break; case 509: -#line 1745 "dhcp6_parser.yy" +#line 1748 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2817,7 +2817,7 @@ namespace isc { namespace dhcp { break; case 510: -#line 1749 "dhcp6_parser.yy" +#line 1752 "dhcp6_parser.yy" { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2829,7 +2829,7 @@ namespace isc { namespace dhcp { break; case 511: -#line 1757 "dhcp6_parser.yy" +#line 1760 "dhcp6_parser.yy" { // Parse the pd-pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2839,7 +2839,7 @@ namespace isc { namespace dhcp { break; case 512: -#line 1761 "dhcp6_parser.yy" +#line 1764 "dhcp6_parser.yy" { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2851,7 +2851,7 @@ namespace isc { namespace dhcp { break; case 526: -#line 1786 "dhcp6_parser.yy" +#line 1789 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2859,7 +2859,7 @@ namespace isc { namespace dhcp { break; case 527: -#line 1788 "dhcp6_parser.yy" +#line 1791 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix", prf); @@ -2869,7 +2869,7 @@ namespace isc { namespace dhcp { break; case 528: -#line 1794 "dhcp6_parser.yy" +#line 1797 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix-len", prf); @@ -2878,7 +2878,7 @@ namespace isc { namespace dhcp { break; case 529: -#line 1799 "dhcp6_parser.yy" +#line 1802 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -2886,7 +2886,7 @@ namespace isc { namespace dhcp { break; case 530: -#line 1801 "dhcp6_parser.yy" +#line 1804 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix", prf); @@ -2896,7 +2896,7 @@ namespace isc { namespace dhcp { break; case 531: -#line 1807 "dhcp6_parser.yy" +#line 1810 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix-len", prf); @@ -2905,7 +2905,7 @@ namespace isc { namespace dhcp { break; case 532: -#line 1812 "dhcp6_parser.yy" +#line 1815 "dhcp6_parser.yy" { ElementPtr deleg(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("delegated-len", deleg); @@ -2914,7 +2914,7 @@ namespace isc { namespace dhcp { break; case 533: -#line 1820 "dhcp6_parser.yy" +#line 1823 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations", l); @@ -2925,7 +2925,7 @@ namespace isc { namespace dhcp { break; case 534: -#line 1825 "dhcp6_parser.yy" +#line 1828 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2934,7 +2934,7 @@ namespace isc { namespace dhcp { break; case 539: -#line 1838 "dhcp6_parser.yy" +#line 1841 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -2944,7 +2944,7 @@ namespace isc { namespace dhcp { break; case 540: -#line 1842 "dhcp6_parser.yy" +#line 1845 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); @@ -2953,7 +2953,7 @@ namespace isc { namespace dhcp { break; case 541: -#line 1847 "dhcp6_parser.yy" +#line 1850 "dhcp6_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2963,7 +2963,7 @@ namespace isc { namespace dhcp { break; case 542: -#line 1851 "dhcp6_parser.yy" +#line 1854 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed @@ -2972,7 +2972,7 @@ namespace isc { namespace dhcp { break; case 558: -#line 1878 "dhcp6_parser.yy" +#line 1881 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-addresses", l); @@ -2983,7 +2983,7 @@ namespace isc { namespace dhcp { break; case 559: -#line 1883 "dhcp6_parser.yy" +#line 1886 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -2992,7 +2992,7 @@ namespace isc { namespace dhcp { break; case 560: -#line 1888 "dhcp6_parser.yy" +#line 1891 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefixes", l); @@ -3003,7 +3003,7 @@ namespace isc { namespace dhcp { break; case 561: -#line 1893 "dhcp6_parser.yy" +#line 1896 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3012,7 +3012,7 @@ namespace isc { namespace dhcp { break; case 562: -#line 1898 "dhcp6_parser.yy" +#line 1901 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3020,7 +3020,7 @@ namespace isc { namespace dhcp { break; case 563: -#line 1900 "dhcp6_parser.yy" +#line 1903 "dhcp6_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); @@ -3030,7 +3030,7 @@ namespace isc { namespace dhcp { break; case 564: -#line 1906 "dhcp6_parser.yy" +#line 1909 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3038,7 +3038,7 @@ namespace isc { namespace dhcp { break; case 565: -#line 1908 "dhcp6_parser.yy" +#line 1911 "dhcp6_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); @@ -3048,7 +3048,7 @@ namespace isc { namespace dhcp { break; case 566: -#line 1914 "dhcp6_parser.yy" +#line 1917 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3056,7 +3056,7 @@ namespace isc { namespace dhcp { break; case 567: -#line 1916 "dhcp6_parser.yy" +#line 1919 "dhcp6_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); @@ -3066,7 +3066,7 @@ namespace isc { namespace dhcp { break; case 568: -#line 1922 "dhcp6_parser.yy" +#line 1925 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3074,7 +3074,7 @@ namespace isc { namespace dhcp { break; case 569: -#line 1924 "dhcp6_parser.yy" +#line 1927 "dhcp6_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); @@ -3084,7 +3084,7 @@ namespace isc { namespace dhcp { break; case 570: -#line 1930 "dhcp6_parser.yy" +#line 1933 "dhcp6_parser.yy" { ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-classes", c); @@ -3095,7 +3095,7 @@ namespace isc { namespace dhcp { break; case 571: -#line 1935 "dhcp6_parser.yy" +#line 1938 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3104,7 +3104,7 @@ namespace isc { namespace dhcp { break; case 572: -#line 1943 "dhcp6_parser.yy" +#line 1946 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("relay", m); @@ -3115,7 +3115,7 @@ namespace isc { namespace dhcp { break; case 573: -#line 1948 "dhcp6_parser.yy" +#line 1951 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3124,7 +3124,7 @@ namespace isc { namespace dhcp { break; case 576: -#line 1957 "dhcp6_parser.yy" +#line 1960 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3132,7 +3132,7 @@ namespace isc { namespace dhcp { break; case 577: -#line 1959 "dhcp6_parser.yy" +#line 1962 "dhcp6_parser.yy" { ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", addr); @@ -3142,7 +3142,7 @@ namespace isc { namespace dhcp { break; case 578: -#line 1968 "dhcp6_parser.yy" +#line 1971 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-classes", l); @@ -3153,7 +3153,7 @@ namespace isc { namespace dhcp { break; case 579: -#line 1973 "dhcp6_parser.yy" +#line 1976 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3162,7 +3162,7 @@ namespace isc { namespace dhcp { break; case 582: -#line 1982 "dhcp6_parser.yy" +#line 1985 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -3172,7 +3172,7 @@ namespace isc { namespace dhcp { break; case 583: -#line 1986 "dhcp6_parser.yy" +#line 1989 "dhcp6_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3182,7 +3182,7 @@ namespace isc { namespace dhcp { break; case 596: -#line 2011 "dhcp6_parser.yy" +#line 2014 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3190,7 +3190,7 @@ namespace isc { namespace dhcp { break; case 597: -#line 2013 "dhcp6_parser.yy" +#line 2016 "dhcp6_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); @@ -3200,7 +3200,7 @@ namespace isc { namespace dhcp { break; case 598: -#line 2019 "dhcp6_parser.yy" +#line 2022 "dhcp6_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); @@ -3209,7 +3209,7 @@ namespace isc { namespace dhcp { break; case 599: -#line 2027 "dhcp6_parser.yy" +#line 2030 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-id", m); @@ -3220,7 +3220,7 @@ namespace isc { namespace dhcp { break; case 600: -#line 2032 "dhcp6_parser.yy" +#line 2035 "dhcp6_parser.yy" { // The type parameter is required. ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -3231,7 +3231,7 @@ namespace isc { namespace dhcp { break; case 612: -#line 2054 "dhcp6_parser.yy" +#line 2057 "dhcp6_parser.yy" { ctx.enter(ctx.DUID_TYPE); } @@ -3239,7 +3239,7 @@ namespace isc { namespace dhcp { break; case 613: -#line 2056 "dhcp6_parser.yy" +#line 2059 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -3248,25 +3248,25 @@ namespace isc { namespace dhcp { break; case 614: -#line 2061 "dhcp6_parser.yy" +#line 2064 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); } #line 3254 "dhcp6_parser.cc" break; case 615: -#line 2062 "dhcp6_parser.yy" +#line 2065 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); } #line 3260 "dhcp6_parser.cc" break; case 616: -#line 2063 "dhcp6_parser.yy" +#line 2066 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); } #line 3266 "dhcp6_parser.cc" break; case 617: -#line 2066 "dhcp6_parser.yy" +#line 2069 "dhcp6_parser.yy" { ElementPtr htype(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("htype", htype); @@ -3275,7 +3275,7 @@ namespace isc { namespace dhcp { break; case 618: -#line 2071 "dhcp6_parser.yy" +#line 2074 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3283,7 +3283,7 @@ namespace isc { namespace dhcp { break; case 619: -#line 2073 "dhcp6_parser.yy" +#line 2076 "dhcp6_parser.yy" { ElementPtr id(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("identifier", id); @@ -3293,7 +3293,7 @@ namespace isc { namespace dhcp { break; case 620: -#line 2079 "dhcp6_parser.yy" +#line 2082 "dhcp6_parser.yy" { ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("time", time); @@ -3302,7 +3302,7 @@ namespace isc { namespace dhcp { break; case 621: -#line 2084 "dhcp6_parser.yy" +#line 2087 "dhcp6_parser.yy" { ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enterprise-id", time); @@ -3311,7 +3311,7 @@ namespace isc { namespace dhcp { break; case 622: -#line 2091 "dhcp6_parser.yy" +#line 2094 "dhcp6_parser.yy" { ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); @@ -3320,7 +3320,7 @@ namespace isc { namespace dhcp { break; case 623: -#line 2098 "dhcp6_parser.yy" +#line 2101 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("control-socket", m); @@ -3331,7 +3331,7 @@ namespace isc { namespace dhcp { break; case 624: -#line 2103 "dhcp6_parser.yy" +#line 2106 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); @@ -3340,7 +3340,7 @@ namespace isc { namespace dhcp { break; case 632: -#line 2119 "dhcp6_parser.yy" +#line 2122 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3348,7 +3348,7 @@ namespace isc { namespace dhcp { break; case 633: -#line 2121 "dhcp6_parser.yy" +#line 2124 "dhcp6_parser.yy" { ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-type", stype); @@ -3358,7 +3358,7 @@ namespace isc { namespace dhcp { break; case 634: -#line 2127 "dhcp6_parser.yy" +#line 2130 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } @@ -3366,7 +3366,7 @@ namespace isc { namespace dhcp { break; case 635: -#line 2129 "dhcp6_parser.yy" +#line 2132 "dhcp6_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); @@ -3376,647 +3376,674 @@ namespace isc { namespace dhcp { break; case 636: -#line 2137 "dhcp6_parser.yy" +#line 2140 "dhcp6_parser.yy" { - ctx.enter(ctx.NO_KEYWORD); + ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("dhcp-queue-control", qc); + ctx.stack_.push_back(qc); + ctx.enter(ctx.DHCP_QUEUE_CONTROL); } -#line 3384 "dhcp6_parser.cc" +#line 3387 "dhcp6_parser.cc" break; case 637: -#line 2139 "dhcp6_parser.yy" +#line 2145 "dhcp6_parser.yy" { - ElementPtr qc = yystack_[0].value.as < ElementPtr > (); - ctx.stack_.back()->set("dhcp-queue-control", qc); + // The enable queue parameter is required. + ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); + ctx.stack_.pop_back(); + ctx.leave(); +} +#line 3398 "dhcp6_parser.cc" + break; - // Doing this manually, because dhcp-queue-control - // content is otherwise arbitrary - if (!qc->contains("enable-queue")) { - std::stringstream msg; - msg << "'enable-queue' is required: "; - msg << "(" << qc->getPosition().str() << ")"; - error(yystack_[3].location, msg.str()); - } + case 646: +#line 2164 "dhcp6_parser.yy" + { + ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("enable-queue", b); +} +#line 3407 "dhcp6_parser.cc" + break; - // queue-enable is mandatory - ConstElementPtr enable_queue = qc->get("enable-queue"); - if (enable_queue->getType() != Element::boolean) { - std::stringstream msg; - msg << "'enable-queue' must be boolean: "; - msg << "(" << qc->getPosition().str() << ")"; - error(yystack_[3].location, msg.str()); - } - - // if queue-type is supplied make sure it's a string - if (qc->contains("queue-type")) { - ConstElementPtr queue_type = qc->get("queue-type"); - if (queue_type->getType() != Element::string) { - std::stringstream msg; - msg << "'queue-type' must be a string: "; - msg << "(" << qc->getPosition().str() << ")"; - error(yystack_[3].location, msg.str()); - } - } + case 647: +#line 2169 "dhcp6_parser.yy" + { + ctx.enter(ctx.NO_KEYWORD); +} +#line 3415 "dhcp6_parser.cc" + break; + case 648: +#line 2171 "dhcp6_parser.yy" + { + ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("queue-type", qt); ctx.leave(); } -#line 3424 "dhcp6_parser.cc" +#line 3425 "dhcp6_parser.cc" break; - case 638: + case 649: #line 2177 "dhcp6_parser.yy" { + ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("capacity", c); +} +#line 3434 "dhcp6_parser.cc" + break; + + case 650: +#line 2182 "dhcp6_parser.yy" + { + ctx.enter(ctx.NO_KEYWORD); +} +#line 3442 "dhcp6_parser.cc" + break; + + case 651: +#line 2184 "dhcp6_parser.yy" + { + ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); + ctx.leave(); +} +#line 3451 "dhcp6_parser.cc" + break; + + case 652: +#line 2191 "dhcp6_parser.yy" + { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp-ddns", m); ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 3435 "dhcp6_parser.cc" +#line 3462 "dhcp6_parser.cc" break; - case 639: -#line 2182 "dhcp6_parser.yy" + case 653: +#line 2196 "dhcp6_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3446 "dhcp6_parser.cc" +#line 3473 "dhcp6_parser.cc" break; - case 640: -#line 2189 "dhcp6_parser.yy" + case 654: +#line 2203 "dhcp6_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3456 "dhcp6_parser.cc" +#line 3483 "dhcp6_parser.cc" break; - case 641: -#line 2193 "dhcp6_parser.yy" + case 655: +#line 2207 "dhcp6_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3466 "dhcp6_parser.cc" +#line 3493 "dhcp6_parser.cc" break; - case 662: -#line 2223 "dhcp6_parser.yy" + case 676: +#line 2237 "dhcp6_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 3475 "dhcp6_parser.cc" +#line 3502 "dhcp6_parser.cc" break; - case 663: -#line 2228 "dhcp6_parser.yy" + case 677: +#line 2242 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3483 "dhcp6_parser.cc" +#line 3510 "dhcp6_parser.cc" break; - case 664: -#line 2230 "dhcp6_parser.yy" + case 678: +#line 2244 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("qualifying-suffix", s); ctx.leave(); } -#line 3493 "dhcp6_parser.cc" +#line 3520 "dhcp6_parser.cc" break; - case 665: -#line 2236 "dhcp6_parser.yy" + case 679: +#line 2250 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3501 "dhcp6_parser.cc" +#line 3528 "dhcp6_parser.cc" break; - case 666: -#line 2238 "dhcp6_parser.yy" + case 680: +#line 2252 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 3511 "dhcp6_parser.cc" +#line 3538 "dhcp6_parser.cc" break; - case 667: -#line 2244 "dhcp6_parser.yy" + case 681: +#line 2258 "dhcp6_parser.yy" { ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 3520 "dhcp6_parser.cc" +#line 3547 "dhcp6_parser.cc" break; - case 668: -#line 2249 "dhcp6_parser.yy" + case 682: +#line 2263 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3528 "dhcp6_parser.cc" +#line 3555 "dhcp6_parser.cc" break; - case 669: -#line 2251 "dhcp6_parser.yy" + case 683: +#line 2265 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 3538 "dhcp6_parser.cc" +#line 3565 "dhcp6_parser.cc" break; - case 670: -#line 2257 "dhcp6_parser.yy" + case 684: +#line 2271 "dhcp6_parser.yy" { ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 3547 "dhcp6_parser.cc" +#line 3574 "dhcp6_parser.cc" break; - case 671: -#line 2262 "dhcp6_parser.yy" + case 685: +#line 2276 "dhcp6_parser.yy" { ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 3556 "dhcp6_parser.cc" +#line 3583 "dhcp6_parser.cc" break; - case 672: -#line 2267 "dhcp6_parser.yy" + case 686: +#line 2281 "dhcp6_parser.yy" { ctx.enter(ctx.NCR_PROTOCOL); } -#line 3564 "dhcp6_parser.cc" +#line 3591 "dhcp6_parser.cc" break; - case 673: -#line 2269 "dhcp6_parser.yy" + case 687: +#line 2283 "dhcp6_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3573 "dhcp6_parser.cc" +#line 3600 "dhcp6_parser.cc" break; - case 674: -#line 2275 "dhcp6_parser.yy" + case 688: +#line 2289 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 3579 "dhcp6_parser.cc" +#line 3606 "dhcp6_parser.cc" break; - case 675: -#line 2276 "dhcp6_parser.yy" + case 689: +#line 2290 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 3585 "dhcp6_parser.cc" +#line 3612 "dhcp6_parser.cc" break; - case 676: -#line 2279 "dhcp6_parser.yy" + case 690: +#line 2293 "dhcp6_parser.yy" { ctx.enter(ctx.NCR_FORMAT); } -#line 3593 "dhcp6_parser.cc" +#line 3620 "dhcp6_parser.cc" break; - case 677: -#line 2281 "dhcp6_parser.yy" + case 691: +#line 2295 "dhcp6_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 3603 "dhcp6_parser.cc" +#line 3630 "dhcp6_parser.cc" break; - case 678: -#line 2288 "dhcp6_parser.yy" + case 692: +#line 2302 "dhcp6_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-no-update", b); } -#line 3612 "dhcp6_parser.cc" +#line 3639 "dhcp6_parser.cc" break; - case 679: -#line 2294 "dhcp6_parser.yy" + case 693: +#line 2308 "dhcp6_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-client-update", b); } -#line 3621 "dhcp6_parser.cc" +#line 3648 "dhcp6_parser.cc" break; - case 680: -#line 2300 "dhcp6_parser.yy" + case 694: +#line 2314 "dhcp6_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); } -#line 3629 "dhcp6_parser.cc" +#line 3656 "dhcp6_parser.cc" break; - case 681: -#line 2302 "dhcp6_parser.yy" + case 695: +#line 2316 "dhcp6_parser.yy" { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3638 "dhcp6_parser.cc" +#line 3665 "dhcp6_parser.cc" break; - case 682: -#line 2308 "dhcp6_parser.yy" + case 696: +#line 2322 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3646 "dhcp6_parser.cc" +#line 3673 "dhcp6_parser.cc" break; - case 683: -#line 2310 "dhcp6_parser.yy" + case 697: +#line 2324 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("generated-prefix", s); ctx.leave(); } -#line 3656 "dhcp6_parser.cc" +#line 3683 "dhcp6_parser.cc" break; - case 684: -#line 2317 "dhcp6_parser.yy" + case 698: +#line 2331 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3664 "dhcp6_parser.cc" +#line 3691 "dhcp6_parser.cc" break; - case 685: -#line 2319 "dhcp6_parser.yy" + case 699: +#line 2333 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); ctx.leave(); } -#line 3674 "dhcp6_parser.cc" +#line 3701 "dhcp6_parser.cc" break; - case 686: -#line 2326 "dhcp6_parser.yy" + case 700: +#line 2340 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3682 "dhcp6_parser.cc" +#line 3709 "dhcp6_parser.cc" break; - case 687: -#line 2328 "dhcp6_parser.yy" + case 701: +#line 2342 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); ctx.leave(); } -#line 3692 "dhcp6_parser.cc" +#line 3719 "dhcp6_parser.cc" break; - case 688: -#line 2336 "dhcp6_parser.yy" + case 702: +#line 2350 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3700 "dhcp6_parser.cc" +#line 3727 "dhcp6_parser.cc" break; - case 689: -#line 2338 "dhcp6_parser.yy" + case 703: +#line 2352 "dhcp6_parser.yy" { ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3709 "dhcp6_parser.cc" +#line 3736 "dhcp6_parser.cc" break; - case 690: -#line 2343 "dhcp6_parser.yy" + case 704: +#line 2357 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3717 "dhcp6_parser.cc" +#line 3744 "dhcp6_parser.cc" break; - case 691: -#line 2345 "dhcp6_parser.yy" + case 705: +#line 2359 "dhcp6_parser.yy" { ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3726 "dhcp6_parser.cc" +#line 3753 "dhcp6_parser.cc" break; - case 692: -#line 2350 "dhcp6_parser.yy" + case 706: +#line 2364 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3734 "dhcp6_parser.cc" +#line 3761 "dhcp6_parser.cc" break; - case 693: -#line 2352 "dhcp6_parser.yy" + case 707: +#line 2366 "dhcp6_parser.yy" { ctx.stack_.back()->set("Control-agent", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3743 "dhcp6_parser.cc" +#line 3770 "dhcp6_parser.cc" break; - case 694: -#line 2359 "dhcp6_parser.yy" + case 708: +#line 2373 "dhcp6_parser.yy" { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-control", i); ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 3754 "dhcp6_parser.cc" +#line 3781 "dhcp6_parser.cc" break; - case 695: -#line 2364 "dhcp6_parser.yy" + case 709: +#line 2378 "dhcp6_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 3764 "dhcp6_parser.cc" +#line 3791 "dhcp6_parser.cc" break; - case 696: -#line 2370 "dhcp6_parser.yy" + case 710: +#line 2384 "dhcp6_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3774 "dhcp6_parser.cc" +#line 3801 "dhcp6_parser.cc" break; - case 697: -#line 2374 "dhcp6_parser.yy" + case 711: +#line 2388 "dhcp6_parser.yy" { // No config_control params are required // parsing completed } -#line 3783 "dhcp6_parser.cc" +#line 3810 "dhcp6_parser.cc" break; - case 702: -#line 2389 "dhcp6_parser.yy" + case 716: +#line 2403 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-databases", l); ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 3794 "dhcp6_parser.cc" +#line 3821 "dhcp6_parser.cc" break; - case 703: -#line 2394 "dhcp6_parser.yy" + case 717: +#line 2408 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3803 "dhcp6_parser.cc" +#line 3830 "dhcp6_parser.cc" break; - case 704: -#line 2399 "dhcp6_parser.yy" + case 718: +#line 2413 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-fetch-wait-time", value); } -#line 3812 "dhcp6_parser.cc" +#line 3839 "dhcp6_parser.cc" break; - case 705: -#line 2409 "dhcp6_parser.yy" + case 719: +#line 2423 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("Logging", m); ctx.stack_.push_back(m); ctx.enter(ctx.LOGGING); } -#line 3823 "dhcp6_parser.cc" +#line 3850 "dhcp6_parser.cc" break; - case 706: -#line 2414 "dhcp6_parser.yy" + case 720: +#line 2428 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3832 "dhcp6_parser.cc" +#line 3859 "dhcp6_parser.cc" break; - case 707: -#line 2419 "dhcp6_parser.yy" + case 721: +#line 2433 "dhcp6_parser.yy" { // Parse the Logging map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3842 "dhcp6_parser.cc" +#line 3869 "dhcp6_parser.cc" break; - case 708: -#line 2423 "dhcp6_parser.yy" + case 722: +#line 2437 "dhcp6_parser.yy" { // parsing completed } -#line 3850 "dhcp6_parser.cc" +#line 3877 "dhcp6_parser.cc" break; - case 712: -#line 2439 "dhcp6_parser.yy" + case 726: +#line 2453 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("loggers", l); ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 3861 "dhcp6_parser.cc" +#line 3888 "dhcp6_parser.cc" break; - case 713: -#line 2444 "dhcp6_parser.yy" + case 727: +#line 2458 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3870 "dhcp6_parser.cc" +#line 3897 "dhcp6_parser.cc" break; - case 716: -#line 2456 "dhcp6_parser.yy" + case 730: +#line 2470 "dhcp6_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 3880 "dhcp6_parser.cc" +#line 3907 "dhcp6_parser.cc" break; - case 717: -#line 2460 "dhcp6_parser.yy" + case 731: +#line 2474 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 3888 "dhcp6_parser.cc" +#line 3915 "dhcp6_parser.cc" break; - case 727: -#line 2477 "dhcp6_parser.yy" + case 741: +#line 2491 "dhcp6_parser.yy" { ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 3897 "dhcp6_parser.cc" +#line 3924 "dhcp6_parser.cc" break; - case 728: -#line 2482 "dhcp6_parser.yy" + case 742: +#line 2496 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3905 "dhcp6_parser.cc" +#line 3932 "dhcp6_parser.cc" break; - case 729: -#line 2484 "dhcp6_parser.yy" + case 743: +#line 2498 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 3915 "dhcp6_parser.cc" +#line 3942 "dhcp6_parser.cc" break; - case 730: -#line 2490 "dhcp6_parser.yy" + case 744: +#line 2504 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output_options", l); ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 3926 "dhcp6_parser.cc" +#line 3953 "dhcp6_parser.cc" break; - case 731: -#line 2495 "dhcp6_parser.yy" + case 745: +#line 2509 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3935 "dhcp6_parser.cc" +#line 3962 "dhcp6_parser.cc" break; - case 734: -#line 2504 "dhcp6_parser.yy" + case 748: +#line 2518 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3945 "dhcp6_parser.cc" +#line 3972 "dhcp6_parser.cc" break; - case 735: -#line 2508 "dhcp6_parser.yy" + case 749: +#line 2522 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 3953 "dhcp6_parser.cc" +#line 3980 "dhcp6_parser.cc" break; - case 743: -#line 2523 "dhcp6_parser.yy" + case 757: +#line 2537 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3961 "dhcp6_parser.cc" +#line 3988 "dhcp6_parser.cc" break; - case 744: -#line 2525 "dhcp6_parser.yy" + case 758: +#line 2539 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 3971 "dhcp6_parser.cc" +#line 3998 "dhcp6_parser.cc" break; - case 745: -#line 2531 "dhcp6_parser.yy" + case 759: +#line 2545 "dhcp6_parser.yy" { ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 3980 "dhcp6_parser.cc" +#line 4007 "dhcp6_parser.cc" break; - case 746: -#line 2536 "dhcp6_parser.yy" + case 760: +#line 2550 "dhcp6_parser.yy" { ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 3989 "dhcp6_parser.cc" +#line 4016 "dhcp6_parser.cc" break; - case 747: -#line 2541 "dhcp6_parser.yy" + case 761: +#line 2555 "dhcp6_parser.yy" { ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 3998 "dhcp6_parser.cc" +#line 4025 "dhcp6_parser.cc" break; - case 748: -#line 2546 "dhcp6_parser.yy" + case 762: +#line 2560 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 4006 "dhcp6_parser.cc" +#line 4033 "dhcp6_parser.cc" break; - case 749: -#line 2548 "dhcp6_parser.yy" + case 763: +#line 2562 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pattern", sev); ctx.leave(); } -#line 4016 "dhcp6_parser.cc" +#line 4043 "dhcp6_parser.cc" break; -#line 4020 "dhcp6_parser.cc" +#line 4047 "dhcp6_parser.cc" default: break; @@ -4287,134 +4314,137 @@ namespace isc { namespace dhcp { } - const short Dhcp6Parser::yypact_ninf_ = -921; + const short Dhcp6Parser::yypact_ninf_ = -932; const signed char Dhcp6Parser::yytable_ninf_ = -1; const short Dhcp6Parser::yypact_[] = { - 197, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, 41, 43, 73, 85, - 87, 97, 101, 145, 206, 208, 220, 221, 232, 247, - 259, 268, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, 43, -130, 25, 111, 27, 621, 135, 178, - 181, 157, 66, 261, 4, 409, -89, 123, -921, 236, - 274, 282, 279, 292, -921, -921, -921, -921, -921, 293, - -921, 37, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, 294, 315, 319, 322, 362, 393, - 402, 403, 405, 412, 413, 415, -921, 416, 417, 419, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, 421, - -921, -921, -921, -921, -921, -921, -921, 48, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, 423, -921, - 92, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, 426, 427, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, 125, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, 140, -921, - -921, -921, -921, -921, 428, -921, 429, 430, -921, -921, - -921, -921, -921, -921, 177, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, 357, 384, -921, -921, -921, -921, -921, -921, - -921, -921, 431, -921, -921, 433, -921, -921, -921, 436, - -921, -921, 434, 410, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, 437, 443, -921, - -921, -921, -921, 445, 432, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, 260, -921, -921, - -921, 450, -921, -921, 453, -921, 454, 455, -921, -921, - 456, 464, -921, -921, -921, -921, -921, -921, -921, 264, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, 273, -921, -921, -921, - 465, 291, -921, -921, -921, -921, 43, 43, -921, 283, - 469, 470, 471, 472, 476, -921, 25, -921, 480, 481, - 482, 484, 486, 496, 313, 314, 320, 323, 325, 326, - 327, 329, 328, 316, 318, 331, 501, 332, 334, 335, - 524, 525, 527, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 557, 558, 559, 560, 375, - 562, 563, 566, 567, 568, 569, 111, -921, 570, 388, - 27, -921, 571, 572, 573, 574, 575, 391, 390, 579, - 580, 581, 621, -921, 582, 135, -921, 583, 398, 585, - 400, 401, 178, -921, 588, 589, 590, 592, 593, 595, - 596, -921, 181, -921, 597, 599, 414, 601, 602, 603, - 418, -921, 66, 604, 420, 422, -921, 261, 607, 609, - 75, -921, 424, 611, 613, 435, 614, 438, 439, 615, - 617, 440, 441, 618, 619, 620, 622, 409, -921, -89, - -921, 623, 444, 123, -921, -921, -921, 626, 624, 630, - 43, 43, 43, -921, 451, 632, 635, 636, 637, 640, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, 457, -921, -921, -921, -11, 458, 459, 644, - 645, 646, 648, 463, -10, 652, 653, 654, 655, 657, - 671, 672, 679, 678, 680, -921, 681, 648, 682, 473, - 502, 685, -921, 687, -921, -921, 688, 694, 511, 512, - 513, -921, -921, 687, 514, 705, -921, 526, -921, 528, - -921, 541, -921, -921, -921, 687, 687, 687, 542, 543, - 544, 546, -921, 547, 548, -921, 549, 550, 551, -921, - -921, 552, -921, -921, -921, 553, 43, -921, -921, 554, - 555, -921, 556, -921, -921, 126, 564, -921, -921, -11, - 584, 586, 587, -921, -921, 708, -921, -921, 43, 111, - -89, -921, -921, -921, -921, 123, 27, 275, 275, 707, - -921, -921, -921, -921, -921, -921, -921, -921, -921, 709, - 712, 713, -921, -921, -921, -921, -921, -921, -921, -921, - 714, -75, 43, 15, 625, 715, 717, 721, 214, 58, - 95, -921, 409, -921, -921, 722, -921, -921, 739, 740, - -921, -921, -921, -921, -921, -65, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, 707, -921, 317, 340, 343, - 344, -921, -921, -921, -921, 755, 756, 764, 767, 768, - -921, 770, 773, -921, -921, -921, 774, 775, 778, 779, - -921, 346, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, 347, -921, 780, 781, -921, -921, 783, - 782, -921, -921, 786, 792, -921, -921, 790, 794, -921, - -921, 793, 795, -921, -921, -921, 52, -921, -921, -921, - 796, -921, -921, -921, 63, -921, -921, -921, -921, 350, - -921, -921, -921, 99, -921, -921, 797, 798, -921, -921, - 799, 801, -921, 803, 804, 807, 808, 809, 810, 353, - -921, -921, -921, -921, -921, -921, -921, -921, -921, 811, - 812, 814, -921, -921, -921, -921, 354, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, 360, -921, - -921, -921, 361, -921, 109, -921, 631, -921, 813, 818, - -921, -921, 816, 820, -921, -921, -921, 817, -921, 821, - -921, -921, -921, -921, 822, 824, 825, 826, 610, 639, - 634, 641, 642, 830, 647, 649, 831, 832, 834, 650, - 651, 656, 659, 275, -921, -921, 275, -921, 707, 621, - -921, 709, 66, -921, 712, 261, -921, 713, 704, -921, - 714, -75, -921, -921, 15, -921, 838, 625, -921, 256, - 715, -921, 181, -921, 717, 4, -921, 721, 660, 661, - 662, 663, 664, 665, 214, -921, 839, 840, 666, 667, - 668, 58, -921, 841, 842, 95, -921, -921, -12, 722, - -921, -921, 853, 844, 135, -921, 739, 178, -921, 740, - 856, -921, -921, 228, 673, 677, 683, -921, -921, -921, - -921, -921, 684, -921, -921, 686, 691, 693, -921, -921, - -921, -921, -921, 383, -921, 385, -921, 859, -921, 862, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, 386, - -921, -921, -921, -921, -921, -921, -921, -921, 695, -921, - -921, 857, -921, -921, -921, -921, -921, 879, 891, -921, - -921, -921, -921, -921, 887, -921, 387, -921, -921, -921, - -921, -921, -921, -921, -921, 56, 711, -921, -921, -921, - -921, 716, 723, -921, -921, 893, -921, -921, -921, -921, - -921, 395, -921, -921, -921, -921, -921, -921, 726, 396, - -921, 397, -921, 727, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - 704, -921, -921, 894, 729, -921, 256, -921, -921, -921, - -921, -921, -921, -921, -921, -921, 900, 736, 930, -12, - -921, -921, -921, -921, -921, -921, 746, -921, -921, 932, - -921, 750, -921, -921, 936, -921, -921, 235, -921, 35, - 936, -921, -921, 942, 946, 950, -921, 407, -921, -921, - -921, -921, -921, -921, -921, 972, 789, 800, 802, 979, - 35, -921, 806, -921, -921, -921, 815, -921, -921, -921 + 166, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, 52, 31, 76, 82, + 97, 105, 113, 142, 152, 173, 175, 201, 224, 244, + 245, 252, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, 31, -101, 29, 524, 41, 196, 229, 95, + 80, 42, 78, 257, -38, 528, 103, 158, -932, 254, + 274, 306, 281, 301, -932, -932, -932, -932, -932, 325, + -932, 38, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, 328, 329, 332, 335, 356, 371, + 372, 383, 401, 409, 412, 413, -932, 425, 426, 435, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, 453, + -932, -932, -932, -932, -932, -932, -932, 56, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, 468, -932, + 59, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, 469, 476, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, 87, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, 99, -932, + -932, -932, -932, -932, 481, -932, 484, 491, -932, -932, + -932, -932, -932, -932, 115, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, 386, 388, -932, -932, -932, -932, -932, -932, + -932, -932, 407, -932, -932, 492, -932, -932, -932, 493, + -932, -932, 490, 496, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, 497, 498, -932, + -932, -932, -932, 499, 507, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, 162, -932, -932, + -932, 509, -932, -932, 510, -932, 512, 515, -932, -932, + 516, 517, -932, -932, -932, -932, -932, -932, -932, 191, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, 193, -932, -932, -932, + 519, 199, -932, -932, -932, -932, 31, 31, -932, 308, + 521, 522, 523, 526, 527, -932, 29, -932, 529, 530, + 533, 534, 536, 537, 318, 339, 355, 357, 358, 359, + 360, 361, 333, 362, 363, 365, 545, 364, 366, 367, + 551, 556, 559, 560, 561, 562, 563, 586, 587, 588, + 589, 590, 592, 593, 595, 596, 597, 599, 600, 416, + 601, 602, 606, 609, 611, 612, 524, -932, 613, 431, + 41, -932, 620, 623, 624, 625, 627, 439, 438, 630, + 633, 636, 196, -932, 639, 229, -932, 640, 452, 642, + 454, 455, 95, -932, 646, 651, 652, 655, 656, 658, + 660, -932, 80, -932, 662, 663, 495, 665, 679, 680, + 500, -932, 78, 681, 501, 502, -932, 257, 688, 689, + 102, -932, 503, 690, 695, 513, 696, 514, 518, 701, + 704, 520, 531, 705, 706, 708, 709, 528, -932, 103, + -932, 710, 525, 158, -932, -932, -932, 713, 712, 714, + 31, 31, 31, -932, 532, 715, 716, 718, 720, 723, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, 538, -932, -932, -932, 25, 539, 540, 724, + 728, 729, 730, 543, 64, 731, 733, 734, 735, 736, + 737, 739, 740, 741, 742, -932, 743, 744, 745, 549, + 554, 748, -932, 749, -932, -932, 750, 751, 555, 565, + 566, -932, -932, 749, 567, 753, -932, 569, -932, 570, + -932, 571, -932, -932, -932, 749, 749, 749, 572, 573, + 574, 575, -932, 576, 577, -932, 578, 579, 580, -932, + -932, 581, -932, -932, -932, 582, 31, -932, -932, 583, + 584, -932, 585, -932, -932, 83, 621, -932, -932, 25, + 591, 594, 598, -932, -932, 774, -932, -932, 31, 524, + 103, -932, -932, -932, -932, 158, 41, 100, 100, 773, + -932, -932, -932, -932, -932, -932, -932, -932, -932, 775, + 777, 778, -932, -932, -932, -932, -932, -932, -932, -932, + 780, -44, 31, 210, 691, 781, 782, 785, 143, 84, + -39, -23, 528, -932, -932, 786, -932, -932, 787, 788, + -932, -932, -932, -932, -932, -65, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, 773, -932, 214, 266, 285, + 287, -932, -932, -932, -932, 792, 793, 794, 795, 796, + -932, 797, 798, -932, -932, -932, 799, 800, 801, 802, + -932, 300, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, 303, -932, 803, 804, -932, -932, 805, + 807, -932, -932, 806, 810, -932, -932, 808, 812, -932, + -932, 811, 813, -932, -932, -932, 60, -932, -932, -932, + 814, -932, -932, -932, 70, -932, -932, -932, -932, 313, + -932, -932, -932, 116, -932, -932, 815, 816, -932, -932, + 817, 819, -932, 820, 821, 822, 823, 824, 825, 327, + -932, -932, -932, -932, -932, -932, -932, -932, -932, 826, + 827, 828, -932, -932, -932, -932, 381, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, 387, -932, + -932, -932, 829, -932, 830, -932, -932, -932, 390, -932, + -932, -932, -932, -932, 411, -932, 192, -932, 616, -932, + 831, 832, -932, -932, 833, 835, -932, -932, -932, 834, + -932, 837, -932, -932, -932, -932, 836, 840, 841, 842, + 643, 653, 648, 654, 657, 843, 659, 661, 847, 849, + 851, 664, 666, 667, 668, 100, -932, -932, 100, -932, + 773, 196, -932, 775, 78, -932, 777, 257, -932, 778, + 320, -932, 780, -44, -932, -932, 210, -932, 852, 691, + -932, 234, 781, -932, 80, -932, 782, -38, -932, 785, + 670, 671, 672, 673, 674, 675, 143, -932, 854, 856, + 676, 677, 678, 84, -932, 868, 869, -39, -932, 683, + 870, 682, 872, -23, -932, -932, 231, 786, -932, -932, + 873, 879, 229, -932, 787, 95, -932, 788, 880, -932, + -932, 205, 626, 693, 698, -932, -932, -932, -932, -932, + 700, -932, -932, 703, 722, 752, -932, -932, -932, -932, + -932, 428, -932, 429, -932, 893, -932, 898, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, 442, -932, -932, + -932, -932, -932, -932, -932, -932, 759, -932, -932, 903, + -932, -932, -932, -932, -932, 900, 907, -932, -932, -932, + -932, -932, 904, -932, 457, -932, -932, -932, -932, -932, + -932, -932, -932, 235, 761, -932, -932, -932, -932, 784, + 790, -932, -932, 809, -932, 31, -932, -932, 911, -932, + -932, -932, -932, -932, 461, -932, -932, -932, -932, -932, + -932, 818, 463, -932, 467, -932, 838, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, 320, -932, -932, 924, 747, -932, 234, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, 925, 839, 933, 231, -932, -932, -932, -932, -932, + -932, 844, -932, -932, 776, -932, 845, -932, -932, 966, + -932, -932, 272, -932, 39, 966, -932, -932, 974, 975, + 976, -932, 473, -932, -932, -932, -932, -932, -932, -932, + 989, 846, 850, 853, 990, 39, -932, 848, -932, -932, + -932, 857, -932, -932, -932 }; const unsigned short @@ -4426,16 +4456,16 @@ namespace isc { namespace dhcp { 0, 0, 1, 47, 40, 36, 35, 32, 33, 34, 39, 3, 37, 38, 60, 5, 72, 7, 161, 9, 310, 11, 486, 13, 511, 15, 541, 17, 411, 19, - 419, 21, 456, 23, 275, 25, 640, 27, 707, 29, - 696, 31, 49, 43, 0, 0, 0, 0, 0, 0, + 419, 21, 456, 23, 275, 25, 654, 27, 721, 29, + 710, 31, 49, 43, 0, 0, 0, 0, 0, 0, 543, 0, 421, 458, 0, 0, 0, 0, 51, 0, - 50, 0, 0, 44, 70, 705, 688, 690, 692, 0, - 69, 0, 62, 64, 66, 67, 68, 65, 125, 694, + 50, 0, 0, 44, 70, 719, 702, 704, 706, 0, + 69, 0, 62, 64, 66, 67, 68, 65, 125, 708, 159, 173, 175, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, 142, 149, 151, 302, 409, 448, 499, 501, 359, 367, 248, 265, 256, 241, 578, 533, 267, 286, 599, 0, - 623, 636, 638, 153, 155, 712, 124, 0, 74, 76, + 623, 636, 652, 153, 155, 726, 124, 0, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 112, 113, 114, 85, 118, 119, 120, 121, 122, 123, 116, 117, 110, 88, 89, 90, 91, 107, 92, 94, 93, 98, @@ -4456,11 +4486,11 @@ namespace isc { namespace dhcp { 444, 429, 430, 431, 432, 433, 472, 0, 0, 470, 471, 474, 475, 0, 459, 460, 462, 463, 464, 465, 466, 467, 468, 469, 282, 284, 279, 0, 277, 280, - 281, 0, 663, 665, 0, 668, 0, 0, 672, 676, - 0, 0, 680, 682, 684, 686, 661, 659, 660, 0, - 642, 644, 645, 646, 647, 648, 649, 650, 651, 652, - 653, 654, 655, 656, 657, 658, 0, 709, 711, 702, - 0, 0, 698, 700, 701, 48, 0, 0, 41, 0, + 281, 0, 677, 679, 0, 682, 0, 0, 686, 690, + 0, 0, 694, 696, 698, 700, 675, 673, 674, 0, + 656, 658, 659, 660, 661, 662, 663, 664, 665, 666, + 667, 668, 669, 670, 671, 672, 0, 723, 725, 716, + 0, 0, 712, 714, 715, 48, 0, 0, 41, 0, 0, 0, 0, 0, 0, 59, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4473,8 +4503,8 @@ namespace isc { namespace dhcp { 0, 542, 0, 412, 0, 0, 0, 0, 0, 0, 0, 420, 0, 0, 0, 0, 457, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 641, 0, - 708, 0, 0, 0, 697, 52, 45, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 655, 0, + 722, 0, 0, 0, 711, 52, 45, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 139, 140, 141, 0, 0, 0, 0, @@ -4484,18 +4514,18 @@ namespace isc { namespace dhcp { 0, 365, 366, 0, 0, 0, 313, 0, 489, 0, 528, 0, 531, 532, 514, 0, 0, 0, 0, 0, 0, 0, 546, 0, 0, 436, 0, 0, 0, 447, - 424, 0, 476, 477, 461, 0, 0, 278, 662, 0, - 0, 667, 0, 670, 671, 0, 0, 678, 679, 0, - 0, 0, 0, 643, 710, 0, 704, 699, 0, 0, - 0, 689, 691, 693, 126, 0, 0, 0, 0, 179, + 424, 0, 476, 477, 461, 0, 0, 278, 676, 0, + 0, 681, 0, 684, 685, 0, 0, 692, 693, 0, + 0, 0, 0, 657, 724, 0, 718, 713, 0, 0, + 0, 703, 705, 707, 126, 0, 0, 0, 0, 179, 158, 144, 145, 146, 147, 148, 143, 150, 152, 304, 413, 450, 42, 500, 502, 361, 362, 363, 364, 360, 369, 0, 49, 0, 0, 0, 535, 269, 0, 0, - 0, 637, 0, 154, 156, 0, 53, 171, 480, 505, + 0, 0, 0, 154, 156, 0, 53, 171, 480, 505, 350, 352, 354, 358, 356, 0, 498, 527, 530, 571, 559, 561, 563, 565, 567, 569, 439, 222, 443, 441, - 446, 473, 283, 285, 664, 666, 669, 674, 675, 673, - 677, 681, 683, 685, 687, 179, 46, 0, 0, 0, + 446, 473, 283, 285, 678, 680, 683, 688, 689, 687, + 691, 695, 697, 699, 701, 179, 46, 0, 0, 0, 0, 208, 214, 216, 218, 0, 0, 0, 0, 0, 232, 0, 0, 235, 237, 239, 0, 0, 0, 0, 207, 0, 185, 187, 188, 189, 190, 191, 192, 193, @@ -4509,85 +4539,89 @@ namespace isc { namespace dhcp { 288, 290, 291, 292, 293, 294, 295, 612, 618, 0, 0, 0, 611, 608, 609, 610, 0, 601, 603, 606, 604, 605, 607, 632, 634, 631, 629, 630, 0, 625, - 627, 628, 0, 716, 0, 714, 55, 484, 0, 481, - 482, 509, 0, 506, 507, 576, 575, 0, 574, 0, - 71, 706, 695, 160, 0, 0, 0, 0, 0, 0, + 627, 628, 0, 647, 0, 650, 643, 644, 0, 638, + 640, 641, 642, 645, 0, 730, 0, 728, 55, 484, + 0, 481, 482, 509, 0, 506, 507, 576, 575, 0, + 574, 0, 71, 720, 709, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 174, 176, 0, 178, 0, 0, - 303, 0, 421, 410, 0, 458, 449, 0, 0, 368, - 0, 0, 249, 266, 0, 257, 0, 0, 242, 584, - 0, 579, 543, 534, 0, 0, 268, 0, 0, 0, - 0, 0, 0, 0, 0, 287, 0, 0, 0, 0, - 0, 0, 600, 0, 0, 0, 624, 639, 0, 0, - 713, 57, 0, 56, 0, 479, 0, 0, 504, 0, - 0, 573, 703, 0, 0, 0, 0, 220, 223, 224, - 225, 226, 0, 234, 227, 0, 0, 0, 229, 230, - 231, 228, 186, 0, 182, 0, 307, 0, 416, 0, - 453, 408, 388, 389, 390, 392, 393, 394, 381, 382, - 397, 398, 399, 402, 403, 404, 405, 406, 407, 400, - 401, 377, 378, 379, 380, 386, 387, 385, 391, 0, - 375, 383, 395, 396, 384, 372, 251, 259, 0, 244, - 596, 0, 594, 595, 591, 592, 593, 0, 585, 586, - 588, 589, 590, 581, 0, 538, 0, 272, 296, 297, - 298, 299, 300, 301, 289, 0, 0, 617, 620, 621, - 602, 0, 0, 626, 730, 0, 728, 726, 720, 724, - 725, 0, 718, 722, 723, 721, 715, 54, 0, 0, - 483, 0, 508, 0, 210, 211, 212, 213, 209, 215, - 217, 219, 233, 236, 238, 240, 184, 309, 418, 455, - 0, 374, 247, 0, 0, 583, 0, 540, 274, 614, - 615, 616, 613, 619, 633, 635, 0, 0, 0, 0, - 717, 58, 485, 510, 577, 376, 0, 598, 587, 0, - 727, 0, 719, 597, 0, 729, 734, 0, 732, 0, - 0, 731, 743, 0, 0, 0, 748, 0, 736, 738, - 739, 740, 741, 742, 733, 0, 0, 0, 0, 0, - 0, 735, 0, 745, 746, 747, 0, 737, 744, 749 + 0, 0, 0, 0, 0, 0, 174, 176, 0, 178, + 0, 0, 303, 0, 421, 410, 0, 458, 449, 0, + 0, 368, 0, 0, 249, 266, 0, 257, 0, 0, + 242, 584, 0, 579, 543, 534, 0, 0, 268, 0, + 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, + 0, 0, 0, 0, 600, 0, 0, 0, 624, 0, + 0, 0, 0, 0, 637, 653, 0, 0, 727, 57, + 0, 56, 0, 479, 0, 0, 504, 0, 0, 573, + 717, 0, 0, 0, 0, 220, 223, 224, 225, 226, + 0, 234, 227, 0, 0, 0, 229, 230, 231, 228, + 186, 0, 182, 0, 307, 0, 416, 0, 453, 408, + 388, 389, 390, 392, 393, 394, 381, 382, 397, 398, + 399, 402, 403, 404, 405, 406, 407, 400, 401, 377, + 378, 379, 380, 386, 387, 385, 391, 0, 375, 383, + 395, 396, 384, 372, 251, 259, 0, 244, 596, 0, + 594, 595, 591, 592, 593, 0, 585, 586, 588, 589, + 590, 581, 0, 538, 0, 272, 296, 297, 298, 299, + 300, 301, 289, 0, 0, 617, 620, 621, 602, 0, + 0, 626, 646, 0, 649, 0, 639, 744, 0, 742, + 740, 734, 738, 739, 0, 732, 736, 737, 735, 729, + 54, 0, 0, 483, 0, 508, 0, 210, 211, 212, + 213, 209, 215, 217, 219, 233, 236, 238, 240, 184, + 309, 418, 455, 0, 374, 247, 0, 0, 583, 0, + 540, 274, 614, 615, 616, 613, 619, 633, 635, 648, + 651, 0, 0, 0, 0, 731, 58, 485, 510, 577, + 376, 0, 598, 587, 0, 741, 0, 733, 597, 0, + 743, 748, 0, 746, 0, 0, 745, 757, 0, 0, + 0, 762, 0, 750, 752, 753, 754, 755, 756, 747, + 0, 0, 0, 0, 0, 0, 749, 0, 759, 760, + 761, 0, 751, 758, 763 }; const short Dhcp6Parser::yypgoto_[] = { - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -5, -921, -544, - -921, 392, -921, -921, -921, -921, 285, -921, -528, -921, - -921, -921, -74, -921, -921, -921, 577, -921, -921, -921, - -921, 330, 519, -921, -921, -70, -58, -38, -31, -30, - -20, -17, 1, 9, 12, 13, -921, 14, 16, 19, - 24, -921, 337, 26, -921, 29, -921, 30, -921, 32, - -921, -921, -921, -921, -921, -921, -921, 321, 545, -921, - -921, -921, -921, -921, -921, -921, -921, -921, 243, -921, - 62, -921, -662, 68, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -46, -921, -696, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, 45, -921, -921, - -921, -921, -921, 54, -685, -921, -921, -921, -921, 49, - -921, -921, -921, -921, -921, -921, -921, -921, 39, -921, - -921, -921, 42, 488, -921, -921, -921, -921, -921, -921, - -921, 44, -921, -921, -921, -921, -921, -921, -920, -921, - -921, -921, 69, -921, -921, -921, 70, 561, -921, -921, - -918, -921, -917, -921, 38, -921, 40, -921, 36, -921, - -921, -921, -916, -921, -921, -921, -921, 61, -921, -921, - -128, 933, -921, -921, -921, -921, -921, 72, -921, -921, - -921, 71, -921, 505, -921, -69, -921, -921, -921, -921, - -921, -68, -921, -921, -921, -921, -921, -3, -921, -921, - -921, 74, -921, -921, -921, 77, -921, 503, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, 23, - -921, -921, -921, 31, 565, -921, -921, -56, -921, -15, - -921, -921, -921, -921, -921, 28, -921, -921, -921, 33, - 576, -921, -921, -921, -921, -921, -921, -921, -60, -921, - -921, -921, 59, -921, -921, -921, 64, -921, 522, 303, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -915, -921, -921, -921, -921, -921, -921, - -921, 76, -921, -921, -921, -117, -921, -921, -921, -921, - -921, -921, -921, 50, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, 53, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, 333, 504, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, -921, -921, -921, -921, -921, -921, - -921, -921, -921, -921, 358, 497, -921, -921, -921, -921, - -921, -921, -921, 369, 507, -61, -921, -921, 55, -921, - -921, -112, -921, -921, -921, -921, -921, -921, -138, -921, - -921, -152, -921, -921, -921, -921, -921, -921, -921 + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -5, -932, 415, + -932, -932, -932, -932, -932, -932, 297, -932, -533, -932, + -932, -932, -74, -932, -932, -932, 603, -932, -932, -932, + -932, 331, 542, -932, -932, -62, -42, -40, -34, -30, + -29, -27, -26, 4, 5, 7, -932, 8, 9, 10, + 11, -932, 343, 21, -932, 23, -932, 24, -932, 26, + -932, -932, -932, -932, -932, -932, -932, 330, 535, -932, + -932, -932, -932, -932, -932, -932, -932, -932, 248, -932, + 61, -932, -652, 67, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -66, -932, -686, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, 40, -932, -932, + -932, -932, -932, 50, -675, -932, -932, -932, -932, 48, + -932, -932, -932, -932, -932, -932, -932, -932, 37, -932, + -932, -932, 43, 504, -932, -932, -932, -932, -932, -932, + -932, 35, -932, -932, -932, -932, -932, -932, -931, -932, + -932, -932, 62, -932, -932, -932, 66, 541, -932, -932, + -929, -932, -928, -932, 30, -932, 32, -932, 36, -932, + -932, -932, -927, -932, -932, -932, -932, 63, -932, -932, + -145, 941, -932, -932, -932, -932, -932, 71, -932, -932, + -932, 72, -932, 544, -932, -76, -932, -932, -932, -932, + -932, -70, -932, -932, -932, -932, -932, -24, -932, -932, + -932, 69, -932, -932, -932, 74, -932, 546, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, 15, + -932, -932, -932, 22, 548, -932, -932, -58, -932, -8, + -932, -932, -932, -932, -932, 18, -932, -932, -932, 33, + 547, -932, -932, -932, -932, -932, -932, -932, -47, -932, + -932, -932, 75, -932, -932, -932, 79, -932, 550, 334, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -926, -932, -932, -932, -932, -932, -932, + -932, 85, -932, -932, -932, -131, -932, -932, -932, -932, + -932, -932, -932, 57, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, 58, -932, -932, -932, + -932, -932, -932, -932, 51, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, 346, 553, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, -932, -932, -932, -932, -932, -932, -932, -932, + -932, -932, 385, 557, -932, -932, -932, -932, -932, -932, + -932, 391, 552, -72, -932, -932, 55, -932, -932, -120, + -932, -932, -932, -932, -932, -932, -140, -932, -932, -159, + -932, -932, -932, -932, -932, -932, -932 }; const short @@ -4595,500 +4629,508 @@ namespace isc { namespace dhcp { { -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 88, 41, 42, - 73, 693, 92, 93, 43, 72, 89, 90, 717, 896, - 992, 993, 780, 45, 74, 101, 102, 103, 410, 47, + 73, 693, 92, 93, 43, 72, 89, 90, 717, 908, + 1010, 1011, 780, 45, 74, 101, 102, 103, 410, 47, 75, 157, 158, 159, 418, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 440, 686, 176, 441, 177, 442, 178, 463, 179, 464, 180, 436, 181, 420, 49, 76, 210, 211, 212, 468, 213, 182, 421, 183, 422, 184, 423, 805, 806, - 807, 936, 781, 782, 783, 914, 1128, 784, 915, 785, - 916, 786, 917, 787, 788, 505, 789, 790, 791, 792, - 793, 794, 795, 796, 797, 798, 923, 799, 800, 926, - 801, 927, 802, 928, 185, 453, 839, 840, 841, 956, + 807, 948, 781, 782, 783, 926, 1151, 784, 927, 785, + 928, 786, 929, 787, 788, 505, 789, 790, 791, 792, + 793, 794, 795, 796, 797, 798, 935, 799, 800, 938, + 801, 939, 802, 940, 185, 453, 839, 840, 841, 968, 186, 450, 826, 827, 828, 829, 187, 452, 834, 835, - 836, 837, 188, 451, 189, 456, 850, 851, 852, 965, + 836, 837, 188, 451, 189, 456, 850, 851, 852, 977, 65, 84, 357, 358, 359, 518, 360, 519, 190, 457, 859, 860, 861, 862, 863, 864, 865, 866, 191, 443, - 809, 810, 811, 939, 51, 77, 246, 247, 248, 474, + 809, 810, 811, 951, 51, 77, 246, 247, 248, 474, 249, 475, 250, 476, 251, 480, 252, 479, 192, 448, - 699, 254, 255, 193, 449, 821, 822, 823, 948, 1059, - 1060, 194, 444, 59, 81, 813, 814, 815, 942, 61, + 699, 254, 255, 193, 449, 821, 822, 823, 960, 1077, + 1078, 194, 444, 59, 81, 813, 814, 815, 954, 61, 82, 322, 323, 324, 325, 326, 327, 328, 504, 329, 508, 330, 507, 331, 332, 509, 333, 195, 445, 817, - 818, 819, 945, 63, 83, 343, 344, 345, 346, 347, - 513, 348, 349, 350, 351, 257, 472, 898, 899, 900, - 994, 53, 78, 268, 269, 270, 484, 196, 446, 197, - 447, 260, 473, 902, 903, 904, 997, 55, 79, 284, + 818, 819, 957, 63, 83, 343, 344, 345, 346, 347, + 513, 348, 349, 350, 351, 257, 472, 910, 911, 912, + 1012, 53, 78, 268, 269, 270, 484, 196, 446, 197, + 447, 260, 473, 914, 915, 916, 1015, 55, 79, 284, 285, 286, 487, 287, 288, 489, 289, 290, 198, 455, - 846, 847, 848, 962, 57, 80, 302, 303, 304, 305, + 846, 847, 848, 974, 57, 80, 302, 303, 304, 305, 495, 306, 496, 307, 497, 308, 498, 309, 499, 310, - 500, 311, 494, 262, 481, 907, 908, 1000, 199, 454, - 843, 844, 959, 1077, 1078, 1079, 1080, 1081, 1143, 1082, - 200, 458, 876, 877, 878, 976, 1152, 879, 880, 977, - 881, 882, 201, 202, 460, 888, 889, 890, 983, 891, - 984, 203, 461, 204, 462, 67, 85, 379, 380, 381, - 382, 523, 383, 524, 384, 385, 526, 386, 387, 388, - 529, 749, 389, 530, 390, 391, 392, 533, 393, 534, - 394, 535, 395, 536, 104, 412, 105, 413, 106, 414, - 205, 419, 71, 87, 401, 402, 403, 541, 404, 107, - 411, 69, 86, 396, 397, 206, 465, 894, 895, 988, - 1111, 1112, 1113, 1114, 1158, 1115, 1156, 1177, 1178, 1179, - 1187, 1188, 1189, 1195, 1190, 1191, 1192, 1193, 1199 + 500, 311, 494, 262, 481, 919, 920, 1018, 199, 454, + 843, 844, 971, 1095, 1096, 1097, 1098, 1099, 1166, 1100, + 200, 458, 876, 877, 878, 988, 1175, 879, 880, 989, + 881, 882, 201, 202, 460, 888, 889, 890, 995, 891, + 996, 203, 461, 898, 899, 900, 901, 1000, 902, 903, + 1002, 204, 462, 67, 85, 379, 380, 381, 382, 523, + 383, 524, 384, 385, 526, 386, 387, 388, 529, 749, + 389, 530, 390, 391, 392, 533, 393, 534, 394, 535, + 395, 536, 104, 412, 105, 413, 106, 414, 205, 419, + 71, 87, 401, 402, 403, 541, 404, 107, 411, 69, + 86, 396, 397, 206, 465, 906, 907, 1006, 1134, 1135, + 1136, 1137, 1183, 1138, 1181, 1202, 1203, 1204, 1212, 1213, + 1214, 1220, 1215, 1216, 1217, 1218, 1224 }; const unsigned short Dhcp6Parser::yytable_[] = { - 100, 156, 209, 226, 264, 278, 298, 227, 320, 339, - 356, 376, 40, 873, 341, 342, 803, 261, 833, 228, - 214, 258, 271, 282, 300, 398, 334, 352, 1052, 377, - 1053, 1054, 1058, 1064, 824, 94, 321, 340, 692, 229, - 416, 32, 292, 207, 208, 417, 230, 231, 33, 905, - 34, 466, 35, 692, 314, 951, 467, 232, 952, 91, - 233, 215, 259, 272, 283, 301, 954, 335, 353, 955, - 378, 136, 137, 155, 256, 267, 281, 299, 234, 867, - 44, 695, 696, 697, 698, 723, 235, 313, 766, 236, - 237, 238, 46, 239, 48, 470, 240, 729, 730, 731, - 471, 241, 960, 242, 50, 961, 243, 244, 52, 245, - 136, 137, 989, 253, 825, 990, 265, 279, 266, 280, - 354, 355, 108, 109, 824, 831, 110, 832, 482, 111, - 112, 113, 314, 483, 315, 316, 399, 400, 317, 318, - 319, 136, 137, 485, 681, 682, 683, 684, 486, 136, - 137, 1104, 54, 1105, 1106, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 99, 136, 137, - 492, 685, 1149, 1150, 1151, 493, 95, 868, 869, 870, - 871, 354, 355, 99, 136, 137, 96, 97, 98, 1182, - 135, 138, 1183, 1184, 1185, 1186, 139, 140, 141, 142, - 143, 263, 144, 56, 99, 58, 99, 145, 136, 137, - 1052, 134, 1053, 1054, 1058, 1064, 146, 60, 62, 147, - 883, 884, 36, 37, 38, 39, 148, 223, 1180, 64, - 224, 1181, 405, 135, 149, 150, 135, 99, 151, 152, - 1124, 1125, 1126, 1127, 66, 99, 273, 274, 275, 276, - 277, 136, 137, 520, 136, 137, 68, 537, 521, 833, - 153, 154, 538, 155, 1023, 70, 539, 406, 747, 748, - 223, 540, 291, 224, 99, 873, 407, 408, 292, 293, - 294, 295, 296, 297, 543, 409, 761, 415, 424, 544, - 99, 762, 763, 764, 765, 766, 767, 768, 769, 770, - 771, 772, 773, 774, 775, 776, 777, 778, 779, 425, - 466, 135, 314, 426, 99, 910, 427, 314, 336, 315, - 316, 337, 338, 853, 854, 855, 856, 857, 858, 136, - 137, 314, 100, 539, 136, 137, 543, 470, 911, 933, - 933, 912, 913, 957, 934, 935, 974, 981, 958, 1070, - 1071, 975, 982, 985, 537, 501, 428, 99, 986, 987, - 99, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 933, 502, 482, 1140, - 520, 1136, 156, 1137, 1141, 1148, 209, 429, 1159, 485, - 492, 545, 546, 1160, 1162, 1163, 430, 431, 226, 432, - 1200, 264, 227, 512, 214, 1201, 433, 434, 278, 435, - 437, 438, 261, 439, 228, 459, 258, 469, 298, 271, - 477, 478, 488, 490, 491, 517, 282, 506, 320, 503, - 510, 514, 511, 339, 229, 99, 300, 515, 341, 342, - 99, 230, 231, 516, 522, 215, 334, 525, 527, 528, - 531, 352, 232, 376, 99, 233, 321, 259, 532, 542, - 272, 340, 547, 548, 549, 550, 551, 283, 398, 256, - 552, 377, 267, 234, 554, 555, 556, 301, 557, 281, - 558, 235, 136, 137, 236, 237, 238, 335, 239, 299, - 559, 240, 353, 560, 561, 572, 241, 569, 242, 570, - 562, 243, 244, 563, 245, 564, 565, 566, 253, 567, - 568, 571, 378, 265, 573, 266, 574, 575, 576, 577, - 279, 578, 280, 579, 580, 581, 582, 583, 584, 585, - 586, 587, 588, 589, 590, 671, 672, 673, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 591, 592, 593, 594, 595, 596, 597, 374, 375, - 598, 599, 600, 601, 603, 606, 607, 608, 609, 610, - 604, 611, 612, 613, 614, 615, 617, 619, 620, 621, - 622, 623, 625, 626, 627, 156, 628, 629, 99, 630, - 631, 633, 209, 634, 635, 636, 637, 638, 641, 398, - 639, 645, 642, 646, 643, 649, 648, 650, 652, 655, - 214, 656, 659, 660, 661, 651, 662, 665, 653, 654, - 668, 669, 657, 658, 666, 872, 885, 670, 376, 675, - 674, 743, 676, 677, 678, 679, 680, 687, 688, 689, - 690, 691, 694, 874, 886, 34, 377, 700, 701, 702, - 703, 215, 713, 756, 704, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 705, 706, 127, 128, - 129, 130, 131, 132, 707, 708, 135, 709, 710, 712, - 715, 714, 716, 718, 875, 887, 216, 378, 217, 719, - 720, 721, 722, 724, 136, 137, 218, 219, 220, 221, - 222, 138, 725, 755, 804, 726, 808, 727, 750, 812, - 816, 820, 842, 223, 845, 838, 224, 145, 849, 893, - 728, 732, 733, 734, 225, 735, 736, 737, 738, 739, - 740, 741, 742, 744, 745, 746, 897, 901, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 918, - 919, 127, 128, 129, 130, 131, 132, 133, 920, 135, - 314, 921, 922, 752, 924, 753, 754, 925, 929, 930, - 153, 154, 931, 932, 938, 941, 937, 136, 137, 940, - 219, 220, 943, 222, 138, 944, 946, 947, 950, 949, - 1007, 964, 953, 963, 967, 966, 223, 968, 969, 224, - 99, 970, 971, 972, 973, 978, 979, 225, 980, 995, - 991, 996, 998, 999, 1009, 1001, 1003, 1002, 1004, 1005, - 1006, 1008, 1011, 1010, 1012, 1015, 1016, 1013, 1017, 1014, - 1018, 1019, 1068, 1095, 1096, 1101, 1102, 1118, 1020, 1021, - 1088, 1089, 1090, 1091, 1092, 1093, 1097, 1098, 1099, 1117, - 1123, 1144, 1129, 153, 154, 226, 1130, 1138, 320, 227, - 1139, 339, 1131, 1132, 1031, 1133, 341, 342, 1032, 261, - 1134, 228, 1135, 258, 1142, 1072, 334, 1145, 298, 352, - 1033, 356, 1062, 99, 1146, 1147, 321, 1157, 1166, 340, - 1153, 229, 1051, 1075, 1169, 1154, 300, 872, 230, 231, - 1034, 885, 1155, 1073, 1107, 1161, 1164, 1035, 1036, 232, - 264, 1167, 233, 278, 259, 874, 1170, 335, 1037, 886, - 353, 1038, 1109, 1063, 1171, 1173, 256, 1174, 271, 1175, - 234, 282, 1108, 1176, 1076, 1061, 1196, 301, 235, 1039, - 1197, 236, 237, 238, 1198, 239, 1074, 1040, 240, 299, - 1041, 1042, 1043, 241, 1044, 242, 875, 1045, 243, 244, - 887, 245, 1046, 1110, 1047, 253, 1202, 1048, 1049, 272, - 1050, 1203, 283, 1206, 1057, 602, 1055, 830, 1056, 711, - 1204, 267, 1205, 553, 281, 1208, 751, 760, 909, 757, - 1024, 1022, 1069, 1067, 1209, 1066, 1087, 1086, 647, 1025, - 1026, 1065, 1165, 1027, 312, 605, 1028, 640, 1094, 1120, - 644, 1030, 1029, 1085, 632, 1119, 1084, 1122, 906, 1168, - 1121, 1100, 265, 759, 266, 279, 1083, 280, 1103, 758, - 667, 663, 1194, 616, 1116, 892, 664, 1172, 1207, 0, - 618, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1031, 0, 624, 0, - 1032, 0, 1072, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1033, 0, 1062, 1107, 0, 0, 0, 0, - 1075, 0, 0, 0, 1051, 0, 0, 0, 0, 0, - 1073, 0, 1034, 1109, 0, 0, 0, 0, 0, 1035, - 1036, 0, 0, 1108, 0, 0, 0, 0, 0, 0, - 1037, 0, 0, 1038, 0, 1063, 0, 0, 0, 0, - 0, 1076, 0, 0, 0, 0, 0, 1061, 0, 0, - 0, 1039, 0, 1074, 1110, 0, 0, 0, 0, 1040, - 0, 0, 1041, 1042, 1043, 0, 1044, 0, 0, 1045, - 0, 0, 0, 0, 1046, 0, 1047, 0, 0, 1048, - 1049, 0, 1050, 0, 0, 0, 1057, 0, 1055, 0, - 1056 + 100, 156, 209, 226, 264, 278, 298, 341, 320, 339, + 356, 376, 40, 342, 398, 227, 321, 340, 214, 258, + 271, 282, 300, 873, 334, 352, 803, 377, 833, 1070, + 261, 1071, 1072, 1076, 1082, 228, 33, 229, 34, 94, + 35, 416, 292, 230, 136, 137, 417, 231, 232, 917, + 233, 234, 32, 256, 267, 281, 299, 207, 208, 466, + 136, 137, 470, 963, 467, 824, 964, 471, 215, 259, + 272, 283, 301, 966, 335, 353, 967, 378, 354, 355, + 723, 235, 236, 44, 237, 238, 239, 240, 241, 46, + 482, 91, 729, 730, 731, 483, 883, 884, 242, 313, + 243, 244, 485, 245, 48, 867, 134, 486, 265, 279, + 266, 280, 50, 253, 766, 892, 893, 894, 492, 972, + 52, 761, 973, 493, 136, 137, 762, 763, 764, 765, + 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, + 776, 777, 778, 779, 314, 135, 315, 316, 825, 54, + 317, 318, 319, 99, 99, 695, 696, 697, 698, 56, + 135, 136, 137, 136, 137, 520, 314, 136, 137, 895, + 521, 399, 400, 273, 274, 275, 276, 277, 136, 137, + 58, 291, 60, 681, 682, 683, 684, 292, 293, 294, + 295, 296, 297, 95, 537, 1007, 539, 223, 1008, 538, + 224, 540, 543, 96, 97, 98, 1207, 544, 62, 1208, + 1209, 1210, 1211, 868, 869, 870, 871, 466, 354, 355, + 685, 99, 922, 36, 37, 38, 39, 1147, 1148, 1149, + 1150, 64, 1070, 99, 1071, 1072, 1076, 1082, 747, 748, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 66, 68, 127, 128, 129, 130, 131, 132, 70, + 405, 135, 853, 854, 855, 856, 857, 858, 155, 539, + 99, 216, 99, 217, 923, 1205, 99, 406, 1206, 136, + 137, 218, 219, 220, 221, 222, 138, 99, 543, 408, + 470, 833, 99, 924, 135, 925, 1041, 314, 223, 135, + 314, 224, 145, 945, 409, 263, 945, 873, 946, 225, + 407, 947, 136, 137, 136, 137, 969, 136, 137, 824, + 831, 970, 832, 314, 336, 315, 316, 337, 338, 415, + 986, 223, 424, 425, 224, 987, 426, 1088, 1089, 427, + 136, 137, 100, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 153, 154, + 428, 1172, 1173, 1174, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 429, 430, 127, 128, 129, + 130, 131, 132, 133, 993, 135, 314, 431, 99, 994, + 997, 502, 156, 1003, 501, 998, 209, 1127, 1004, 1128, + 1129, 545, 546, 136, 137, 432, 219, 220, 226, 222, + 138, 264, 214, 433, 537, 503, 434, 435, 278, 1005, + 227, 99, 223, 99, 258, 224, 99, 271, 298, 437, + 438, 945, 482, 225, 282, 261, 1159, 1160, 320, 439, + 228, 341, 229, 339, 300, 1163, 321, 342, 230, 99, + 1164, 340, 231, 232, 334, 233, 234, 459, 256, 352, + 520, 267, 215, 376, 1184, 1171, 485, 398, 281, 1185, + 492, 1187, 469, 477, 259, 1188, 1225, 272, 299, 377, + 478, 1226, 153, 154, 283, 488, 235, 236, 490, 237, + 238, 239, 240, 241, 301, 491, 506, 510, 511, 512, + 547, 514, 515, 242, 335, 243, 244, 516, 245, 353, + 517, 560, 99, 522, 525, 265, 527, 266, 253, 528, + 531, 532, 279, 542, 280, 548, 549, 550, 568, 378, + 551, 552, 561, 554, 555, 108, 109, 556, 557, 110, + 558, 559, 111, 112, 113, 671, 672, 673, 562, 572, + 563, 564, 565, 566, 567, 576, 569, 570, 571, 573, + 577, 574, 575, 578, 579, 580, 581, 582, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 583, 584, 585, 586, 587, 156, 588, 589, 398, 590, + 591, 592, 209, 593, 594, 596, 597, 136, 137, 595, + 598, 136, 137, 599, 138, 600, 601, 603, 214, 139, + 140, 141, 142, 143, 606, 144, 604, 607, 608, 609, + 145, 610, 611, 612, 613, 872, 885, 614, 376, 146, + 615, 743, 147, 617, 619, 620, 621, 622, 623, 148, + 625, 874, 886, 896, 377, 626, 627, 149, 150, 628, + 629, 151, 630, 756, 631, 152, 633, 634, 215, 636, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 637, 638, 641, 153, 154, 635, 155, + 374, 375, 645, 646, 649, 639, 642, 643, 648, 650, + 652, 875, 887, 897, 378, 655, 651, 653, 656, 659, + 660, 654, 661, 662, 665, 657, 99, 668, 666, 669, + 99, 670, 675, 676, 674, 677, 658, 678, 679, 689, + 680, 687, 688, 690, 691, 694, 700, 34, 701, 702, + 703, 713, 705, 704, 706, 707, 714, 720, 708, 709, + 710, 711, 712, 715, 716, 718, 719, 721, 722, 724, + 725, 726, 727, 728, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 744, 745, 746, 750, 755, + 804, 1199, 808, 752, 812, 816, 753, 820, 842, 845, + 754, 838, 849, 905, 909, 913, 930, 931, 932, 933, + 934, 936, 937, 941, 942, 943, 944, 950, 1009, 949, + 953, 952, 955, 956, 958, 959, 962, 961, 1152, 976, + 965, 975, 979, 978, 980, 981, 982, 983, 984, 985, + 990, 991, 992, 999, 1001, 1014, 1025, 1013, 1017, 1016, + 1021, 1027, 1019, 1020, 1022, 1023, 1024, 1030, 1026, 1028, + 1029, 1033, 1031, 1034, 1032, 1035, 1086, 1036, 1113, 1037, + 1114, 1039, 1038, 1106, 1107, 1108, 1109, 1110, 1111, 1115, + 1116, 1117, 1119, 1120, 1123, 1124, 1125, 226, 1122, 1140, + 320, 341, 1141, 339, 1146, 1153, 1049, 342, 321, 227, + 1154, 340, 1155, 258, 1069, 1156, 334, 1090, 1050, 352, + 298, 1161, 1080, 356, 261, 1091, 1162, 1167, 1168, 228, + 1169, 229, 1170, 1093, 1157, 1182, 300, 230, 1051, 872, + 1052, 231, 232, 885, 233, 234, 1053, 256, 1191, 1194, + 1054, 1055, 1130, 1056, 1057, 874, 1079, 1196, 264, 886, + 1131, 278, 1192, 259, 1158, 896, 335, 1092, 1132, 353, + 299, 1165, 1081, 1176, 271, 235, 236, 282, 237, 238, + 239, 240, 241, 1094, 1058, 1059, 301, 1060, 1061, 1062, + 1063, 1064, 242, 1201, 243, 244, 1177, 245, 1221, 1222, + 1223, 1065, 1178, 1066, 1067, 875, 1068, 253, 267, 887, + 1073, 281, 1074, 1227, 1231, 897, 1075, 692, 1133, 830, + 757, 1179, 751, 921, 272, 605, 760, 283, 602, 1087, + 1186, 1042, 1040, 1084, 1085, 1044, 1105, 1043, 1190, 553, + 1104, 1112, 312, 616, 647, 1083, 1045, 1046, 1048, 1143, + 1189, 1047, 1195, 618, 1142, 1145, 1198, 1200, 1193, 624, + 1233, 1228, 265, 1229, 266, 279, 1230, 280, 1144, 1234, + 1118, 1103, 632, 1102, 1126, 1121, 640, 1101, 904, 918, + 759, 758, 1139, 644, 1197, 1219, 1232, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1049, + 663, 664, 0, 0, 0, 1090, 0, 1069, 0, 0, + 667, 1050, 0, 1091, 0, 1080, 0, 0, 0, 0, + 1130, 1093, 0, 0, 0, 0, 0, 0, 1131, 0, + 1180, 1051, 0, 1052, 0, 0, 1132, 0, 0, 1053, + 0, 0, 0, 1054, 1055, 0, 1056, 1057, 0, 1079, + 0, 0, 0, 0, 0, 1092, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1081, 0, 0, 0, 0, + 0, 1094, 0, 0, 0, 0, 0, 1058, 1059, 0, + 1060, 1061, 1062, 1063, 1064, 0, 1133, 0, 0, 0, + 0, 0, 0, 0, 1065, 0, 1066, 1067, 0, 1068, + 0, 0, 0, 1073, 0, 1074, 0, 0, 0, 1075 }; const short Dhcp6Parser::yycheck_[] = { - 74, 75, 76, 77, 78, 79, 80, 77, 82, 83, - 84, 85, 17, 709, 83, 83, 678, 77, 703, 77, - 76, 77, 78, 79, 80, 86, 82, 83, 948, 85, - 948, 948, 948, 948, 109, 10, 82, 83, 582, 77, - 3, 0, 107, 16, 17, 8, 77, 77, 5, 114, - 7, 3, 9, 597, 66, 3, 8, 77, 6, 189, - 77, 76, 77, 78, 79, 80, 3, 82, 83, 6, - 85, 83, 84, 162, 77, 78, 79, 80, 77, 21, - 7, 91, 92, 93, 94, 613, 77, 21, 30, 77, - 77, 77, 7, 77, 7, 3, 77, 625, 626, 627, - 8, 77, 3, 77, 7, 6, 77, 77, 7, 77, - 83, 84, 3, 77, 189, 6, 78, 79, 78, 79, - 116, 117, 11, 12, 109, 110, 15, 112, 3, 18, - 19, 20, 66, 8, 68, 69, 13, 14, 72, 73, - 74, 83, 84, 3, 155, 156, 157, 158, 8, 83, - 84, 163, 7, 165, 166, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 189, 83, 84, - 3, 192, 126, 127, 128, 8, 161, 129, 130, 131, - 132, 116, 117, 189, 83, 84, 171, 172, 173, 164, - 65, 90, 167, 168, 169, 170, 95, 96, 97, 98, - 99, 76, 101, 7, 189, 7, 189, 106, 83, 84, - 1140, 64, 1140, 1140, 1140, 1140, 115, 7, 7, 118, - 135, 136, 189, 190, 191, 192, 125, 102, 3, 7, - 105, 6, 6, 65, 133, 134, 65, 189, 137, 138, - 22, 23, 24, 25, 7, 189, 78, 79, 80, 81, - 82, 83, 84, 3, 83, 84, 7, 3, 8, 954, - 159, 160, 8, 162, 936, 7, 3, 3, 152, 153, - 102, 8, 101, 105, 189, 981, 4, 8, 107, 108, - 109, 110, 111, 112, 3, 3, 21, 4, 4, 8, - 189, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 4, - 3, 65, 66, 4, 189, 8, 4, 66, 67, 68, - 69, 70, 71, 119, 120, 121, 122, 123, 124, 83, - 84, 66, 416, 3, 83, 84, 3, 3, 8, 3, - 3, 8, 8, 3, 8, 8, 3, 3, 8, 103, - 104, 8, 8, 3, 3, 8, 4, 189, 8, 8, - 189, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 3, 3, 3, 3, - 3, 8, 466, 8, 8, 8, 470, 4, 3, 3, - 3, 406, 407, 8, 8, 8, 4, 4, 482, 4, - 3, 485, 482, 3, 470, 8, 4, 4, 492, 4, - 4, 4, 482, 4, 482, 4, 482, 4, 502, 485, - 4, 4, 4, 4, 4, 3, 492, 4, 512, 8, - 4, 4, 8, 517, 482, 189, 502, 4, 517, 517, - 189, 482, 482, 8, 4, 470, 512, 4, 4, 4, - 4, 517, 482, 537, 189, 482, 512, 482, 4, 4, - 485, 517, 189, 4, 4, 4, 4, 492, 539, 482, - 4, 537, 485, 482, 4, 4, 4, 502, 4, 492, - 4, 482, 83, 84, 482, 482, 482, 512, 482, 502, - 4, 482, 517, 190, 190, 4, 482, 191, 482, 191, - 190, 482, 482, 190, 482, 190, 190, 190, 482, 190, - 192, 190, 537, 485, 192, 485, 192, 192, 4, 4, - 492, 4, 492, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 550, 551, 552, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 4, 4, 4, 4, 190, 4, 4, 159, 160, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 192, 190, 192, 4, 4, 4, 4, 4, 190, 4, - 190, 190, 4, 4, 4, 669, 4, 4, 189, 4, - 4, 4, 676, 4, 190, 4, 4, 4, 4, 670, - 192, 4, 192, 4, 192, 4, 192, 4, 4, 4, - 676, 4, 4, 4, 4, 190, 4, 4, 190, 190, - 4, 7, 192, 192, 190, 709, 710, 7, 712, 7, - 189, 646, 7, 7, 7, 5, 189, 189, 189, 5, - 5, 5, 189, 709, 710, 7, 712, 5, 5, 5, - 5, 676, 189, 668, 7, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 5, 5, 57, 58, - 59, 60, 61, 62, 5, 7, 65, 7, 7, 7, - 5, 189, 5, 5, 709, 710, 75, 712, 77, 5, - 189, 189, 189, 189, 83, 84, 85, 86, 87, 88, - 89, 90, 7, 5, 7, 189, 7, 189, 154, 7, - 7, 7, 7, 102, 7, 100, 105, 106, 7, 7, - 189, 189, 189, 189, 113, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 7, 7, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 4, - 4, 57, 58, 59, 60, 61, 62, 63, 4, 65, - 66, 4, 4, 189, 4, 189, 189, 4, 4, 4, - 159, 160, 4, 4, 3, 3, 6, 83, 84, 6, - 86, 87, 6, 89, 90, 3, 6, 3, 3, 6, - 190, 3, 6, 6, 3, 6, 102, 4, 4, 105, - 189, 4, 4, 4, 4, 4, 4, 113, 4, 6, - 189, 3, 6, 3, 190, 8, 4, 6, 4, 4, - 4, 192, 190, 192, 4, 4, 4, 190, 4, 190, - 190, 190, 4, 4, 4, 4, 4, 3, 192, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 6, - 4, 4, 189, 159, 160, 939, 189, 8, 942, 939, - 8, 945, 189, 189, 948, 189, 945, 945, 948, 939, - 189, 939, 189, 939, 189, 959, 942, 8, 962, 945, - 948, 965, 948, 189, 3, 8, 942, 4, 4, 945, - 189, 939, 948, 959, 4, 189, 962, 981, 939, 939, - 948, 985, 189, 959, 988, 189, 189, 948, 948, 939, - 994, 192, 939, 997, 939, 981, 190, 942, 948, 985, - 945, 948, 988, 948, 4, 189, 939, 5, 994, 189, - 939, 997, 988, 7, 959, 948, 4, 962, 939, 948, - 4, 939, 939, 939, 4, 939, 959, 948, 939, 962, - 948, 948, 948, 939, 948, 939, 981, 948, 939, 939, - 985, 939, 948, 988, 948, 939, 4, 948, 948, 994, - 948, 192, 997, 4, 948, 466, 948, 702, 948, 597, - 190, 994, 190, 416, 997, 189, 659, 676, 755, 669, - 938, 933, 957, 954, 189, 951, 967, 965, 520, 939, - 941, 950, 1140, 942, 81, 470, 944, 512, 974, 996, - 517, 947, 945, 964, 502, 994, 962, 999, 725, 1146, - 997, 981, 994, 675, 994, 997, 960, 997, 985, 670, - 543, 537, 1180, 482, 989, 712, 539, 1159, 1200, -1, - 485, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1140, -1, 492, -1, - 1140, -1, 1146, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1140, -1, 1140, 1159, -1, -1, -1, -1, - 1146, -1, -1, -1, 1140, -1, -1, -1, -1, -1, - 1146, -1, 1140, 1159, -1, -1, -1, -1, -1, 1140, - 1140, -1, -1, 1159, -1, -1, -1, -1, -1, -1, - 1140, -1, -1, 1140, -1, 1140, -1, -1, -1, -1, - -1, 1146, -1, -1, -1, -1, -1, 1140, -1, -1, - -1, 1140, -1, 1146, 1159, -1, -1, -1, -1, 1140, - -1, -1, 1140, 1140, 1140, -1, 1140, -1, -1, 1140, - -1, -1, -1, -1, 1140, -1, 1140, -1, -1, 1140, - 1140, -1, 1140, -1, -1, -1, 1140, -1, 1140, -1, - 1140 + 74, 75, 76, 77, 78, 79, 80, 83, 82, 83, + 84, 85, 17, 83, 86, 77, 82, 83, 76, 77, + 78, 79, 80, 709, 82, 83, 678, 85, 703, 960, + 77, 960, 960, 960, 960, 77, 5, 77, 7, 10, + 9, 3, 107, 77, 83, 84, 8, 77, 77, 114, + 77, 77, 0, 77, 78, 79, 80, 16, 17, 3, + 83, 84, 3, 3, 8, 109, 6, 8, 76, 77, + 78, 79, 80, 3, 82, 83, 6, 85, 116, 117, + 613, 77, 77, 7, 77, 77, 77, 77, 77, 7, + 3, 192, 625, 626, 627, 8, 135, 136, 77, 21, + 77, 77, 3, 77, 7, 21, 64, 8, 78, 79, + 78, 79, 7, 77, 30, 138, 139, 140, 3, 3, + 7, 21, 6, 8, 83, 84, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 66, 65, 68, 69, 192, 7, + 72, 73, 74, 192, 192, 91, 92, 93, 94, 7, + 65, 83, 84, 83, 84, 3, 66, 83, 84, 192, + 8, 13, 14, 78, 79, 80, 81, 82, 83, 84, + 7, 101, 7, 158, 159, 160, 161, 107, 108, 109, + 110, 111, 112, 164, 3, 3, 3, 102, 6, 8, + 105, 8, 3, 174, 175, 176, 167, 8, 7, 170, + 171, 172, 173, 129, 130, 131, 132, 3, 116, 117, + 195, 192, 8, 192, 193, 194, 195, 22, 23, 24, + 25, 7, 1163, 192, 1163, 1163, 1163, 1163, 155, 156, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 7, 7, 57, 58, 59, 60, 61, 62, 7, + 6, 65, 119, 120, 121, 122, 123, 124, 165, 3, + 192, 75, 192, 77, 8, 3, 192, 3, 6, 83, + 84, 85, 86, 87, 88, 89, 90, 192, 3, 8, + 3, 966, 192, 8, 65, 8, 948, 66, 102, 65, + 66, 105, 106, 3, 3, 76, 3, 993, 8, 113, + 4, 8, 83, 84, 83, 84, 3, 83, 84, 109, + 110, 8, 112, 66, 67, 68, 69, 70, 71, 4, + 3, 102, 4, 4, 105, 8, 4, 103, 104, 4, + 83, 84, 416, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 162, 163, + 4, 126, 127, 128, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 4, 4, 57, 58, 59, + 60, 61, 62, 63, 3, 65, 66, 4, 192, 8, + 3, 3, 466, 3, 8, 8, 470, 166, 8, 168, + 169, 406, 407, 83, 84, 4, 86, 87, 482, 89, + 90, 485, 470, 4, 3, 8, 4, 4, 492, 8, + 482, 192, 102, 192, 482, 105, 192, 485, 502, 4, + 4, 3, 3, 113, 492, 482, 8, 8, 512, 4, + 482, 517, 482, 517, 502, 3, 512, 517, 482, 192, + 8, 517, 482, 482, 512, 482, 482, 4, 482, 517, + 3, 485, 470, 537, 3, 8, 3, 539, 492, 8, + 3, 8, 4, 4, 482, 8, 3, 485, 502, 537, + 4, 8, 162, 163, 492, 4, 482, 482, 4, 482, + 482, 482, 482, 482, 502, 4, 4, 4, 8, 3, + 192, 4, 4, 482, 512, 482, 482, 8, 482, 517, + 3, 193, 192, 4, 4, 485, 4, 485, 482, 4, + 4, 4, 492, 4, 492, 4, 4, 4, 195, 537, + 4, 4, 193, 4, 4, 11, 12, 4, 4, 15, + 4, 4, 18, 19, 20, 550, 551, 552, 193, 4, + 193, 193, 193, 193, 193, 4, 194, 194, 193, 195, + 4, 195, 195, 4, 4, 4, 4, 4, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 4, 4, 4, 4, 4, 669, 4, 4, 670, 4, + 4, 4, 676, 4, 4, 4, 4, 83, 84, 193, + 4, 83, 84, 4, 90, 4, 4, 4, 676, 95, + 96, 97, 98, 99, 4, 101, 195, 4, 4, 4, + 106, 4, 193, 195, 4, 709, 710, 4, 712, 115, + 4, 646, 118, 4, 4, 193, 4, 193, 193, 125, + 4, 709, 710, 711, 712, 4, 4, 133, 134, 4, + 4, 137, 4, 668, 4, 141, 4, 4, 676, 4, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 4, 4, 4, 162, 163, 193, 165, + 162, 163, 4, 4, 4, 195, 195, 195, 195, 4, + 4, 709, 710, 711, 712, 4, 193, 193, 4, 4, + 4, 193, 4, 4, 4, 195, 192, 4, 193, 7, + 192, 7, 7, 7, 192, 7, 195, 7, 5, 5, + 192, 192, 192, 5, 5, 192, 5, 7, 5, 5, + 5, 192, 5, 7, 5, 5, 192, 192, 7, 7, + 7, 7, 7, 5, 5, 5, 5, 192, 192, 192, + 7, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 157, 5, + 7, 5, 7, 192, 7, 7, 192, 7, 7, 7, + 192, 100, 7, 7, 7, 7, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 3, 192, 6, + 3, 6, 6, 3, 6, 3, 3, 6, 192, 3, + 6, 6, 3, 6, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 3, 193, 6, 3, 6, + 4, 193, 8, 6, 4, 4, 4, 4, 195, 195, + 193, 4, 193, 4, 193, 4, 4, 193, 4, 193, + 4, 193, 195, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 4, 4, 4, 193, 4, 951, 195, 6, + 954, 957, 3, 957, 4, 192, 960, 957, 954, 951, + 192, 957, 192, 951, 960, 192, 954, 971, 960, 957, + 974, 8, 960, 977, 951, 971, 8, 4, 8, 951, + 3, 951, 8, 971, 192, 4, 974, 951, 960, 993, + 960, 951, 951, 997, 951, 951, 960, 951, 4, 4, + 960, 960, 1006, 960, 960, 993, 960, 4, 1012, 997, + 1006, 1015, 195, 951, 192, 1003, 954, 971, 1006, 957, + 974, 192, 960, 192, 1012, 951, 951, 1015, 951, 951, + 951, 951, 951, 971, 960, 960, 974, 960, 960, 960, + 960, 960, 951, 7, 951, 951, 192, 951, 4, 4, + 4, 960, 192, 960, 960, 993, 960, 951, 1012, 997, + 960, 1015, 960, 4, 4, 1003, 960, 582, 1006, 702, + 669, 192, 659, 755, 1012, 470, 676, 1015, 466, 969, + 192, 950, 945, 963, 966, 953, 979, 951, 1163, 416, + 977, 986, 81, 482, 520, 962, 954, 956, 959, 1014, + 192, 957, 193, 485, 1012, 1017, 192, 192, 1169, 492, + 192, 195, 1012, 193, 1012, 1015, 193, 1015, 1015, 192, + 993, 976, 502, 974, 1003, 997, 512, 972, 712, 725, + 675, 670, 1007, 517, 1184, 1205, 1225, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1163, + 537, 539, -1, -1, -1, 1169, -1, 1163, -1, -1, + 543, 1163, -1, 1169, -1, 1163, -1, -1, -1, -1, + 1184, 1169, -1, -1, -1, -1, -1, -1, 1184, -1, + 1125, 1163, -1, 1163, -1, -1, 1184, -1, -1, 1163, + -1, -1, -1, 1163, 1163, -1, 1163, 1163, -1, 1163, + -1, -1, -1, -1, -1, 1169, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1163, -1, -1, -1, -1, + -1, 1169, -1, -1, -1, -1, -1, 1163, 1163, -1, + 1163, 1163, 1163, 1163, 1163, -1, 1184, -1, -1, -1, + -1, -1, -1, -1, 1163, -1, 1163, 1163, -1, 1163, + -1, -1, -1, 1163, -1, 1163, -1, -1, -1, 1163 }; const unsigned short Dhcp6Parser::yystos_[] = { - 0, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 0, 5, 7, 9, 189, 190, 191, 192, - 210, 211, 212, 217, 7, 226, 7, 232, 7, 268, - 7, 367, 7, 444, 7, 460, 7, 477, 7, 396, - 7, 402, 7, 426, 7, 343, 7, 538, 7, 584, - 7, 575, 218, 213, 227, 233, 269, 368, 445, 461, - 478, 397, 403, 427, 344, 539, 585, 576, 210, 219, - 220, 189, 215, 216, 10, 161, 171, 172, 173, 189, - 225, 228, 229, 230, 567, 569, 571, 582, 11, 12, + 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 0, 5, 7, 9, 192, 193, 194, 195, + 213, 214, 215, 220, 7, 229, 7, 235, 7, 271, + 7, 370, 7, 447, 7, 463, 7, 480, 7, 399, + 7, 405, 7, 429, 7, 346, 7, 549, 7, 595, + 7, 586, 221, 216, 230, 236, 272, 371, 448, 464, + 481, 400, 406, 430, 347, 550, 596, 587, 213, 222, + 223, 192, 218, 219, 10, 164, 174, 175, 176, 192, + 228, 231, 232, 233, 578, 580, 582, 593, 11, 12, 15, 18, 19, 20, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 83, 84, 90, 95, 96, 97, 98, 99, 101, 106, 115, 118, 125, 133, - 134, 137, 138, 159, 160, 162, 225, 234, 235, 236, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 256, 258, 260, 262, - 264, 266, 275, 277, 279, 317, 323, 329, 335, 337, - 351, 361, 381, 386, 394, 420, 450, 452, 471, 501, - 513, 525, 526, 534, 536, 573, 588, 16, 17, 225, - 270, 271, 272, 274, 450, 452, 75, 77, 85, 86, - 87, 88, 89, 102, 105, 113, 225, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 250, 251, - 252, 253, 256, 258, 260, 262, 369, 370, 371, 373, - 375, 377, 379, 381, 384, 385, 420, 438, 450, 452, - 454, 471, 496, 76, 225, 377, 379, 420, 446, 447, - 448, 450, 452, 78, 79, 80, 81, 82, 225, 377, - 379, 420, 450, 452, 462, 463, 464, 466, 467, 469, - 470, 101, 107, 108, 109, 110, 111, 112, 225, 420, - 450, 452, 479, 480, 481, 482, 484, 486, 488, 490, - 492, 494, 394, 21, 66, 68, 69, 72, 73, 74, - 225, 297, 404, 405, 406, 407, 408, 409, 410, 412, - 414, 416, 417, 419, 450, 452, 67, 70, 71, 225, - 297, 408, 414, 428, 429, 430, 431, 432, 434, 435, - 436, 437, 450, 452, 116, 117, 225, 345, 346, 347, - 349, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 159, 160, 225, 450, 452, 540, - 541, 542, 543, 545, 547, 548, 550, 551, 552, 555, - 557, 558, 559, 561, 563, 565, 586, 587, 588, 13, - 14, 577, 578, 579, 581, 6, 3, 4, 8, 3, - 231, 583, 568, 570, 572, 4, 3, 8, 237, 574, - 267, 276, 278, 280, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 265, 4, 4, 4, - 254, 257, 259, 362, 395, 421, 451, 453, 382, 387, - 324, 336, 330, 318, 502, 472, 338, 352, 514, 4, - 527, 535, 537, 261, 263, 589, 3, 8, 273, 4, - 3, 8, 439, 455, 372, 374, 376, 4, 4, 380, - 378, 497, 3, 8, 449, 3, 8, 465, 4, 468, - 4, 4, 3, 8, 495, 483, 485, 487, 489, 491, - 493, 8, 3, 8, 411, 298, 4, 415, 413, 418, - 4, 8, 3, 433, 4, 4, 8, 3, 348, 350, - 3, 8, 4, 544, 546, 4, 549, 4, 4, 553, - 556, 4, 4, 560, 562, 564, 566, 3, 8, 3, - 8, 580, 4, 3, 8, 210, 210, 189, 4, 4, - 4, 4, 4, 229, 4, 4, 4, 4, 4, 4, - 190, 190, 190, 190, 190, 190, 190, 190, 192, 191, - 191, 190, 4, 192, 192, 192, 4, 4, 4, 4, + 134, 137, 141, 162, 163, 165, 228, 237, 238, 239, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 259, 261, 263, 265, + 267, 269, 278, 280, 282, 320, 326, 332, 338, 340, + 354, 364, 384, 389, 397, 423, 453, 455, 474, 504, + 516, 528, 529, 537, 547, 584, 599, 16, 17, 228, + 273, 274, 275, 277, 453, 455, 75, 77, 85, 86, + 87, 88, 89, 102, 105, 113, 228, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 253, 254, + 255, 256, 259, 261, 263, 265, 372, 373, 374, 376, + 378, 380, 382, 384, 387, 388, 423, 441, 453, 455, + 457, 474, 499, 76, 228, 380, 382, 423, 449, 450, + 451, 453, 455, 78, 79, 80, 81, 82, 228, 380, + 382, 423, 453, 455, 465, 466, 467, 469, 470, 472, + 473, 101, 107, 108, 109, 110, 111, 112, 228, 423, + 453, 455, 482, 483, 484, 485, 487, 489, 491, 493, + 495, 497, 397, 21, 66, 68, 69, 72, 73, 74, + 228, 300, 407, 408, 409, 410, 411, 412, 413, 415, + 417, 419, 420, 422, 453, 455, 67, 70, 71, 228, + 300, 411, 417, 431, 432, 433, 434, 435, 437, 438, + 439, 440, 453, 455, 116, 117, 228, 348, 349, 350, + 352, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 162, 163, 228, 453, 455, 551, + 552, 553, 554, 556, 558, 559, 561, 562, 563, 566, + 568, 569, 570, 572, 574, 576, 597, 598, 599, 13, + 14, 588, 589, 590, 592, 6, 3, 4, 8, 3, + 234, 594, 579, 581, 583, 4, 3, 8, 240, 585, + 270, 279, 281, 283, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 268, 4, 4, 4, + 257, 260, 262, 365, 398, 424, 454, 456, 385, 390, + 327, 339, 333, 321, 505, 475, 341, 355, 517, 4, + 530, 538, 548, 264, 266, 600, 3, 8, 276, 4, + 3, 8, 442, 458, 375, 377, 379, 4, 4, 383, + 381, 500, 3, 8, 452, 3, 8, 468, 4, 471, + 4, 4, 3, 8, 498, 486, 488, 490, 492, 494, + 496, 8, 3, 8, 414, 301, 4, 418, 416, 421, + 4, 8, 3, 436, 4, 4, 8, 3, 351, 353, + 3, 8, 4, 555, 557, 4, 560, 4, 4, 564, + 567, 4, 4, 571, 573, 575, 577, 3, 8, 3, + 8, 591, 4, 3, 8, 213, 213, 192, 4, 4, + 4, 4, 4, 232, 4, 4, 4, 4, 4, 4, + 193, 193, 193, 193, 193, 193, 193, 193, 195, 194, + 194, 193, 4, 195, 195, 195, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 190, 4, 4, 4, 4, - 4, 4, 235, 4, 192, 271, 4, 4, 4, 4, - 4, 190, 192, 4, 4, 4, 370, 4, 447, 4, - 190, 4, 190, 190, 463, 4, 4, 4, 4, 4, - 4, 4, 481, 4, 4, 190, 4, 4, 4, 192, - 406, 4, 192, 192, 430, 4, 4, 346, 192, 4, - 4, 190, 4, 190, 190, 4, 4, 192, 192, 4, - 4, 4, 4, 541, 587, 4, 190, 578, 4, 7, - 7, 210, 210, 210, 189, 7, 7, 7, 7, 5, - 189, 155, 156, 157, 158, 192, 255, 189, 189, 5, - 5, 5, 212, 214, 189, 91, 92, 93, 94, 383, + 4, 4, 4, 4, 4, 193, 4, 4, 4, 4, + 4, 4, 238, 4, 195, 274, 4, 4, 4, 4, + 4, 193, 195, 4, 4, 4, 373, 4, 450, 4, + 193, 4, 193, 193, 466, 4, 4, 4, 4, 4, + 4, 4, 484, 4, 4, 193, 4, 4, 4, 195, + 409, 4, 195, 195, 433, 4, 4, 349, 195, 4, + 4, 193, 4, 193, 193, 4, 4, 195, 195, 4, + 4, 4, 4, 552, 598, 4, 193, 589, 4, 7, + 7, 213, 213, 213, 192, 7, 7, 7, 7, 5, + 192, 158, 159, 160, 161, 195, 258, 192, 192, 5, + 5, 5, 215, 217, 192, 91, 92, 93, 94, 386, 5, 5, 5, 5, 7, 5, 5, 5, 7, 7, - 7, 214, 7, 189, 189, 5, 5, 221, 5, 5, - 189, 189, 189, 221, 189, 7, 189, 189, 189, 221, - 221, 221, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 210, 189, 189, 189, 152, 153, 554, - 154, 255, 189, 189, 189, 5, 210, 234, 586, 577, - 270, 21, 26, 27, 28, 29, 30, 31, 32, 33, + 7, 7, 7, 192, 192, 5, 5, 224, 5, 5, + 192, 192, 192, 224, 192, 7, 192, 192, 192, 224, + 224, 224, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 213, 192, 192, 192, 155, 156, 565, + 157, 258, 192, 192, 192, 5, 213, 237, 597, 588, + 273, 21, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 225, 285, 286, 287, 290, 292, 294, 296, 297, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 310, - 311, 313, 315, 285, 7, 281, 282, 283, 7, 363, - 364, 365, 7, 398, 399, 400, 7, 422, 423, 424, - 7, 388, 389, 390, 109, 189, 325, 326, 327, 328, - 219, 110, 112, 327, 331, 332, 333, 334, 100, 319, - 320, 321, 7, 503, 504, 7, 473, 474, 475, 7, - 339, 340, 341, 119, 120, 121, 122, 123, 124, 353, - 354, 355, 356, 357, 358, 359, 360, 21, 129, 130, - 131, 132, 225, 299, 450, 452, 515, 516, 517, 520, - 521, 523, 524, 135, 136, 225, 450, 452, 528, 529, - 530, 532, 540, 7, 590, 591, 222, 7, 440, 441, - 442, 7, 456, 457, 458, 114, 482, 498, 499, 281, - 8, 8, 8, 8, 288, 291, 293, 295, 4, 4, - 4, 4, 4, 309, 4, 4, 312, 314, 316, 4, - 4, 4, 4, 3, 8, 8, 284, 6, 3, 366, - 6, 3, 401, 6, 3, 425, 6, 3, 391, 6, - 3, 3, 6, 6, 3, 6, 322, 3, 8, 505, - 3, 6, 476, 6, 3, 342, 6, 3, 4, 4, - 4, 4, 4, 4, 3, 8, 518, 522, 4, 4, - 4, 3, 8, 531, 533, 3, 8, 8, 592, 3, - 6, 189, 223, 224, 443, 6, 3, 459, 6, 3, - 500, 8, 6, 4, 4, 4, 4, 190, 192, 190, - 192, 190, 4, 190, 190, 4, 4, 4, 190, 190, - 192, 190, 286, 285, 283, 369, 365, 404, 400, 428, - 424, 225, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 250, 251, 252, 253, 256, 258, 260, - 262, 297, 361, 373, 375, 377, 379, 381, 385, 392, - 393, 420, 450, 452, 496, 390, 326, 332, 4, 320, - 103, 104, 225, 297, 420, 450, 452, 506, 507, 508, - 509, 510, 512, 504, 479, 475, 345, 341, 190, 190, - 190, 190, 190, 190, 354, 4, 4, 190, 190, 190, - 516, 4, 4, 529, 163, 165, 166, 225, 297, 450, - 452, 593, 594, 595, 596, 598, 591, 6, 3, 446, - 442, 462, 458, 4, 22, 23, 24, 25, 289, 189, - 189, 189, 189, 189, 189, 189, 8, 8, 8, 8, - 3, 8, 189, 511, 4, 8, 3, 8, 8, 126, - 127, 128, 519, 189, 189, 189, 599, 4, 597, 3, - 8, 189, 8, 8, 189, 393, 4, 192, 508, 4, - 190, 4, 594, 189, 5, 189, 7, 600, 601, 602, - 3, 6, 164, 167, 168, 169, 170, 603, 604, 605, - 607, 608, 609, 610, 601, 606, 4, 4, 4, 611, - 3, 8, 4, 192, 190, 190, 4, 604, 189, 189 + 228, 288, 289, 290, 293, 295, 297, 299, 300, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 313, + 314, 316, 318, 288, 7, 284, 285, 286, 7, 366, + 367, 368, 7, 401, 402, 403, 7, 425, 426, 427, + 7, 391, 392, 393, 109, 192, 328, 329, 330, 331, + 222, 110, 112, 330, 334, 335, 336, 337, 100, 322, + 323, 324, 7, 506, 507, 7, 476, 477, 478, 7, + 342, 343, 344, 119, 120, 121, 122, 123, 124, 356, + 357, 358, 359, 360, 361, 362, 363, 21, 129, 130, + 131, 132, 228, 302, 453, 455, 518, 519, 520, 523, + 524, 526, 527, 135, 136, 228, 453, 455, 531, 532, + 533, 535, 138, 139, 140, 192, 453, 455, 539, 540, + 541, 542, 544, 545, 551, 7, 601, 602, 225, 7, + 443, 444, 445, 7, 459, 460, 461, 114, 485, 501, + 502, 284, 8, 8, 8, 8, 291, 294, 296, 298, + 4, 4, 4, 4, 4, 312, 4, 4, 315, 317, + 319, 4, 4, 4, 4, 3, 8, 8, 287, 6, + 3, 369, 6, 3, 404, 6, 3, 428, 6, 3, + 394, 6, 3, 3, 6, 6, 3, 6, 325, 3, + 8, 508, 3, 6, 479, 6, 3, 345, 6, 3, + 4, 4, 4, 4, 4, 4, 3, 8, 521, 525, + 4, 4, 4, 3, 8, 534, 536, 3, 8, 4, + 543, 4, 546, 3, 8, 8, 603, 3, 6, 192, + 226, 227, 446, 6, 3, 462, 6, 3, 503, 8, + 6, 4, 4, 4, 4, 193, 195, 193, 195, 193, + 4, 193, 193, 4, 4, 4, 193, 193, 195, 193, + 289, 288, 286, 372, 368, 407, 403, 431, 427, 228, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 253, 254, 255, 256, 259, 261, 263, 265, 300, + 364, 376, 378, 380, 382, 384, 388, 395, 396, 423, + 453, 455, 499, 393, 329, 335, 4, 323, 103, 104, + 228, 300, 423, 453, 455, 509, 510, 511, 512, 513, + 515, 507, 482, 478, 348, 344, 193, 193, 193, 193, + 193, 193, 357, 4, 4, 193, 193, 193, 519, 4, + 4, 532, 195, 4, 193, 4, 540, 166, 168, 169, + 228, 300, 453, 455, 604, 605, 606, 607, 609, 602, + 6, 3, 449, 445, 465, 461, 4, 22, 23, 24, + 25, 292, 192, 192, 192, 192, 192, 192, 192, 8, + 8, 8, 8, 3, 8, 192, 514, 4, 8, 3, + 8, 8, 126, 127, 128, 522, 192, 192, 192, 192, + 213, 610, 4, 608, 3, 8, 192, 8, 8, 192, + 396, 4, 195, 511, 4, 193, 4, 605, 192, 5, + 192, 7, 611, 612, 613, 3, 6, 167, 170, 171, + 172, 173, 614, 615, 616, 618, 619, 620, 621, 612, + 617, 4, 4, 4, 622, 3, 8, 4, 195, 193, + 193, 4, 615, 192, 192 }; const unsigned short Dhcp6Parser::yyr1_[] = { - 0, 193, 195, 194, 196, 194, 197, 194, 198, 194, - 199, 194, 200, 194, 201, 194, 202, 194, 203, 194, - 204, 194, 205, 194, 206, 194, 207, 194, 208, 194, - 209, 194, 210, 210, 210, 210, 210, 210, 210, 211, - 213, 212, 214, 215, 215, 216, 216, 218, 217, 219, - 219, 220, 220, 222, 221, 223, 223, 224, 224, 225, - 227, 226, 228, 228, 229, 229, 229, 229, 229, 229, - 231, 230, 233, 232, 234, 234, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 237, 236, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 254, 253, 255, 255, 255, 255, 255, 257, - 256, 259, 258, 261, 260, 263, 262, 265, 264, 267, - 266, 269, 268, 270, 270, 271, 271, 271, 271, 271, - 273, 272, 274, 276, 275, 278, 277, 280, 279, 281, - 281, 282, 282, 284, 283, 285, 285, 286, 286, 286, - 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, - 286, 286, 286, 286, 286, 286, 286, 286, 288, 287, - 289, 289, 289, 289, 291, 290, 293, 292, 295, 294, - 296, 298, 297, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 309, 308, 310, 312, 311, 314, 313, 316, - 315, 318, 317, 319, 319, 320, 322, 321, 324, 323, - 325, 325, 326, 326, 327, 328, 330, 329, 331, 331, - 332, 332, 332, 333, 334, 336, 335, 338, 337, 339, - 339, 340, 340, 342, 341, 344, 343, 345, 345, 345, - 346, 346, 348, 347, 350, 349, 352, 351, 353, 353, - 354, 354, 354, 354, 354, 354, 355, 356, 357, 358, - 359, 360, 362, 361, 363, 363, 364, 364, 366, 365, - 368, 367, 369, 369, 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, 372, - 371, 374, 373, 376, 375, 378, 377, 380, 379, 382, - 381, 383, 383, 383, 383, 384, 385, 387, 386, 388, - 388, 389, 389, 391, 390, 392, 392, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 393, 393, 395, - 394, 397, 396, 398, 398, 399, 399, 401, 400, 403, - 402, 404, 404, 405, 405, 406, 406, 406, 406, 406, - 406, 406, 406, 406, 406, 407, 408, 409, 411, 410, - 413, 412, 415, 414, 416, 418, 417, 419, 421, 420, - 422, 422, 423, 423, 425, 424, 427, 426, 428, 428, - 429, 429, 430, 430, 430, 430, 430, 430, 430, 430, - 430, 431, 433, 432, 434, 435, 436, 437, 439, 438, - 440, 440, 441, 441, 443, 442, 445, 444, 446, 446, - 447, 447, 447, 447, 447, 447, 447, 449, 448, 451, - 450, 453, 452, 455, 454, 456, 456, 457, 457, 459, - 458, 461, 460, 462, 462, 463, 463, 463, 463, 463, - 463, 463, 463, 463, 463, 463, 465, 464, 466, 468, - 467, 469, 470, 472, 471, 473, 473, 474, 474, 476, - 475, 478, 477, 479, 479, 480, 480, 481, 481, 481, - 481, 481, 481, 481, 481, 481, 481, 481, 483, 482, - 485, 484, 487, 486, 489, 488, 491, 490, 493, 492, - 495, 494, 497, 496, 498, 498, 500, 499, 502, 501, - 503, 503, 505, 504, 506, 506, 507, 507, 508, 508, - 508, 508, 508, 508, 508, 509, 511, 510, 512, 514, - 513, 515, 515, 516, 516, 516, 516, 516, 516, 516, - 516, 516, 518, 517, 519, 519, 519, 520, 522, 521, - 523, 524, 525, 527, 526, 528, 528, 529, 529, 529, - 529, 529, 531, 530, 533, 532, 535, 534, 537, 536, - 539, 538, 540, 540, 541, 541, 541, 541, 541, 541, - 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, - 541, 541, 542, 544, 543, 546, 545, 547, 549, 548, - 550, 551, 553, 552, 554, 554, 556, 555, 557, 558, - 560, 559, 562, 561, 564, 563, 566, 565, 568, 567, - 570, 569, 572, 571, 574, 573, 576, 575, 577, 577, - 578, 578, 580, 579, 581, 583, 582, 585, 584, 586, - 586, 587, 589, 588, 590, 590, 592, 591, 593, 593, - 594, 594, 594, 594, 594, 594, 594, 595, 597, 596, - 599, 598, 600, 600, 602, 601, 603, 603, 604, 604, - 604, 604, 604, 606, 605, 607, 608, 609, 611, 610 + 0, 196, 198, 197, 199, 197, 200, 197, 201, 197, + 202, 197, 203, 197, 204, 197, 205, 197, 206, 197, + 207, 197, 208, 197, 209, 197, 210, 197, 211, 197, + 212, 197, 213, 213, 213, 213, 213, 213, 213, 214, + 216, 215, 217, 218, 218, 219, 219, 221, 220, 222, + 222, 223, 223, 225, 224, 226, 226, 227, 227, 228, + 230, 229, 231, 231, 232, 232, 232, 232, 232, 232, + 234, 233, 236, 235, 237, 237, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 240, 239, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 257, 256, 258, 258, 258, 258, 258, 260, + 259, 262, 261, 264, 263, 266, 265, 268, 267, 270, + 269, 272, 271, 273, 273, 274, 274, 274, 274, 274, + 276, 275, 277, 279, 278, 281, 280, 283, 282, 284, + 284, 285, 285, 287, 286, 288, 288, 289, 289, 289, + 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, + 289, 289, 289, 289, 289, 289, 289, 289, 291, 290, + 292, 292, 292, 292, 294, 293, 296, 295, 298, 297, + 299, 301, 300, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 312, 311, 313, 315, 314, 317, 316, 319, + 318, 321, 320, 322, 322, 323, 325, 324, 327, 326, + 328, 328, 329, 329, 330, 331, 333, 332, 334, 334, + 335, 335, 335, 336, 337, 339, 338, 341, 340, 342, + 342, 343, 343, 345, 344, 347, 346, 348, 348, 348, + 349, 349, 351, 350, 353, 352, 355, 354, 356, 356, + 357, 357, 357, 357, 357, 357, 358, 359, 360, 361, + 362, 363, 365, 364, 366, 366, 367, 367, 369, 368, + 371, 370, 372, 372, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 375, + 374, 377, 376, 379, 378, 381, 380, 383, 382, 385, + 384, 386, 386, 386, 386, 387, 388, 390, 389, 391, + 391, 392, 392, 394, 393, 395, 395, 396, 396, 396, + 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, + 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, + 396, 396, 396, 396, 396, 396, 396, 396, 396, 398, + 397, 400, 399, 401, 401, 402, 402, 404, 403, 406, + 405, 407, 407, 408, 408, 409, 409, 409, 409, 409, + 409, 409, 409, 409, 409, 410, 411, 412, 414, 413, + 416, 415, 418, 417, 419, 421, 420, 422, 424, 423, + 425, 425, 426, 426, 428, 427, 430, 429, 431, 431, + 432, 432, 433, 433, 433, 433, 433, 433, 433, 433, + 433, 434, 436, 435, 437, 438, 439, 440, 442, 441, + 443, 443, 444, 444, 446, 445, 448, 447, 449, 449, + 450, 450, 450, 450, 450, 450, 450, 452, 451, 454, + 453, 456, 455, 458, 457, 459, 459, 460, 460, 462, + 461, 464, 463, 465, 465, 466, 466, 466, 466, 466, + 466, 466, 466, 466, 466, 466, 468, 467, 469, 471, + 470, 472, 473, 475, 474, 476, 476, 477, 477, 479, + 478, 481, 480, 482, 482, 483, 483, 484, 484, 484, + 484, 484, 484, 484, 484, 484, 484, 484, 486, 485, + 488, 487, 490, 489, 492, 491, 494, 493, 496, 495, + 498, 497, 500, 499, 501, 501, 503, 502, 505, 504, + 506, 506, 508, 507, 509, 509, 510, 510, 511, 511, + 511, 511, 511, 511, 511, 512, 514, 513, 515, 517, + 516, 518, 518, 519, 519, 519, 519, 519, 519, 519, + 519, 519, 521, 520, 522, 522, 522, 523, 525, 524, + 526, 527, 528, 530, 529, 531, 531, 532, 532, 532, + 532, 532, 534, 533, 536, 535, 538, 537, 539, 539, + 540, 540, 540, 540, 540, 540, 541, 543, 542, 544, + 546, 545, 548, 547, 550, 549, 551, 551, 552, 552, + 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, + 552, 552, 552, 552, 552, 552, 553, 555, 554, 557, + 556, 558, 560, 559, 561, 562, 564, 563, 565, 565, + 567, 566, 568, 569, 571, 570, 573, 572, 575, 574, + 577, 576, 579, 578, 581, 580, 583, 582, 585, 584, + 587, 586, 588, 588, 589, 589, 591, 590, 592, 594, + 593, 596, 595, 597, 597, 598, 600, 599, 601, 601, + 603, 602, 604, 604, 605, 605, 605, 605, 605, 605, + 605, 606, 608, 607, 610, 609, 611, 611, 613, 612, + 614, 614, 615, 615, 615, 615, 615, 617, 616, 618, + 619, 620, 622, 621 }; const unsigned char @@ -5157,18 +5199,20 @@ namespace isc { namespace dhcp { 6, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 1, 1, 1, 3, 0, 4, 3, 3, 3, 0, 6, 1, 3, 1, 1, 1, - 1, 1, 0, 4, 0, 4, 0, 4, 0, 6, - 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 4, 0, 4, 0, 6, 1, 3, + 1, 1, 1, 1, 1, 1, 3, 0, 4, 3, + 0, 4, 0, 6, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 0, 4, 0, 4, 3, 0, 4, - 3, 3, 0, 4, 1, 1, 0, 4, 3, 3, - 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 4, 0, 4, 0, 6, 0, 4, 1, 3, - 1, 1, 0, 6, 3, 0, 6, 0, 4, 1, - 3, 1, 0, 6, 1, 3, 0, 4, 1, 3, - 1, 1, 1, 1, 1, 1, 1, 3, 0, 4, - 0, 6, 1, 3, 0, 4, 1, 3, 1, 1, - 1, 1, 1, 0, 4, 3, 3, 3, 0, 4 + 1, 1, 1, 1, 1, 1, 3, 0, 4, 0, + 4, 3, 0, 4, 3, 3, 0, 4, 1, 1, + 0, 4, 3, 3, 0, 4, 0, 4, 0, 4, + 0, 4, 0, 4, 0, 4, 0, 4, 0, 6, + 0, 4, 1, 3, 1, 1, 0, 6, 3, 0, + 6, 0, 4, 1, 3, 1, 0, 6, 1, 3, + 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, + 1, 3, 0, 4, 0, 6, 1, 3, 0, 4, + 1, 3, 1, 1, 1, 1, 1, 0, 4, 3, + 3, 3, 0, 4 }; @@ -5218,26 +5262,27 @@ namespace isc { namespace dhcp { "\"unwarned-reclaim-cycles\"", "\"server-id\"", "\"LLT\"", "\"EN\"", "\"LL\"", "\"identifier\"", "\"htype\"", "\"time\"", "\"enterprise-id\"", "\"dhcp4o6-port\"", "\"control-socket\"", "\"socket-type\"", - "\"socket-name\"", "\"dhcp-queue-control\"", "\"dhcp-ddns\"", - "\"enable-updates\"", "\"qualifying-suffix\"", "\"server-ip\"", - "\"server-port\"", "\"sender-ip\"", "\"sender-port\"", - "\"max-queue-size\"", "\"ncr-protocol\"", "\"ncr-format\"", - "\"override-no-update\"", "\"override-client-update\"", - "\"replace-client-name\"", "\"generated-prefix\"", "\"UDP\"", "\"TCP\"", - "\"JSON\"", "\"when-present\"", "\"never\"", "\"always\"", - "\"when-not-present\"", "\"hostname-char-set\"", - "\"hostname-char-replacement\"", "\"Logging\"", "\"loggers\"", - "\"output_options\"", "\"output\"", "\"debuglevel\"", "\"severity\"", - "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"", "\"Dhcp4\"", - "\"DhcpDdns\"", "\"Control-agent\"", "TOPLEVEL_JSON", "TOPLEVEL_DHCP6", - "SUB_DHCP6", "SUB_INTERFACES6", "SUB_SUBNET6", "SUB_POOL6", - "SUB_PD_POOL", "SUB_RESERVATION", "SUB_OPTION_DEFS", "SUB_OPTION_DEF", - "SUB_OPTION_DATA", "SUB_HOOKS_LIBRARY", "SUB_DHCP_DDNS", "SUB_LOGGING", - "SUB_CONFIG_CONTROL", "\"constant string\"", "\"integer\"", - "\"floating point\"", "\"boolean\"", "$accept", "start", "$@1", "$@2", - "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "$@12", - "$@13", "$@14", "$@15", "value", "sub_json", "map2", "$@16", "map_value", - "map_content", "not_empty_map", "list_generic", "$@17", "list_content", + "\"socket-name\"", "\"dhcp-queue-control\"", "\"enable-queue\"", + "\"queue-type\"", "\"capacity\"", "\"dhcp-ddns\"", "\"enable-updates\"", + "\"qualifying-suffix\"", "\"server-ip\"", "\"server-port\"", + "\"sender-ip\"", "\"sender-port\"", "\"max-queue-size\"", + "\"ncr-protocol\"", "\"ncr-format\"", "\"override-no-update\"", + "\"override-client-update\"", "\"replace-client-name\"", + "\"generated-prefix\"", "\"UDP\"", "\"TCP\"", "\"JSON\"", + "\"when-present\"", "\"never\"", "\"always\"", "\"when-not-present\"", + "\"hostname-char-set\"", "\"hostname-char-replacement\"", "\"Logging\"", + "\"loggers\"", "\"output_options\"", "\"output\"", "\"debuglevel\"", + "\"severity\"", "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"", + "\"Dhcp4\"", "\"DhcpDdns\"", "\"Control-agent\"", "TOPLEVEL_JSON", + "TOPLEVEL_DHCP6", "SUB_DHCP6", "SUB_INTERFACES6", "SUB_SUBNET6", + "SUB_POOL6", "SUB_PD_POOL", "SUB_RESERVATION", "SUB_OPTION_DEFS", + "SUB_OPTION_DEF", "SUB_OPTION_DATA", "SUB_HOOKS_LIBRARY", + "SUB_DHCP_DDNS", "SUB_LOGGING", "SUB_CONFIG_CONTROL", + "\"constant string\"", "\"integer\"", "\"floating point\"", + "\"boolean\"", "$accept", "start", "$@1", "$@2", "$@3", "$@4", "$@5", + "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "$@12", "$@13", "$@14", + "$@15", "value", "sub_json", "map2", "$@16", "map_value", "map_content", + "not_empty_map", "list_generic", "$@17", "list_content", "not_empty_list", "list_strings", "$@18", "list_strings_content", "not_empty_list_strings", "unknown_map_entry", "syntax_map", "$@19", "global_objects", "global_object", "dhcp6_object", "$@20", "sub_dhcp6", @@ -5315,106 +5360,110 @@ namespace isc { namespace dhcp { "server_id_type", "$@106", "duid_type", "htype", "identifier", "$@107", "time", "enterprise_id", "dhcp4o6_port", "control_socket", "$@108", "control_socket_params", "control_socket_param", "socket_type", "$@109", - "socket_name", "$@110", "dhcp_queue_control", "$@111", "dhcp_ddns", - "$@112", "sub_dhcp_ddns", "$@113", "dhcp_ddns_params", "dhcp_ddns_param", - "enable_updates", "qualifying_suffix", "$@114", "server_ip", "$@115", - "server_port", "sender_ip", "$@116", "sender_port", "max_queue_size", - "ncr_protocol", "$@117", "ncr_protocol_value", "ncr_format", "$@118", - "dep_override_no_update", "dep_override_client_update", - "dep_replace_client_name", "$@119", "dep_generated_prefix", "$@120", - "dep_hostname_char_set", "$@121", "dep_hostname_char_replacement", - "$@122", "dhcp4_json_object", "$@123", "dhcpddns_json_object", "$@124", - "control_agent_json_object", "$@125", "config_control", "$@126", - "sub_config_control", "$@127", "config_control_params", - "config_control_param", "config_databases", "$@128", - "config_fetch_wait_time", "logging_object", "$@129", "sub_logging", - "$@130", "logging_params", "logging_param", "loggers", "$@131", - "loggers_entries", "logger_entry", "$@132", "logger_params", - "logger_param", "debuglevel", "severity", "$@133", "output_options_list", - "$@134", "output_options_list_content", "output_entry", "$@135", - "output_params_list", "output_params", "output", "$@136", "flush", - "maxsize", "maxver", "pattern", "$@137", YY_NULLPTR + "socket_name", "$@110", "dhcp_queue_control", "$@111", + "queue_control_params", "queue_control_param", "enable_queue", + "queue_type", "$@112", "capacity", "arbitrary_map_entry", "$@113", + "dhcp_ddns", "$@114", "sub_dhcp_ddns", "$@115", "dhcp_ddns_params", + "dhcp_ddns_param", "enable_updates", "qualifying_suffix", "$@116", + "server_ip", "$@117", "server_port", "sender_ip", "$@118", "sender_port", + "max_queue_size", "ncr_protocol", "$@119", "ncr_protocol_value", + "ncr_format", "$@120", "dep_override_no_update", + "dep_override_client_update", "dep_replace_client_name", "$@121", + "dep_generated_prefix", "$@122", "dep_hostname_char_set", "$@123", + "dep_hostname_char_replacement", "$@124", "dhcp4_json_object", "$@125", + "dhcpddns_json_object", "$@126", "control_agent_json_object", "$@127", + "config_control", "$@128", "sub_config_control", "$@129", + "config_control_params", "config_control_param", "config_databases", + "$@130", "config_fetch_wait_time", "logging_object", "$@131", + "sub_logging", "$@132", "logging_params", "logging_param", "loggers", + "$@133", "loggers_entries", "logger_entry", "$@134", "logger_params", + "logger_param", "debuglevel", "severity", "$@135", "output_options_list", + "$@136", "output_options_list_content", "output_entry", "$@137", + "output_params_list", "output_params", "output", "$@138", "flush", + "maxsize", "maxver", "pattern", "$@139", YY_NULLPTR }; #if PARSER6_DEBUG const unsigned short Dhcp6Parser::yyrline_[] = { - 0, 277, 277, 277, 278, 278, 279, 279, 280, 280, - 281, 281, 282, 282, 283, 283, 284, 284, 285, 285, - 286, 286, 287, 287, 288, 288, 289, 289, 290, 290, - 291, 291, 299, 300, 301, 302, 303, 304, 305, 308, - 313, 313, 324, 327, 328, 331, 335, 342, 342, 349, - 350, 353, 357, 364, 364, 371, 372, 375, 379, 390, - 400, 400, 415, 416, 420, 421, 422, 423, 424, 425, - 428, 428, 443, 443, 452, 453, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 506, 509, 509, 517, 522, 527, - 532, 537, 542, 547, 552, 557, 562, 567, 572, 577, - 582, 587, 592, 592, 600, 603, 606, 609, 612, 618, - 618, 626, 626, 634, 634, 642, 642, 650, 650, 658, - 658, 669, 669, 678, 679, 682, 683, 684, 685, 686, - 689, 689, 699, 705, 705, 717, 717, 729, 729, 739, - 740, 743, 744, 747, 747, 757, 758, 761, 762, 763, - 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, - 774, 775, 776, 777, 778, 779, 780, 781, 784, 784, - 791, 792, 793, 794, 797, 797, 805, 805, 813, 813, - 821, 826, 826, 834, 839, 844, 849, 854, 859, 864, - 869, 874, 879, 879, 887, 892, 892, 900, 900, 908, - 908, 916, 916, 926, 927, 929, 931, 931, 949, 949, - 959, 960, 963, 964, 967, 972, 977, 977, 987, 988, - 991, 992, 993, 996, 1001, 1008, 1008, 1018, 1018, 1028, - 1029, 1032, 1033, 1036, 1036, 1046, 1046, 1056, 1057, 1058, - 1061, 1062, 1065, 1065, 1073, 1073, 1081, 1081, 1092, 1093, - 1096, 1097, 1098, 1099, 1100, 1101, 1104, 1109, 1114, 1119, - 1124, 1129, 1137, 1137, 1150, 1151, 1154, 1155, 1162, 1162, - 1188, 1188, 1199, 1200, 1204, 1205, 1206, 1207, 1208, 1209, - 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, - 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, - 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1241, - 1241, 1249, 1249, 1257, 1257, 1265, 1265, 1273, 1273, 1283, - 1283, 1290, 1291, 1292, 1293, 1296, 1301, 1309, 1309, 1320, - 1321, 1325, 1326, 1329, 1329, 1337, 1338, 1341, 1342, 1343, - 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, - 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, - 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1379, - 1379, 1392, 1392, 1401, 1402, 1405, 1406, 1411, 1411, 1426, - 1426, 1440, 1441, 1444, 1445, 1448, 1449, 1450, 1451, 1452, - 1453, 1454, 1455, 1456, 1457, 1460, 1462, 1467, 1469, 1469, - 1477, 1477, 1485, 1485, 1493, 1495, 1495, 1503, 1512, 1512, - 1524, 1525, 1530, 1531, 1536, 1536, 1548, 1548, 1560, 1561, - 1566, 1567, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, - 1580, 1583, 1585, 1585, 1593, 1595, 1597, 1602, 1610, 1610, - 1622, 1623, 1626, 1627, 1630, 1630, 1640, 1640, 1649, 1650, - 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1662, 1662, 1670, - 1670, 1695, 1695, 1725, 1725, 1737, 1738, 1741, 1742, 1745, - 1745, 1757, 1757, 1769, 1770, 1773, 1774, 1775, 1776, 1777, - 1778, 1779, 1780, 1781, 1782, 1783, 1786, 1786, 1794, 1799, - 1799, 1807, 1812, 1820, 1820, 1830, 1831, 1834, 1835, 1838, - 1838, 1847, 1847, 1856, 1857, 1860, 1861, 1865, 1866, 1867, - 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1878, 1878, - 1888, 1888, 1898, 1898, 1906, 1906, 1914, 1914, 1922, 1922, - 1930, 1930, 1943, 1943, 1953, 1954, 1957, 1957, 1968, 1968, - 1978, 1979, 1982, 1982, 1992, 1993, 1996, 1997, 2000, 2001, - 2002, 2003, 2004, 2005, 2006, 2009, 2011, 2011, 2019, 2027, - 2027, 2039, 2040, 2043, 2044, 2045, 2046, 2047, 2048, 2049, - 2050, 2051, 2054, 2054, 2061, 2062, 2063, 2066, 2071, 2071, - 2079, 2084, 2091, 2098, 2098, 2108, 2109, 2112, 2113, 2114, - 2115, 2116, 2119, 2119, 2127, 2127, 2137, 2137, 2177, 2177, - 2189, 2189, 2199, 2200, 2203, 2204, 2205, 2206, 2207, 2208, - 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, - 2219, 2220, 2223, 2228, 2228, 2236, 2236, 2244, 2249, 2249, - 2257, 2262, 2267, 2267, 2275, 2276, 2279, 2279, 2288, 2294, - 2300, 2300, 2308, 2308, 2317, 2317, 2326, 2326, 2336, 2336, - 2343, 2343, 2350, 2350, 2359, 2359, 2370, 2370, 2380, 2381, - 2385, 2386, 2389, 2389, 2399, 2409, 2409, 2419, 2419, 2430, - 2431, 2435, 2439, 2439, 2451, 2452, 2456, 2456, 2464, 2465, - 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2477, 2482, 2482, - 2490, 2490, 2500, 2501, 2504, 2504, 2512, 2513, 2516, 2517, - 2518, 2519, 2520, 2523, 2523, 2531, 2536, 2541, 2546, 2546 + 0, 280, 280, 280, 281, 281, 282, 282, 283, 283, + 284, 284, 285, 285, 286, 286, 287, 287, 288, 288, + 289, 289, 290, 290, 291, 291, 292, 292, 293, 293, + 294, 294, 302, 303, 304, 305, 306, 307, 308, 311, + 316, 316, 327, 330, 331, 334, 338, 345, 345, 352, + 353, 356, 360, 367, 367, 374, 375, 378, 382, 393, + 403, 403, 418, 419, 423, 424, 425, 426, 427, 428, + 431, 431, 446, 446, 455, 456, 461, 462, 463, 464, + 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 512, 512, 520, 525, 530, + 535, 540, 545, 550, 555, 560, 565, 570, 575, 580, + 585, 590, 595, 595, 603, 606, 609, 612, 615, 621, + 621, 629, 629, 637, 637, 645, 645, 653, 653, 661, + 661, 672, 672, 681, 682, 685, 686, 687, 688, 689, + 692, 692, 702, 708, 708, 720, 720, 732, 732, 742, + 743, 746, 747, 750, 750, 760, 761, 764, 765, 766, + 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, + 777, 778, 779, 780, 781, 782, 783, 784, 787, 787, + 794, 795, 796, 797, 800, 800, 808, 808, 816, 816, + 824, 829, 829, 837, 842, 847, 852, 857, 862, 867, + 872, 877, 882, 882, 890, 895, 895, 903, 903, 911, + 911, 919, 919, 929, 930, 932, 934, 934, 952, 952, + 962, 963, 966, 967, 970, 975, 980, 980, 990, 991, + 994, 995, 996, 999, 1004, 1011, 1011, 1021, 1021, 1031, + 1032, 1035, 1036, 1039, 1039, 1049, 1049, 1059, 1060, 1061, + 1064, 1065, 1068, 1068, 1076, 1076, 1084, 1084, 1095, 1096, + 1099, 1100, 1101, 1102, 1103, 1104, 1107, 1112, 1117, 1122, + 1127, 1132, 1140, 1140, 1153, 1154, 1157, 1158, 1165, 1165, + 1191, 1191, 1202, 1203, 1207, 1208, 1209, 1210, 1211, 1212, + 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, + 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, + 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1244, + 1244, 1252, 1252, 1260, 1260, 1268, 1268, 1276, 1276, 1286, + 1286, 1293, 1294, 1295, 1296, 1299, 1304, 1312, 1312, 1323, + 1324, 1328, 1329, 1332, 1332, 1340, 1341, 1344, 1345, 1346, + 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, + 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, + 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1382, + 1382, 1395, 1395, 1404, 1405, 1408, 1409, 1414, 1414, 1429, + 1429, 1443, 1444, 1447, 1448, 1451, 1452, 1453, 1454, 1455, + 1456, 1457, 1458, 1459, 1460, 1463, 1465, 1470, 1472, 1472, + 1480, 1480, 1488, 1488, 1496, 1498, 1498, 1506, 1515, 1515, + 1527, 1528, 1533, 1534, 1539, 1539, 1551, 1551, 1563, 1564, + 1569, 1570, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, + 1583, 1586, 1588, 1588, 1596, 1598, 1600, 1605, 1613, 1613, + 1625, 1626, 1629, 1630, 1633, 1633, 1643, 1643, 1652, 1653, + 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1665, 1665, 1673, + 1673, 1698, 1698, 1728, 1728, 1740, 1741, 1744, 1745, 1748, + 1748, 1760, 1760, 1772, 1773, 1776, 1777, 1778, 1779, 1780, + 1781, 1782, 1783, 1784, 1785, 1786, 1789, 1789, 1797, 1802, + 1802, 1810, 1815, 1823, 1823, 1833, 1834, 1837, 1838, 1841, + 1841, 1850, 1850, 1859, 1860, 1863, 1864, 1868, 1869, 1870, + 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1881, 1881, + 1891, 1891, 1901, 1901, 1909, 1909, 1917, 1917, 1925, 1925, + 1933, 1933, 1946, 1946, 1956, 1957, 1960, 1960, 1971, 1971, + 1981, 1982, 1985, 1985, 1995, 1996, 1999, 2000, 2003, 2004, + 2005, 2006, 2007, 2008, 2009, 2012, 2014, 2014, 2022, 2030, + 2030, 2042, 2043, 2046, 2047, 2048, 2049, 2050, 2051, 2052, + 2053, 2054, 2057, 2057, 2064, 2065, 2066, 2069, 2074, 2074, + 2082, 2087, 2094, 2101, 2101, 2111, 2112, 2115, 2116, 2117, + 2118, 2119, 2122, 2122, 2130, 2130, 2140, 2140, 2152, 2153, + 2156, 2157, 2158, 2159, 2160, 2161, 2164, 2169, 2169, 2177, + 2182, 2182, 2191, 2191, 2203, 2203, 2213, 2214, 2217, 2218, + 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, + 2229, 2230, 2231, 2232, 2233, 2234, 2237, 2242, 2242, 2250, + 2250, 2258, 2263, 2263, 2271, 2276, 2281, 2281, 2289, 2290, + 2293, 2293, 2302, 2308, 2314, 2314, 2322, 2322, 2331, 2331, + 2340, 2340, 2350, 2350, 2357, 2357, 2364, 2364, 2373, 2373, + 2384, 2384, 2394, 2395, 2399, 2400, 2403, 2403, 2413, 2423, + 2423, 2433, 2433, 2444, 2445, 2449, 2453, 2453, 2465, 2466, + 2470, 2470, 2478, 2479, 2482, 2483, 2484, 2485, 2486, 2487, + 2488, 2491, 2496, 2496, 2504, 2504, 2514, 2515, 2518, 2518, + 2526, 2527, 2530, 2531, 2532, 2533, 2534, 2537, 2537, 2545, + 2550, 2555, 2560, 2560 }; // Print the state stack on the debug stream. @@ -5449,9 +5498,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 5453 "dhcp6_parser.cc" +#line 5502 "dhcp6_parser.cc" -#line 2554 "dhcp6_parser.yy" +#line 2568 "dhcp6_parser.yy" void diff --git a/src/bin/dhcp6/dhcp6_parser.h b/src/bin/dhcp6/dhcp6_parser.h index 0a5b59f08e..8ed94702ae 100644 --- a/src/bin/dhcp6/dhcp6_parser.h +++ b/src/bin/dhcp6/dhcp6_parser.h @@ -587,61 +587,64 @@ namespace isc { namespace dhcp { TOKEN_SOCKET_TYPE = 390, TOKEN_SOCKET_NAME = 391, TOKEN_DHCP_QUEUE_CONTROL = 392, - TOKEN_DHCP_DDNS = 393, - TOKEN_ENABLE_UPDATES = 394, - TOKEN_QUALIFYING_SUFFIX = 395, - TOKEN_SERVER_IP = 396, - TOKEN_SERVER_PORT = 397, - TOKEN_SENDER_IP = 398, - TOKEN_SENDER_PORT = 399, - TOKEN_MAX_QUEUE_SIZE = 400, - TOKEN_NCR_PROTOCOL = 401, - TOKEN_NCR_FORMAT = 402, - TOKEN_OVERRIDE_NO_UPDATE = 403, - TOKEN_OVERRIDE_CLIENT_UPDATE = 404, - TOKEN_REPLACE_CLIENT_NAME = 405, - TOKEN_GENERATED_PREFIX = 406, - TOKEN_UDP = 407, - TOKEN_TCP = 408, - TOKEN_JSON = 409, - TOKEN_WHEN_PRESENT = 410, - TOKEN_NEVER = 411, - TOKEN_ALWAYS = 412, - TOKEN_WHEN_NOT_PRESENT = 413, - TOKEN_HOSTNAME_CHAR_SET = 414, - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 415, - TOKEN_LOGGING = 416, - TOKEN_LOGGERS = 417, - TOKEN_OUTPUT_OPTIONS = 418, - TOKEN_OUTPUT = 419, - TOKEN_DEBUGLEVEL = 420, - TOKEN_SEVERITY = 421, - TOKEN_FLUSH = 422, - TOKEN_MAXSIZE = 423, - TOKEN_MAXVER = 424, - TOKEN_PATTERN = 425, - TOKEN_DHCP4 = 426, - TOKEN_DHCPDDNS = 427, - TOKEN_CONTROL_AGENT = 428, - TOKEN_TOPLEVEL_JSON = 429, - TOKEN_TOPLEVEL_DHCP6 = 430, - TOKEN_SUB_DHCP6 = 431, - TOKEN_SUB_INTERFACES6 = 432, - TOKEN_SUB_SUBNET6 = 433, - TOKEN_SUB_POOL6 = 434, - TOKEN_SUB_PD_POOL = 435, - TOKEN_SUB_RESERVATION = 436, - TOKEN_SUB_OPTION_DEFS = 437, - TOKEN_SUB_OPTION_DEF = 438, - TOKEN_SUB_OPTION_DATA = 439, - TOKEN_SUB_HOOKS_LIBRARY = 440, - TOKEN_SUB_DHCP_DDNS = 441, - TOKEN_SUB_LOGGING = 442, - TOKEN_SUB_CONFIG_CONTROL = 443, - TOKEN_STRING = 444, - TOKEN_INTEGER = 445, - TOKEN_FLOAT = 446, - TOKEN_BOOLEAN = 447 + TOKEN_ENABLE_QUEUE = 393, + TOKEN_QUEUE_TYPE = 394, + TOKEN_CAPACITY = 395, + TOKEN_DHCP_DDNS = 396, + TOKEN_ENABLE_UPDATES = 397, + TOKEN_QUALIFYING_SUFFIX = 398, + TOKEN_SERVER_IP = 399, + TOKEN_SERVER_PORT = 400, + TOKEN_SENDER_IP = 401, + TOKEN_SENDER_PORT = 402, + TOKEN_MAX_QUEUE_SIZE = 403, + TOKEN_NCR_PROTOCOL = 404, + TOKEN_NCR_FORMAT = 405, + TOKEN_OVERRIDE_NO_UPDATE = 406, + TOKEN_OVERRIDE_CLIENT_UPDATE = 407, + TOKEN_REPLACE_CLIENT_NAME = 408, + TOKEN_GENERATED_PREFIX = 409, + TOKEN_UDP = 410, + TOKEN_TCP = 411, + TOKEN_JSON = 412, + TOKEN_WHEN_PRESENT = 413, + TOKEN_NEVER = 414, + TOKEN_ALWAYS = 415, + TOKEN_WHEN_NOT_PRESENT = 416, + TOKEN_HOSTNAME_CHAR_SET = 417, + TOKEN_HOSTNAME_CHAR_REPLACEMENT = 418, + TOKEN_LOGGING = 419, + TOKEN_LOGGERS = 420, + TOKEN_OUTPUT_OPTIONS = 421, + TOKEN_OUTPUT = 422, + TOKEN_DEBUGLEVEL = 423, + TOKEN_SEVERITY = 424, + TOKEN_FLUSH = 425, + TOKEN_MAXSIZE = 426, + TOKEN_MAXVER = 427, + TOKEN_PATTERN = 428, + TOKEN_DHCP4 = 429, + TOKEN_DHCPDDNS = 430, + TOKEN_CONTROL_AGENT = 431, + TOKEN_TOPLEVEL_JSON = 432, + TOKEN_TOPLEVEL_DHCP6 = 433, + TOKEN_SUB_DHCP6 = 434, + TOKEN_SUB_INTERFACES6 = 435, + TOKEN_SUB_SUBNET6 = 436, + TOKEN_SUB_POOL6 = 437, + TOKEN_SUB_PD_POOL = 438, + TOKEN_SUB_RESERVATION = 439, + TOKEN_SUB_OPTION_DEFS = 440, + TOKEN_SUB_OPTION_DEF = 441, + TOKEN_SUB_OPTION_DATA = 442, + TOKEN_SUB_HOOKS_LIBRARY = 443, + TOKEN_SUB_DHCP_DDNS = 444, + TOKEN_SUB_LOGGING = 445, + TOKEN_SUB_CONFIG_CONTROL = 446, + TOKEN_STRING = 447, + TOKEN_INTEGER = 448, + TOKEN_FLOAT = 449, + TOKEN_BOOLEAN = 450 }; }; @@ -783,29 +786,29 @@ namespace isc { namespace dhcp { // Type destructor. switch (yytype) { - case 210: // value - case 214: // map_value - case 255: // ddns_replace_client_name_value - case 289: // db_type - case 383: // hr_mode - case 519: // duid_type - case 554: // ncr_protocol_value + case 213: // value + case 217: // map_value + case 258: // ddns_replace_client_name_value + case 292: // db_type + case 386: // hr_mode + case 522: // duid_type + case 565: // ncr_protocol_value value.template destroy< ElementPtr > (); break; - case 192: // "boolean" + case 195: // "boolean" value.template destroy< bool > (); break; - case 191: // "floating point" + case 194: // "floating point" value.template destroy< double > (); break; - case 190: // "integer" + case 193: // "integer" value.template destroy< int64_t > (); break; - case 189: // "constant string" + case 192: // "constant string" value.template destroy< std::string > (); break; @@ -888,13 +891,13 @@ switch (yytype) symbol_type (int tok, location_type l) : super_type(token_type (tok), std::move (l)) { - YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL); + YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL); } #else symbol_type (int tok, const location_type& l) : super_type(token_type (tok), l) { - YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL); + YYASSERT (tok == token::TOKEN_END || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_LOGGING || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_DHCPDDNS || tok == token::TOKEN_CONTROL_AGENT || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_LOGGING || tok == token::TOKEN_SUB_CONFIG_CONTROL); } #endif #if 201103L <= YY_CPLUSPLUS @@ -3029,6 +3032,51 @@ switch (yytype) #if 201103L <= YY_CPLUSPLUS static symbol_type + make_ENABLE_QUEUE (location_type l) + { + return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l)); + } +#else + static + symbol_type + make_ENABLE_QUEUE (const location_type& l) + { + return symbol_type (token::TOKEN_ENABLE_QUEUE, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_QUEUE_TYPE (location_type l) + { + return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l)); + } +#else + static + symbol_type + make_QUEUE_TYPE (const location_type& l) + { + return symbol_type (token::TOKEN_QUEUE_TYPE, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_CAPACITY (location_type l) + { + return symbol_type (token::TOKEN_CAPACITY, std::move (l)); + } +#else + static + symbol_type + make_CAPACITY (const location_type& l) + { + return symbol_type (token::TOKEN_CAPACITY, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type make_DHCP_DDNS (location_type l) { return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l)); @@ -4157,12 +4205,12 @@ switch (yytype) enum { yyeof_ = 0, - yylast_ = 1180, ///< Last index in yytable_. - yynnts_ = 419, ///< Number of nonterminal symbols. + yylast_ = 1199, ///< Last index in yytable_. + yynnts_ = 427, ///< Number of nonterminal symbols. yyfinal_ = 32, ///< Termination state number. yyterror_ = 1, yyerrcode_ = 256, - yyntokens_ = 193 ///< Number of tokens. + yyntokens_ = 196 ///< Number of tokens. }; @@ -4224,9 +4272,10 @@ switch (yytype) 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192 + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195 }; - const unsigned user_token_number_max_ = 447; + const unsigned user_token_number_max_ = 450; const token_number_type undef_token_ = 2; if (static_cast<int> (t) <= yyeof_) @@ -4247,29 +4296,29 @@ switch (yytype) { switch (this->type_get ()) { - case 210: // value - case 214: // map_value - case 255: // ddns_replace_client_name_value - case 289: // db_type - case 383: // hr_mode - case 519: // duid_type - case 554: // ncr_protocol_value + case 213: // value + case 217: // map_value + case 258: // ddns_replace_client_name_value + case 292: // db_type + case 386: // hr_mode + case 522: // duid_type + case 565: // ncr_protocol_value value.move< ElementPtr > (std::move (that.value)); break; - case 192: // "boolean" + case 195: // "boolean" value.move< bool > (std::move (that.value)); break; - case 191: // "floating point" + case 194: // "floating point" value.move< double > (std::move (that.value)); break; - case 190: // "integer" + case 193: // "integer" value.move< int64_t > (std::move (that.value)); break; - case 189: // "constant string" + case 192: // "constant string" value.move< std::string > (std::move (that.value)); break; @@ -4288,29 +4337,29 @@ switch (yytype) { switch (this->type_get ()) { - case 210: // value - case 214: // map_value - case 255: // ddns_replace_client_name_value - case 289: // db_type - case 383: // hr_mode - case 519: // duid_type - case 554: // ncr_protocol_value + case 213: // value + case 217: // map_value + case 258: // ddns_replace_client_name_value + case 292: // db_type + case 386: // hr_mode + case 522: // duid_type + case 565: // ncr_protocol_value value.copy< ElementPtr > (YY_MOVE (that.value)); break; - case 192: // "boolean" + case 195: // "boolean" value.copy< bool > (YY_MOVE (that.value)); break; - case 191: // "floating point" + case 194: // "floating point" value.copy< double > (YY_MOVE (that.value)); break; - case 190: // "integer" + case 193: // "integer" value.copy< int64_t > (YY_MOVE (that.value)); break; - case 189: // "constant string" + case 192: // "constant string" value.copy< std::string > (YY_MOVE (that.value)); break; @@ -4336,29 +4385,29 @@ switch (yytype) super_type::move (s); switch (this->type_get ()) { - case 210: // value - case 214: // map_value - case 255: // ddns_replace_client_name_value - case 289: // db_type - case 383: // hr_mode - case 519: // duid_type - case 554: // ncr_protocol_value + case 213: // value + case 217: // map_value + case 258: // ddns_replace_client_name_value + case 292: // db_type + case 386: // hr_mode + case 522: // duid_type + case 565: // ncr_protocol_value value.move< ElementPtr > (YY_MOVE (s.value)); break; - case 192: // "boolean" + case 195: // "boolean" value.move< bool > (YY_MOVE (s.value)); break; - case 191: // "floating point" + case 194: // "floating point" value.move< double > (YY_MOVE (s.value)); break; - case 190: // "integer" + case 193: // "integer" value.move< int64_t > (YY_MOVE (s.value)); break; - case 189: // "constant string" + case 192: // "constant string" value.move< std::string > (YY_MOVE (s.value)); break; @@ -4445,14 +4494,14 @@ switch (yytype) 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447 + 445, 446, 447, 448, 449, 450 }; return token_type (yytoken_number_[type]); } #line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 4456 "dhcp6_parser.h" +#line 4505 "dhcp6_parser.h" diff --git a/src/bin/dhcp6/location.hh b/src/bin/dhcp6/location.hh index cf97eda686..87033ea8b0 100644 --- a/src/bin/dhcp6/location.hh +++ b/src/bin/dhcp6/location.hh @@ -1,4 +1,4 @@ -// Generated 201910281131 +// Generated 201911051009 // A Bison parser, made by GNU Bison 3.4.2. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp6/position.hh b/src/bin/dhcp6/position.hh index b26928e17b..f122d3ae80 100644 --- a/src/bin/dhcp6/position.hh +++ b/src/bin/dhcp6/position.hh @@ -1,4 +1,4 @@ -// Generated 201910281131 +// Generated 201911051009 // A Bison parser, made by GNU Bison 3.4.2. // Starting with Bison 3.2, this file is useless: the structure it diff --git a/src/bin/dhcp6/stack.hh b/src/bin/dhcp6/stack.hh index 44a4b60f6b..f0ff0445f9 100644 --- a/src/bin/dhcp6/stack.hh +++ b/src/bin/dhcp6/stack.hh @@ -1,4 +1,4 @@ -// Generated 201910281131 +// Generated 201911051009 // A Bison parser, made by GNU Bison 3.4.2. // Starting with Bison 3.2, this file is useless: the structure it |