diff options
author | Francis Dupont <fdupont@isc.org> | 2022-02-04 21:39:59 +0100 |
---|---|---|
committer | Razvan Becheriu <razvan@isc.org> | 2022-03-14 19:20:37 +0100 |
commit | 9df65becb2770b7dfa71c9cd05c8a7c4aef2947b (patch) | |
tree | 87f29898d5e60a96ef777bb3500012a90ac80ee5 | |
parent | [#2249] Checkpoint before regen (diff) | |
download | kea-9df65becb2770b7dfa71c9cd05c8a7c4aef2947b.tar.xz kea-9df65becb2770b7dfa71c9cd05c8a7c4aef2947b.zip |
[2249] regen flex/bison
-rw-r--r-- | src/bin/dhcp4/dhcp4_lexer.cc | 2047 | ||||
-rw-r--r-- | src/bin/dhcp4/dhcp4_parser.cc | 4139 | ||||
-rw-r--r-- | src/bin/dhcp4/dhcp4_parser.h | 1008 | ||||
-rw-r--r-- | src/bin/dhcp4/location.hh | 1 | ||||
-rw-r--r-- | src/bin/dhcp6/dhcp6_lexer.cc | 2039 | ||||
-rw-r--r-- | src/bin/dhcp6/dhcp6_parser.cc | 4354 | ||||
-rw-r--r-- | src/bin/dhcp6/dhcp6_parser.h | 1052 | ||||
-rw-r--r-- | src/bin/dhcp6/location.hh | 1 |
8 files changed, 7381 insertions, 7260 deletions
diff --git a/src/bin/dhcp4/dhcp4_lexer.cc b/src/bin/dhcp4/dhcp4_lexer.cc index 521c6cf1be..f86b6edcec 100644 --- a/src/bin/dhcp4/dhcp4_lexer.cc +++ b/src/bin/dhcp4/dhcp4_lexer.cc @@ -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 218 -#define YY_END_OF_BUFFER 219 +#define YY_NUM_RULES 219 +#define YY_END_OF_BUFFER 220 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,35 +700,35 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[2057] = +static const flex_int16_t yy_accept[2089] = { 0, - 211, 211, 0, 0, 0, 0, 0, 0, 0, 0, - 219, 217, 10, 11, 217, 1, 211, 208, 211, 211, - 217, 210, 209, 217, 217, 217, 217, 217, 204, 205, - 217, 217, 217, 206, 207, 5, 5, 5, 217, 217, - 217, 10, 11, 0, 0, 199, 0, 0, 0, 0, + 212, 212, 0, 0, 0, 0, 0, 0, 0, 0, + 220, 218, 10, 11, 218, 1, 212, 209, 212, 212, + 218, 211, 210, 218, 218, 218, 218, 218, 205, 206, + 218, 218, 218, 207, 208, 5, 5, 5, 218, 218, + 218, 10, 11, 0, 0, 200, 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, 211, 211, - 0, 210, 211, 3, 2, 6, 0, 211, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 9, 0, 200, + 0, 0, 0, 0, 0, 0, 0, 1, 212, 212, + 0, 211, 212, 3, 2, 6, 0, 212, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 9, 0, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 203, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, - 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, + 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 201, 203, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 202, 204, 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, 93, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -736,115 +736,116 @@ static const flex_int16_t yy_accept[2057] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 216, 214, 0, 213, 212, 0, 0, 0, 0, 0, - 0, 0, 178, 0, 177, 0, 0, 99, 0, 0, + 0, 0, 217, 215, 0, 214, 213, 0, 0, 0, + 0, 0, 0, 0, 178, 0, 177, 0, 0, 99, 0, 0, 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, 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, 0, 0, 0, 0, 0, 96, 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, 17, 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, 0, 0, 0, 0, 0, 0, 18, 0, - 0, 0, 0, 215, 212, 0, 0, 0, 0, 0, - 0, 179, 0, 181, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, - 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, - 0, 0, 0, 125, 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, 18, 0, 0, 0, 0, 216, 213, 0, 0, + 0, 0, 0, 0, 179, 0, 181, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 103, 0, 0, 0, 0, 0, 0, 0, 0, 85, + 0, 0, 0, 0, 0, 0, 125, 0, 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, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 88, 0, 39, 0, + 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 88, 0, 39, 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, 122, 0, 0, 31, 0, 0, 36, 0, 0, - 0, 0, 0, 0, 12, 183, 182, 0, 0, 0, - 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 122, 0, 0, 31, 0, + 0, 36, 0, 0, 0, 0, 0, 0, 12, 183, + 182, 0, 0, 0, 135, 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, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 114, 0, 0, 0, 0, 0, 0, 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, - 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 136, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, - + 0, 33, 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, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 0, 184, 0, 0, 0, + + 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, + 0, 184, 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, 98, + 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 112, 0, 0, 0, 0, + 0, 112, 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, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 91, 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, 90, 0, + 0, 0, 0, 0, 90, 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, 129, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 141, 110, 0, 0, - 0, 0, 0, 0, 115, 32, 0, 0, 0, 0, - 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 117, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 141, 110, 0, 0, 0, 0, 0, + 0, 115, 32, 0, 0, 0, 0, 0, 47, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, + 40, 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, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 160, 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, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, - 0, 0, 0, 59, 43, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 37, 0, 0, 0, 0, 30, 0, 0, 0, 0, + 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 130, 0, 0, 0, 0, 0, + 0, 59, 43, 0, 0, 0, 0, 0, 0, 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, 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, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 58, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 161, 0, 0, 0, 0, + 58, 0, 0, 0, 127, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 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, 92, 0, 0, 0, 0, 0, 0, + 0, 0, 92, 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, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, + 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, - 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, + 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 132, 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, 126, 22, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, - 0, 0, 82, 0, 0, 0, 0, 0, 0, 140, + 0, 0, 82, 0, 0, 0, 0, 0, 0, 140, 0, 34, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 106, 107, 0, @@ -852,82 +853,84 @@ static const flex_int16_t yy_accept[2057] = 86, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 192, 0, 83, 97, + 0, 0, 0, 0, 0, 0, 0, 192, 0, 83, + 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, + 167, 0, 0, 0, 165, 0, 156, 155, 0, 0, + 0, 0, 53, 0, 0, 0, 21, 0, 0, 0, + 0, 180, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 64, 0, 0, 0, 0, 0, 0, 0, 167, - 0, 0, 0, 165, 0, 156, 155, 0, 0, 0, - 0, 53, 0, 0, 0, 21, 0, 0, 0, 0, - 180, 0, 0, 0, 0, 0, 121, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, + 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 138, 0, 15, 0, 0, 41, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, + 0, 0, 0, 0, 0, 65, 0, 0, 133, 0, + 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 57, 0, 89, + 0, 186, 0, 0, 191, 0, 109, 0, 0, 0, + 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 149, 0, 0, 158, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, - 0, 15, 0, 0, 41, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 169, 0, 0, 0, 0, 0, - - 0, 0, 0, 65, 0, 0, 133, 0, 0, 0, - 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 57, 0, 89, 0, 186, - 0, 0, 191, 0, 109, 0, 0, 0, 197, 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, 0, 0, 0, 0, 0, + 52, 0, 0, 0, 0, 0, 194, 0, 0, 119, + 27, 0, 0, 0, 54, 154, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 189, 0, + 162, 0, 0, 0, 0, 0, 0, 0, 0, 25, + 0, 0, 0, 24, 0, 0, 168, 0, 0, 0, + 56, 0, 0, 0, 0, 0, 111, 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, 0, 0, 0, 0, 0, 52, 0, 0, - 0, 0, 0, 194, 0, 0, 119, 27, 0, 0, - 0, 54, 154, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 0, 162, 0, 0, 0, - 0, 0, 0, 0, 0, 25, 0, 0, 0, 24, - 0, 0, 168, 0, 0, 0, 56, 0, 0, 0, - 0, 0, 111, 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, 61, - 0, 0, 108, 0, 0, 0, 42, 0, 0, 0, + 0, 0, 0, 61, 0, 0, 108, 0, 0, 0, + 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, + 0, 0, 26, 0, 0, 0, 190, 0, 0, 0, + 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, + 20, 0, 0, 0, 193, 81, 0, 48, 0, 0, + 0, 187, 185, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, + 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, + + 147, 0, 0, 0, 123, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 49, 0, 0, 152, 0, 0, 0, 0, + 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 175, 13, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 153, 0, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 139, 0, 0, 0, 26, 0, 0, - 0, 190, 0, 0, 0, 0, 0, 150, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, - 0, 0, 0, 0, 0, 20, 0, 0, 0, 193, - 81, 0, 48, 0, 0, 0, 187, 185, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 0, 0, 0, 174, 0, 0, 0, 0, - 0, 0, 0, 0, 147, 0, 0, 0, 123, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, - - 0, 0, 0, 0, 0, 0, 49, 0, 0, 152, - 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, - 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 153, 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, 157, 0, 0, 0, - 0, 0, 0, 0, 0, 146, 0, 63, 62, 19, - 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 45, 0, 0, 0, 0, 105, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, - 0, 0, 0, 0, 55, 0, 68, 0, 46, 173, - 0, 100, 0, 0, 0, 0, 0, 80, 0, 0, - 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, + 0, 0, 0, 157, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 146, 0, 63, 62, 19, 0, 171, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, + 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, + 0, 0, 0, 55, 0, 68, 0, 46, 173, 0, + 100, 0, 0, 0, 0, 0, 80, 0, 0, 0, + 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, - 76, 0, 0, 0, 151, 0, 0, 0, 0, 195, - 198, 172, 0, 120, 101, 0, 0, 0, 0, 0, - - 72, 0, 0, 0, 0, 0, 0, 0, 143, 0, - 0, 0, 148, 0, 74, 0, 66, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 142, 0, 0, 176, - 196, 0, 0, 0, 0, 0, 0, 0, 0, 73, - 0, 0, 0, 0, 0, 78, 0, 104, 70, 0, - 0, 0, 0, 69, 144, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, + + 0, 76, 0, 0, 0, 0, 151, 0, 0, 0, + 0, 196, 199, 172, 0, 120, 101, 0, 0, 0, + 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, + 0, 143, 0, 0, 0, 148, 0, 74, 0, 66, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 142, 0, 0, 176, 197, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, + 0, 0, 78, 0, 0, 104, 70, 0, 0, 0, + 0, 0, 0, 69, 0, 144, 195, 0 } ; static const YY_CHAR yy_ec[256] = @@ -974,486 +977,494 @@ static const YY_CHAR yy_meta[74] = 1, 1, 1 } ; -static const flex_int16_t yy_base[2065] = +static const flex_int16_t yy_base[2097] = { 0, 0, 72, 21, 31, 43, 51, 54, 60, 91, 99, - 2445, 2446, 34, 2441, 145, 0, 207, 2446, 214, 221, - 13, 228, 2446, 2421, 118, 25, 2, 6, 2446, 2446, - 73, 11, 17, 2446, 2446, 2446, 104, 2429, 2382, 0, - 2419, 108, 2436, 24, 262, 2446, 2378, 67, 2384, 84, - 75, 88, 224, 91, 89, 290, 220, 2376, 206, 285, - 206, 204, 212, 60, 232, 2385, 247, 294, 315, 307, - 286, 2368, 230, 325, 354, 328, 2387, 0, 366, 382, - 397, 411, 404, 2446, 0, 2446, 419, 425, 216, 227, - 229, 319, 331, 329, 2446, 2384, 2425, 2446, 300, 2446, - - 438, 2412, 390, 2381, 414, 10, 407, 311, 409, 415, - 255, 2422, 0, 499, 410, 2364, 2361, 2365, 405, 2361, - 80, 2369, 406, 2365, 2354, 2355, 2360, 78, 2370, 2353, - 2362, 2362, 311, 2353, 402, 2354, 2352, 399, 2400, 2404, - 2344, 2397, 2337, 174, 2358, 2358, 2352, 336, 2345, 2343, - 2344, 2336, 2341, 2335, 421, 2346, 437, 2331, 2330, 2344, - 435, 2330, 409, 434, 2324, 495, 428, 469, 2345, 2342, - 2343, 431, 2341, 2376, 2375, 448, 2321, 2321, 441, 2322, - 458, 2314, 2331, 2323, 0, 457, 439, 468, 466, 477, - 483, 2322, 2446, 2367, 489, 2316, 475, 499, 510, 2370, - - 511, 2369, 508, 2368, 2446, 2446, 554, 2367, 528, 2326, - 2318, 2305, 2316, 2320, 2321, 2301, 2312, 2316, 2313, 2312, - 504, 524, 2355, 2349, 2313, 2294, 2291, 2299, 2294, 2308, - 2304, 2292, 2304, 2304, 2295, 2279, 2283, 2296, 2298, 2295, - 2287, 2277, 2295, 2446, 2290, 527, 533, 2275, 2284, 2326, - 2273, 2283, 2286, 542, 2282, 2321, 2266, 2268, 2279, 2317, - 2262, 2320, 2274, 2254, 2269, 552, 2259, 2265, 520, 2256, - 2254, 2254, 2260, 2251, 2250, 2257, 2247, 2306, 2262, 2261, - 2255, 527, 2262, 2257, 2249, 2239, 2254, 2253, 2248, 2252, - 531, 2250, 2236, 2242, 2249, 2231, 530, 2236, 2233, 2232, - - 341, 2227, 2241, 565, 2240, 2283, 2242, 544, 2233, 567, - 2446, 2446, 568, 2446, 2446, 2220, 532, 567, 2268, 583, - 2278, 576, 2446, 2277, 2446, 2271, 626, 2446, 575, 2211, - 2220, 2268, 2228, 2211, 2228, 2264, 2224, 2207, 2213, 2265, - 2220, 2223, 2214, 2217, 2212, 568, 2446, 2214, 2258, 2252, - 2210, 2207, 608, 2213, 2253, 2247, 2200, 2195, 2192, 2243, - 2200, 2189, 2205, 2239, 2185, 621, 2199, 2184, 2197, 2195, - 2193, 2182, 2192, 2191, 2186, 2193, 2188, 2184, 559, 2182, - 2185, 2180, 2166, 2178, 2174, 2224, 569, 2218, 2446, 2182, - 2216, 2166, 2165, 2164, 2157, 2159, 2171, 2162, 2169, 2150, - - 2167, 2162, 606, 2209, 2162, 2159, 2162, 2446, 2161, 2150, - 2150, 2162, 565, 2137, 2138, 2159, 584, 2141, 2192, 2137, - 2151, 2154, 2149, 2135, 2147, 2146, 2145, 2140, 2182, 2142, - 2141, 2140, 2139, 599, 2182, 2141, 2121, 2179, 2446, 2121, - 2120, 650, 2133, 2446, 2446, 2132, 2121, 2113, 599, 2172, - 2171, 2446, 2170, 2446, 625, 673, 600, 2169, 2111, 2122, - 2161, 2114, 2116, 2118, 2105, 2113, 2101, 2446, 2106, 2099, - 2111, 2114, 2097, 2112, 2099, 2098, 2446, 642, 2100, 2097, - 598, 2095, 2097, 2446, 2105, 2102, 2087, 2100, 2095, 660, - 2102, 2090, 2083, 2134, 2446, 2081, 2097, 2131, 2092, 2089, - - 2090, 2074, 2083, 2090, 2124, 2075, 2074, 2069, 2068, 2119, - 2063, 618, 2082, 2056, 2063, 2068, 2078, 2112, 2116, 2446, - 2061, 2057, 2055, 2064, 2063, 2057, 2064, 2048, 2048, 2058, - 2046, 2060, 2060, 2048, 2044, 2042, 2446, 2099, 2446, 2041, - 2052, 2091, 2036, 2041, 2050, 2044, 2038, 2047, 2089, 2083, - 2045, 2028, 2028, 2023, 2043, 2018, 2024, 2029, 654, 2031, - 2035, 2018, 2076, 2017, 2017, 2068, 2013, 2014, 2013, 2025, - 2014, 2446, 2024, 2061, 2446, 2012, 2010, 2446, 2021, 2057, - 2017, 2001, 2018, 2058, 2446, 2446, 2446, 649, 632, 701, - 2446, 2009, 2008, 345, 2015, 1995, 2005, 2047, 1992, 2045, - - 1990, 2000, 2042, 1987, 1986, 1985, 1992, 1985, 1997, 1979, - 1979, 1994, 1993, 649, 1992, 1991, 1991, 1973, 1978, 2019, - 1986, 1978, 2023, 1967, 1983, 1982, 2446, 1967, 1964, 2022, - 1977, 1969, 1975, 1966, 1974, 1959, 1975, 1957, 1969, 1961, - 1969, 644, 1951, 1950, 1944, 1949, 1964, 1961, 1962, 1941, - 1951, 1957, 2000, 1955, 1947, 1938, 2446, 1939, 1941, 1950, - 1942, 1947, 1986, 1985, 1936, 16, 1945, 1982, 1927, 1980, - 1927, 1930, 1923, 2446, 1937, 1916, 1920, 1934, 1926, 1971, - 1923, 1930, 1968, 2446, 1913, 1927, 1911, 1925, 1928, 1909, - 1961, 1960, 1959, 1906, 1957, 1902, 1955, 1954, 2446, 1899, - - 1913, 1912, 697, 1913, 1912, 1909, 1909, 1946, 1910, 1905, - 1888, 1893, 1895, 2446, 1901, 1891, 2446, 646, 596, 1885, - 1883, 1886, 207, 221, 224, 234, 400, 463, 518, 677, - 558, 601, 667, 658, 629, 670, 715, 669, 669, 679, - 684, 671, 674, 685, 685, 669, 726, 679, 689, 692, - 730, 693, 689, 686, 688, 735, 741, 699, 700, 2446, - 703, 699, 690, 705, 710, 707, 710, 709, 697, 711, - 712, 710, 718, 754, 716, 761, 762, 712, 704, 714, - 761, 719, 769, 2446, 770, 723, 725, 721, 715, 718, - 776, 772, 735, 724, 737, 2446, 727, 738, 727, 740, - - 730, 743, 787, 788, 731, 742, 727, 750, 729, 735, - 790, 754, 738, 750, 794, 795, 796, 743, 798, 762, - 757, 764, 763, 761, 746, 758, 760, 766, 756, 754, - 2446, 818, 777, 778, 768, 780, 770, 773, 784, 769, - 776, 782, 774, 788, 828, 804, 791, 796, 793, 775, - 782, 796, 841, 798, 795, 796, 794, 803, 2446, 799, - 794, 809, 806, 792, 799, 798, 796, 815, 812, 800, - 807, 808, 817, 821, 858, 820, 810, 808, 807, 818, - 814, 870, 827, 812, 813, 819, 835, 825, 2446, 835, - 835, 828, 839, 837, 882, 824, 826, 841, 828, 827, - - 889, 890, 847, 833, 839, 837, 2446, 2446, 847, 852, - 857, 845, 855, 857, 2446, 2446, 858, 845, 863, 850, - 844, 2446, 849, 867, 854, 904, 855, 907, 853, 857, - 875, 916, 2446, 2446, 861, 865, 864, 861, 921, 874, - 864, 865, 861, 874, 885, 869, 887, 882, 883, 885, - 878, 880, 881, 877, 883, 883, 885, 900, 941, 898, - 903, 880, 903, 889, 888, 2446, 895, 896, 910, 900, - 898, 911, 949, 907, 897, 912, 913, 900, 932, 940, - 909, 904, 959, 960, 922, 962, 2446, 968, 911, 927, - 931, 972, 922, 921, 916, 917, 929, 936, 925, 926, - - 922, 925, 926, 937, 946, 983, 930, 948, 940, 935, - 993, 950, 951, 942, 2446, 944, 947, 955, 957, 942, - 958, 952, 999, 965, 949, 950, 2446, 966, 969, 952, - 1011, 954, 973, 2446, 2446, 972, 975, 961, 956, 974, - 1014, 972, 968, 965, 1018, 1019, 981, 967, 985, 984, - 985, 971, 986, 978, 985, 975, 993, 992, 979, 996, - 2446, 988, 994, 997, 1042, 2446, 991, 996, 1040, 992, - 1004, 998, 1002, 1000, 998, 1000, 1010, 1055, 999, 1004, - 1001, 1001, 1060, 1004, 1016, 2446, 1004, 1012, 1010, 1061, - 1003, 1024, 1011, 1012, 1021, 1033, 1020, 1028, 1019, 1024, - - 1034, 1035, 1040, 1081, 1053, 1058, 1040, 1037, 1033, 1047, - 1030, 1030, 2446, 1031, 1091, 1034, 2446, 1045, 1035, 1055, - 1054, 1045, 1034, 1051, 1058, 1101, 1062, 1055, 1059, 1063, - 1046, 1063, 1054, 1109, 1058, 2446, 1108, 1055, 1058, 1057, - 1058, 1058, 1079, 1076, 1081, 1082, 1068, 1076, 1085, 1065, - 1080, 1087, 1129, 2446, 1130, 1131, 1073, 1083, 1093, 1077, - 1097, 1085, 1081, 1088, 1097, 1085, 1092, 1093, 1105, 1146, - 1093, 1091, 1093, 1110, 1151, 1101, 1100, 1106, 1104, 1102, - 1097, 1158, 1109, 1160, 1156, 1162, 2446, 1119, 1112, 1103, - 1122, 1110, 1120, 1117, 1122, 1118, 1131, 1131, 2446, 1115, - - 1118, 1113, 1119, 2446, 1120, 1180, 1119, 1138, 1139, 1141, - 1180, 1133, 1187, 1188, 1141, 1126, 1140, 1138, 1149, 1148, - 1132, 1137, 1155, 2446, 1177, 1168, 1200, 1140, 1162, 1157, - 1157, 1161, 1206, 2446, 1149, 1149, 1152, 1169, 1164, 1168, - 1213, 1161, 1165, 2446, 1157, 1174, 1154, 1175, 1165, 1217, - 1170, 2446, 1183, 1183, 1221, 1169, 1224, 1182, 1187, 1173, - 1233, 1176, 1187, 1179, 1185, 1181, 1199, 1200, 1201, 2446, - 2446, 1200, 2446, 1185, 1196, 1187, 1206, 1199, 1197, 1190, - 1202, 1246, 1210, 1199, 1206, 1207, 1213, 2446, 1206, 1258, - 1199, 1260, 2446, 1261, 1203, 1209, 1216, 1260, 1222, 2446, - - 1223, 2446, 1210, 2446, 1212, 1226, 1231, 1214, 1273, 1230, - 1231, 1232, 1272, 1224, 1229, 1280, 1233, 1277, 1230, 1284, - 2446, 1231, 1286, 1287, 1244, 1245, 1247, 2446, 2446, 1230, - 1292, 1288, 1237, 1253, 1296, 1238, 1250, 1255, 1270, 1301, - 2446, 1258, 1251, 1260, 1251, 1262, 2446, 1307, 1244, 1255, - 1270, 1306, 1258, 2446, 1254, 1270, 1271, 1272, 1269, 1313, - 1276, 1266, 1276, 1282, 1269, 1265, 1325, 1278, 1322, 1329, - 1287, 2446, 1288, 1281, 1290, 1291, 1288, 1278, 1281, 1281, - 1286, 1341, 1288, 1343, 1286, 1291, 1346, 1342, 1283, 1298, - 1291, 1295, 1308, 1309, 1307, 1356, 2446, 1310, 2446, 2446, - - 1315, 1307, 1317, 1302, 1358, 1305, 1305, 1366, 1310, 1320, - 1369, 2446, 1317, 1317, 1319, 1321, 1374, 1315, 1318, 2446, - 1319, 1336, 1341, 2446, 1325, 2446, 2446, 1338, 1321, 1341, - 1342, 2446, 1329, 1388, 1338, 2446, 1390, 1339, 1392, 1372, - 2446, 1394, 1351, 1396, 1347, 1394, 2446, 1342, 1401, 1351, - 1345, 1342, 1345, 1348, 1348, 1365, 1404, 1357, 1369, 1372, - 1360, 1363, 1356, 1364, 1354, 2446, 1376, 1361, 2446, 1363, - 1364, 1379, 1379, 1382, 1382, 1379, 1423, 1385, 1377, 2446, - 1378, 2446, 1388, 1380, 2446, 1386, 1391, 1392, 1389, 1433, - 1381, 1396, 1397, 1389, 2446, 1386, 1387, 1387, 1393, 1392, - - 1390, 1444, 1405, 2446, 1446, 1393, 2446, 1394, 1394, 1396, - 1402, 2446, 1411, 1405, 1460, 1402, 1409, 1401, 1414, 1417, - 1428, 1421, 1427, 1471, 1424, 2446, 1433, 2446, 1430, 2446, - 1427, 1450, 2446, 1477, 2446, 1435, 1420, 1480, 2446, 1481, - 1438, 1443, 1425, 1485, 1486, 1482, 1446, 1443, 1439, 1432, - 1487, 1445, 1446, 1436, 1441, 1497, 1451, 1500, 1496, 1459, - 1456, 1500, 1448, 1453, 1451, 1510, 1466, 1454, 1513, 1509, - 1472, 1516, 1477, 1466, 1460, 1520, 1462, 1463, 1477, 1480, - 1480, 1526, 1468, 1485, 1481, 1479, 1486, 1470, 1528, 1529, - 1476, 1531, 1494, 1487, 1486, 1486, 1481, 1499, 2446, 1499, - - 1491, 1497, 1502, 1489, 1488, 1490, 1545, 2446, 1486, 1504, - 1553, 1511, 1524, 2446, 1556, 1509, 2446, 2446, 1500, 1511, - 1560, 2446, 2446, 1506, 1511, 1509, 1559, 1517, 1522, 1510, - 1527, 1516, 1514, 1528, 2446, 1516, 2446, 1519, 1570, 1513, - 1518, 1578, 1526, 1536, 1537, 2446, 1582, 1536, 1580, 2446, - 1531, 1587, 2446, 1530, 1545, 1533, 2446, 1543, 1544, 1593, - 1551, 1555, 2446, 1591, 1557, 1533, 1551, 1552, 1561, 1543, - 1550, 1604, 1563, 1562, 1553, 1603, 1555, 1551, 1611, 1559, - 1554, 1555, 1615, 1616, 1566, 1618, 1571, 1576, 1569, 2446, - 1622, 1623, 2446, 1572, 1625, 1567, 2446, 1570, 1580, 1624, - - 1572, 1587, 1574, 1589, 1575, 1582, 1582, 1637, 1594, 1582, - 1581, 1641, 1594, 2446, 1638, 1589, 1586, 2446, 1600, 1587, - 1608, 2446, 1605, 1650, 1603, 1600, 1601, 2446, 1654, 1613, - 1596, 1598, 1614, 1607, 1597, 1613, 1614, 1623, 2446, 1613, - 1665, 1625, 1609, 1618, 1664, 2446, 1628, 1623, 1672, 2446, - 2446, 1614, 2446, 1621, 1675, 1671, 2446, 2446, 1633, 2446, - 1673, 1635, 1636, 1621, 1622, 1630, 1684, 1632, 1681, 1682, - 1637, 2446, 1649, 1636, 1643, 2446, 1640, 1645, 1643, 1695, - 1696, 1644, 1641, 1641, 2446, 1656, 1657, 1658, 2446, 1659, - 1649, 1661, 1706, 1659, 1708, 1650, 1658, 1659, 1672, 2446, - - 1673, 1654, 1655, 1662, 1653, 1665, 2446, 1714, 1675, 2446, - 1679, 1664, 1664, 1679, 1672, 1671, 1682, 1669, 2446, 1685, - 1673, 1676, 1732, 1690, 1692, 1683, 1692, 1694, 1698, 2446, - 2446, 1691, 1682, 1741, 1684, 1743, 1744, 1745, 1703, 1747, - 2446, 1689, 2446, 1744, 1706, 1707, 1694, 1702, 1713, 1700, - 1711, 1757, 1698, 1701, 1706, 1697, 1762, 1715, 1716, 1706, - 1723, 1722, 1763, 1707, 1726, 1727, 2446, 1724, 1729, 1730, - 1775, 1732, 1735, 1722, 1731, 2446, 1780, 2446, 2446, 2446, - 1741, 2446, 1782, 1724, 1784, 1785, 1728, 1787, 1735, 1784, - 1785, 2446, 1747, 1752, 1793, 1752, 2446, 1743, 1733, 1792, - - 1758, 1751, 1747, 1801, 1744, 1746, 1751, 1747, 1749, 2446, - 1754, 1764, 1749, 1757, 2446, 1752, 2446, 1764, 2446, 2446, - 1769, 2446, 1770, 1770, 1761, 1817, 1766, 2446, 1768, 1776, - 1821, 1762, 1764, 1761, 1785, 2446, 1772, 1779, 1782, 1771, - 1825, 1772, 1780, 1789, 1788, 1791, 1784, 1779, 1779, 1791, - 1786, 2446, 1786, 1798, 1843, 2446, 1789, 1801, 1846, 1795, - 1797, 1795, 1850, 1803, 1790, 1805, 1810, 1855, 1856, 1857, - 1814, 1859, 1860, 1804, 1808, 1812, 1806, 2446, 1822, 1866, - 2446, 1823, 1808, 1826, 2446, 1817, 1831, 1827, 1820, 2446, - 2446, 2446, 1874, 2446, 2446, 1817, 1825, 1833, 1878, 1839, - - 2446, 1880, 1822, 1882, 1837, 1836, 1837, 1827, 2446, 1828, - 1888, 1884, 2446, 1831, 2446, 1843, 2446, 1892, 1834, 1850, - 1895, 1896, 2446, 1857, 1854, 1846, 2446, 1896, 1845, 2446, - 2446, 1857, 1850, 1905, 1853, 1848, 1850, 1865, 1850, 2446, - 1911, 1864, 1913, 1914, 1862, 2446, 1864, 2446, 2446, 1858, - 1874, 1919, 1920, 2446, 2446, 2446, 1926, 1929, 1932, 1933, - 1935, 1938, 1941, 1944 + 2477, 2478, 34, 2473, 145, 0, 207, 2478, 214, 221, + 13, 228, 2478, 2453, 118, 25, 2, 6, 2478, 2478, + 73, 11, 17, 2478, 2478, 2478, 104, 2461, 2414, 0, + 2451, 108, 2468, 24, 262, 2478, 2410, 67, 2416, 84, + 75, 88, 224, 91, 89, 290, 220, 2408, 206, 285, + 236, 204, 197, 60, 232, 2417, 247, 294, 315, 307, + 286, 2400, 212, 325, 354, 328, 2419, 0, 366, 382, + 397, 411, 404, 2478, 0, 2478, 419, 425, 249, 319, + 238, 331, 399, 329, 2478, 2416, 2457, 2478, 404, 2478, + + 438, 2444, 405, 2413, 415, 10, 409, 311, 411, 418, + 428, 2454, 0, 499, 418, 2396, 2393, 2397, 402, 2393, + 80, 2401, 216, 2397, 2386, 2387, 2392, 78, 2402, 2385, + 2394, 2384, 2393, 221, 2384, 223, 2385, 2383, 400, 2431, + 2435, 2375, 2428, 2368, 174, 2389, 2389, 2383, 278, 2376, + 2374, 2375, 2367, 2372, 2366, 423, 2377, 346, 2362, 2361, + 2375, 405, 2361, 420, 355, 2355, 495, 407, 428, 2376, + 2373, 2374, 428, 2372, 2407, 2406, 433, 2352, 2352, 433, + 2353, 448, 2345, 2362, 2354, 0, 457, 471, 469, 471, + 477, 483, 2353, 2478, 2398, 507, 2347, 475, 499, 505, + + 2401, 510, 2400, 504, 2399, 2478, 2478, 550, 2398, 515, + 2357, 2349, 2336, 2347, 2351, 2352, 2332, 2343, 2347, 2344, + 2343, 511, 520, 2386, 2380, 2344, 2325, 2322, 2330, 2325, + 2339, 2335, 2326, 2322, 2334, 2334, 2325, 2309, 2313, 2326, + 2328, 2325, 2317, 2307, 2325, 2478, 2320, 466, 487, 2305, + 2314, 2356, 2303, 2313, 2316, 551, 2312, 2351, 2296, 2298, + 2309, 2347, 2292, 2350, 2304, 2284, 2299, 533, 2289, 2295, + 535, 2286, 2284, 2284, 2290, 2281, 2280, 2287, 2277, 2336, + 2292, 2291, 2285, 526, 2292, 2287, 2279, 2269, 2284, 2283, + 2278, 2282, 528, 2280, 2266, 2272, 2279, 2261, 457, 2266, + + 2263, 2262, 581, 2257, 2271, 543, 2270, 2313, 2272, 577, + 2263, 562, 2478, 2478, 563, 2478, 2478, 2250, 550, 561, + 2298, 576, 2308, 570, 2478, 2307, 2478, 2301, 627, 2478, + 565, 2241, 2250, 2298, 2258, 2241, 2258, 2294, 2254, 2237, + 2243, 2295, 2250, 2253, 2244, 2247, 2242, 562, 2478, 2244, + 2288, 2282, 2240, 2237, 599, 2243, 2283, 2218, 2276, 2229, + 2224, 2221, 2272, 2229, 2218, 2234, 2268, 2214, 621, 2228, + 2213, 2226, 2224, 2222, 2211, 2221, 2220, 2215, 2222, 2217, + 2213, 557, 2211, 2214, 2209, 2195, 2207, 2203, 2253, 560, + 2247, 2478, 2211, 2245, 2195, 2194, 2193, 2186, 2188, 2200, + + 2191, 2198, 2179, 2196, 2191, 603, 2238, 2191, 2188, 2191, + 2478, 2190, 2179, 2179, 2191, 571, 2166, 2167, 2188, 606, + 2170, 2221, 2166, 2180, 2183, 2178, 2164, 2176, 2175, 2174, + 2169, 2211, 2171, 2170, 2169, 2168, 580, 2211, 2170, 2150, + 2208, 2478, 2150, 2149, 611, 2162, 2478, 2478, 2161, 2150, + 2142, 593, 2201, 2200, 2478, 2199, 2478, 627, 675, 601, + 2198, 2140, 2151, 2190, 2143, 2145, 2147, 2134, 2142, 2130, + 2478, 2135, 2128, 2140, 2143, 2126, 2141, 2128, 2127, 2478, + 606, 2129, 2126, 600, 2124, 2126, 2478, 2171, 2133, 2130, + 2115, 2128, 2123, 617, 2130, 2118, 2111, 2162, 2478, 2109, + + 2125, 2159, 2120, 2117, 2118, 2102, 2111, 2118, 2152, 2103, + 2102, 2097, 2096, 2147, 2091, 588, 2110, 2084, 2091, 2096, + 2106, 2140, 2144, 2478, 2089, 2085, 2083, 2092, 2091, 2085, + 2092, 2076, 2076, 2086, 2074, 2088, 2088, 2076, 2072, 2070, + 2478, 2127, 2478, 2069, 2080, 2119, 2064, 2069, 2078, 2072, + 2066, 2075, 2117, 2111, 2073, 2056, 2056, 2051, 2071, 2046, + 2052, 2057, 652, 2059, 2063, 2046, 2104, 2045, 2045, 2096, + 2041, 2042, 2041, 2053, 2042, 2478, 2052, 2089, 2478, 2040, + 2038, 2478, 2049, 2085, 2045, 2029, 2046, 2086, 2478, 2478, + 2478, 646, 646, 676, 2478, 2037, 2036, 294, 2043, 2023, + + 2033, 2075, 2020, 2073, 2018, 2028, 2070, 2015, 2014, 2013, + 2020, 2013, 2025, 2007, 2007, 2022, 2021, 633, 2020, 2019, + 2019, 2001, 2006, 2047, 2014, 2011, 2005, 2050, 1994, 2010, + 2009, 2478, 1994, 1991, 2049, 2004, 1996, 2002, 1993, 2001, + 1986, 2002, 1984, 1996, 1988, 1996, 598, 1978, 1977, 1971, + 1976, 1991, 1988, 1989, 1968, 1978, 1984, 2027, 1982, 1974, + 1965, 2478, 1966, 1968, 1977, 1969, 1974, 2013, 2012, 1963, + 16, 1972, 2009, 1954, 2007, 1954, 1957, 1950, 2478, 1964, + 1943, 1947, 1961, 1953, 1998, 1950, 1957, 1995, 2478, 1940, + 1954, 1938, 1952, 1955, 1936, 1988, 1987, 1986, 1933, 1984, + + 1929, 1982, 1981, 2478, 1926, 1940, 1939, 678, 1940, 1939, + 1936, 1936, 1973, 1937, 1932, 1915, 1920, 1918, 2478, 203, + 441, 2478, 646, 669, 476, 606, 647, 659, 654, 643, + 640, 655, 656, 703, 679, 710, 670, 680, 707, 670, + 719, 721, 676, 676, 686, 691, 677, 680, 691, 691, + 675, 732, 685, 695, 698, 736, 699, 692, 696, 693, + 695, 742, 748, 706, 707, 2478, 710, 706, 697, 712, + 717, 714, 717, 716, 704, 718, 719, 717, 725, 761, + 723, 768, 769, 719, 711, 721, 768, 726, 776, 2478, + 777, 730, 732, 728, 722, 725, 783, 779, 742, 731, + + 744, 2478, 734, 745, 734, 747, 737, 750, 794, 795, + 738, 749, 734, 757, 736, 742, 797, 761, 745, 757, + 801, 802, 803, 750, 805, 769, 764, 771, 770, 768, + 753, 765, 767, 773, 763, 761, 2478, 825, 784, 785, + 775, 787, 777, 780, 791, 776, 783, 789, 781, 795, + 835, 811, 798, 803, 800, 782, 789, 803, 848, 805, + 802, 803, 801, 810, 2478, 806, 801, 816, 813, 799, + 806, 805, 803, 822, 819, 807, 814, 815, 824, 828, + 865, 827, 817, 815, 814, 825, 821, 877, 824, 835, + 820, 821, 827, 843, 833, 2478, 843, 843, 836, 847, + + 845, 890, 832, 834, 849, 836, 835, 897, 898, 855, + 841, 847, 845, 2478, 2478, 855, 860, 865, 853, 863, + 865, 2478, 2478, 866, 853, 871, 858, 852, 2478, 857, + 875, 862, 912, 863, 915, 861, 865, 883, 924, 2478, + 2478, 869, 873, 872, 869, 929, 882, 872, 873, 869, + 882, 893, 877, 895, 890, 891, 893, 886, 888, 889, + 885, 891, 891, 893, 908, 949, 906, 911, 888, 911, + 897, 896, 2478, 903, 904, 918, 908, 906, 919, 957, + 915, 905, 920, 921, 908, 940, 948, 917, 912, 967, + 968, 930, 970, 2478, 976, 919, 935, 939, 980, 930, + + 929, 924, 925, 937, 944, 933, 934, 930, 933, 934, + 945, 954, 991, 938, 956, 948, 943, 1001, 958, 959, + 950, 2478, 964, 953, 956, 964, 966, 951, 967, 961, + 1008, 974, 958, 959, 2478, 975, 978, 961, 1020, 963, + 982, 2478, 2478, 981, 984, 970, 965, 983, 1023, 981, + 977, 974, 1027, 1028, 990, 976, 994, 993, 994, 980, + 995, 987, 994, 984, 1002, 1001, 988, 1005, 2478, 997, + 1003, 1006, 1051, 2478, 1000, 1005, 1049, 1001, 1013, 1007, + 1011, 1009, 1007, 1009, 1019, 1064, 1008, 1013, 1010, 1010, + 1069, 1013, 1025, 2478, 1013, 1021, 1019, 1070, 1012, 1033, + + 1020, 1021, 1030, 1042, 1029, 1037, 1028, 1033, 1043, 1044, + 1049, 1090, 1062, 1067, 1049, 1046, 1042, 1056, 1039, 1039, + 2478, 1040, 1100, 1043, 2478, 1054, 1044, 1064, 1063, 1054, + 1043, 1060, 1067, 1110, 1071, 1064, 1068, 1072, 1055, 1072, + 1063, 1118, 1067, 2478, 1117, 1064, 1067, 1085, 1067, 1068, + 1068, 1089, 1086, 1091, 1092, 1078, 1086, 1095, 1075, 1090, + 1097, 1139, 2478, 1140, 1141, 1083, 1093, 1103, 1087, 1107, + 1095, 1091, 1098, 1107, 1095, 1102, 1103, 1115, 1156, 1103, + 1101, 1103, 1120, 1161, 1111, 1110, 1116, 1114, 1112, 1107, + 1168, 1119, 1170, 1166, 1172, 2478, 1129, 1122, 1113, 1132, + + 1120, 1130, 1127, 1132, 1128, 1141, 1141, 2478, 1125, 1128, + 1123, 1129, 2478, 1130, 1190, 1129, 1148, 1149, 1151, 1190, + 1143, 1197, 1198, 1151, 1136, 1150, 1148, 1159, 1158, 1142, + 1147, 1165, 2478, 1187, 1178, 1210, 1150, 1172, 1167, 1167, + 1171, 1216, 2478, 1159, 1159, 1162, 1179, 1174, 1178, 1223, + 1171, 1175, 2478, 1167, 1184, 1164, 1185, 1175, 1227, 1180, + 2478, 1193, 1193, 1231, 1179, 1188, 1235, 1193, 1198, 1184, + 1244, 1187, 1198, 1190, 1196, 1192, 1210, 1211, 1212, 2478, + 2478, 1211, 2478, 1196, 1207, 1198, 1217, 1210, 1208, 1201, + 1213, 1257, 1221, 1210, 1217, 1218, 1224, 2478, 1217, 1269, + + 1210, 1271, 2478, 1272, 1214, 1220, 1227, 1271, 1233, 2478, + 1234, 2478, 1221, 2478, 1223, 1237, 1242, 1225, 1284, 1241, + 1242, 1243, 1283, 1235, 1240, 1291, 1244, 1288, 1241, 1295, + 2478, 1242, 1297, 1298, 1255, 1256, 1258, 2478, 2478, 1241, + 1303, 1299, 1248, 1264, 1307, 1249, 1261, 1266, 1281, 1312, + 2478, 1269, 1262, 1271, 1262, 1273, 2478, 1318, 1255, 1266, + 1281, 1317, 1269, 2478, 1265, 1281, 1282, 1283, 1280, 1324, + 1287, 1277, 1287, 1293, 1280, 1276, 1336, 1332, 1290, 1335, + 1342, 1299, 2478, 1300, 1293, 1302, 1303, 1300, 1290, 1293, + 1293, 1298, 1353, 1300, 1355, 1298, 1303, 1358, 1354, 1295, + + 1310, 1304, 1307, 1320, 1321, 1319, 1368, 2478, 1322, 2478, + 2478, 1327, 1319, 1329, 1314, 1370, 1317, 1317, 1378, 1322, + 1332, 1381, 2478, 1329, 1329, 1331, 1333, 1386, 1327, 1330, + 2478, 1331, 1348, 1353, 2478, 1337, 2478, 2478, 1350, 1333, + 1353, 1354, 2478, 1341, 1400, 1350, 2478, 1402, 1351, 1404, + 1384, 2478, 1406, 1363, 1408, 1359, 1406, 2478, 1354, 1413, + 1363, 1357, 1354, 1357, 1360, 1360, 1377, 1416, 1369, 1381, + 1384, 1372, 1375, 1368, 1376, 1366, 2478, 1374, 1389, 1374, + 2478, 1376, 1377, 1392, 1392, 1395, 1395, 1392, 1436, 1398, + 1390, 2478, 1391, 2478, 1401, 1393, 2478, 1399, 1404, 1405, + + 1402, 1446, 1394, 1409, 1410, 1402, 2478, 1399, 1400, 1400, + 1406, 1405, 1403, 1457, 1418, 2478, 1459, 1406, 2478, 1407, + 1407, 1409, 1415, 2478, 1424, 1418, 1473, 1415, 1422, 1414, + 1427, 1430, 1441, 1434, 1440, 1484, 1437, 2478, 1446, 2478, + 1443, 2478, 1440, 1463, 2478, 1490, 2478, 1448, 1433, 1493, + 2478, 1494, 1451, 1456, 1438, 1498, 1499, 1495, 1459, 1456, + 1452, 1445, 1500, 1458, 1459, 1449, 1454, 1466, 1511, 1466, + 1514, 1510, 1474, 1470, 1514, 1462, 1467, 1465, 1524, 1480, + 1468, 1527, 1523, 1486, 1530, 1491, 1480, 1474, 1534, 1476, + 1477, 1491, 1494, 1494, 1540, 1482, 1499, 1495, 1493, 1500, + + 1484, 1542, 1543, 1490, 1545, 1508, 1501, 1500, 1500, 1495, + 1513, 2478, 1513, 1505, 1511, 1516, 1503, 1502, 1504, 1559, + 2478, 1500, 1518, 1567, 1525, 1538, 2478, 1570, 1523, 2478, + 2478, 1514, 1525, 1574, 2478, 2478, 1520, 1525, 1523, 1573, + 1531, 1536, 1524, 1541, 1530, 1528, 1542, 1529, 2478, 1531, + 2478, 1534, 1585, 1528, 1533, 1593, 1541, 1551, 1552, 2478, + 1598, 1551, 1595, 2478, 1546, 1602, 2478, 1545, 1560, 1548, + 2478, 1558, 1559, 1608, 1566, 1570, 2478, 1606, 1572, 1548, + 1566, 1567, 1576, 1558, 1565, 1619, 1578, 1577, 1568, 1618, + 1570, 1566, 1626, 1574, 1569, 1570, 1630, 1631, 1581, 1633, + + 1586, 1591, 1584, 2478, 1637, 1638, 2478, 1587, 1640, 1582, + 2478, 1585, 1595, 1639, 1587, 1602, 1589, 1604, 1590, 1597, + 1597, 1652, 1609, 1610, 1598, 1597, 1657, 1610, 2478, 1654, + 1605, 1602, 2478, 1616, 1603, 1624, 2478, 1621, 1666, 1619, + 1616, 1617, 2478, 1670, 1629, 1612, 1614, 1630, 1623, 1613, + 1629, 1630, 1639, 2478, 1629, 1681, 1641, 1625, 1634, 1680, + 2478, 1644, 1639, 1688, 2478, 2478, 1630, 2478, 1637, 1691, + 1687, 2478, 2478, 1649, 2478, 1689, 1651, 1652, 1637, 1638, + 1646, 1700, 1648, 1697, 1698, 1653, 2478, 1648, 1666, 1653, + 1660, 2478, 1657, 1662, 1660, 1712, 1713, 1661, 1658, 1658, + + 2478, 1673, 1674, 1675, 2478, 1676, 1666, 1678, 1723, 1676, + 1725, 1667, 1675, 1676, 1689, 2478, 1690, 1671, 1672, 1679, + 1670, 1682, 2478, 1731, 1692, 2478, 1696, 1681, 1681, 1696, + 1689, 1688, 1699, 1686, 2478, 1702, 1690, 1693, 1749, 1689, + 1708, 1710, 1701, 1710, 1712, 1716, 2478, 2478, 1709, 1700, + 1759, 1702, 1761, 1762, 1763, 1721, 1765, 2478, 1707, 2478, + 1762, 1724, 1725, 1712, 1720, 1731, 1718, 1729, 1775, 1716, + 1719, 1724, 1715, 1780, 1733, 1734, 1724, 1741, 1740, 1781, + 1725, 1744, 1745, 2478, 1750, 1743, 1748, 1749, 1794, 1751, + 1754, 1741, 1750, 2478, 1799, 2478, 2478, 2478, 1760, 2478, + + 1801, 1743, 1803, 1804, 1747, 1806, 1754, 1803, 1804, 2478, + 1766, 1771, 1812, 1771, 2478, 1762, 1752, 1811, 1777, 1770, + 1766, 1820, 1763, 1765, 1764, 1771, 1767, 1769, 2478, 1774, + 1784, 1769, 1777, 2478, 1772, 2478, 1784, 2478, 2478, 1789, + 2478, 1790, 1790, 1781, 1837, 1786, 2478, 1788, 1796, 1841, + 1782, 1784, 1781, 1805, 2478, 1792, 1799, 1800, 1803, 1792, + 1846, 1793, 1801, 1810, 1809, 1812, 1805, 1800, 1800, 1812, + 1807, 2478, 1807, 1819, 1864, 2478, 1810, 1822, 1867, 1816, + 1818, 1816, 1817, 1872, 1825, 1812, 1827, 1832, 1877, 1878, + 1879, 1836, 1881, 1882, 1826, 1830, 1834, 1828, 2478, 1844, + + 1888, 2478, 1845, 1830, 1848, 1839, 2478, 1840, 1854, 1850, + 1843, 2478, 2478, 2478, 1897, 2478, 2478, 1840, 1848, 1856, + 1901, 1862, 2478, 1903, 1845, 1905, 1848, 1861, 1860, 1861, + 1851, 2478, 1852, 1912, 1908, 2478, 1855, 2478, 1867, 2478, + 1911, 1917, 1859, 1875, 1920, 1921, 2478, 1882, 1879, 1871, + 1875, 2478, 1922, 1871, 2478, 2478, 1883, 1876, 1931, 1879, + 1879, 1875, 1877, 1892, 1877, 2478, 1938, 1885, 1892, 1941, + 1942, 1890, 2478, 1894, 1893, 2478, 2478, 1887, 1887, 1904, + 1949, 1895, 1951, 2478, 1952, 2478, 2478, 2478, 1958, 1961, + 1964, 1965, 1967, 1970, 1973, 1976 + } ; -static const flex_int16_t yy_def[2065] = +static const flex_int16_t yy_def[2097] = { 0, - 2057, 2057, 2058, 2058, 2057, 2057, 2057, 2057, 2057, 2057, - 2056, 2056, 2056, 2056, 2056, 2059, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2060, - 2056, 2056, 2056, 2061, 15, 2056, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2062, 45, 45, 45, 45, + 2089, 2089, 2090, 2090, 2089, 2089, 2089, 2089, 2089, 2089, + 2088, 2088, 2088, 2088, 2088, 2091, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2092, + 2088, 2088, 2088, 2093, 15, 2088, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2094, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2059, 2056, 2056, - 2056, 2056, 2056, 2056, 2063, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2060, 2056, 2061, 2056, + 45, 45, 45, 45, 45, 45, 45, 2091, 2088, 2088, + 2088, 2088, 2088, 2088, 2095, 2088, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2092, 2088, 2093, 2088, - 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2064, 45, 2062, 45, 45, 45, 45, 45, 45, + 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2096, 45, 2094, 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, 45, - 45, 45, 45, 45, 2063, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2095, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2064, 2056, 2056, 114, 45, 45, 45, + 45, 45, 45, 45, 2096, 2088, 2088, 114, 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, 2056, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2088, 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, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 45, 45, 45, 45, - 45, 45, 2056, 45, 2056, 45, 114, 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2056, 45, 45, 45, + 45, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 45, 45, + 45, 45, 45, 45, 2088, 45, 2088, 45, 114, 2088, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2088, 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, 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2088, 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, 2056, 45, - 45, 45, 45, 2056, 2056, 2056, 45, 45, 45, 45, - 45, 2056, 45, 2056, 45, 114, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2056, 45, 45, - 45, 45, 45, 45, 45, 45, 2056, 45, 45, 45, - 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2056, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2088, 45, 45, 45, 45, 2088, 2088, 2088, 45, + 45, 45, 45, 45, 2088, 45, 2088, 45, 114, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2088, 45, 45, 45, 45, 45, 45, 45, 45, 2088, + 45, 45, 45, 45, 45, 45, 2088, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2056, 45, 2056, 45, + 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2088, 45, 2088, 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, 2056, 45, 45, 2056, 45, 45, 2056, 45, 45, - 2056, 45, 45, 45, 2056, 2056, 2056, 45, 45, 45, - 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2088, 45, 45, 2088, 45, + 45, 2088, 45, 45, 2088, 45, 45, 45, 2088, 2088, + 2088, 45, 45, 45, 2088, 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, 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2056, 45, - + 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2088, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2056, 45, 45, 2056, 45, 45, 45, + + 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2088, 45, + 45, 2088, 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, 2056, + 45, 45, 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2056, 45, 45, 45, 45, + 45, 2088, 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, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2056, 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, 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2088, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2056, 2056, 45, 45, - 45, 45, 45, 45, 2056, 2056, 45, 45, 45, 45, - 45, 2056, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2056, 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2088, 2088, 45, 45, 45, 45, 45, + 45, 2088, 2088, 45, 45, 45, 45, 45, 2088, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2088, + 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2056, 45, 45, 45, + 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2056, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2056, 45, 45, 45, - 45, 45, 45, 2056, 2056, 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, - 2056, 45, 45, 45, 45, 2056, 45, 45, 45, 45, + 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2088, 45, 45, 45, 45, 45, + 45, 2088, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2056, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2088, 45, + 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2056, 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2056, 45, 45, 45, 45, + 2088, 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2056, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2056, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2088, 45, 45, 45, 45, - 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2088, 45, 45, + 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, - 45, 2056, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2056, - 2056, 45, 2056, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2056, 45, 45, - 45, 45, 2056, 45, 45, 45, 45, 45, 45, 2056, - - 45, 2056, 45, 2056, 45, 45, 45, 45, 45, 45, + 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, + 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2088, + 2088, 45, 2088, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2088, 45, 45, + + 45, 45, 2088, 45, 45, 45, 45, 45, 45, 2088, + 45, 2088, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2056, 45, 45, 45, 45, 45, 45, 2056, 2056, 45, + 2088, 45, 45, 45, 45, 45, 45, 2088, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2056, 45, 45, 45, 45, 45, 2056, 45, 45, 45, - 45, 45, 45, 2056, 45, 45, 45, 45, 45, 45, + 2088, 45, 45, 45, 45, 45, 2088, 45, 45, 45, + 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2056, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2056, 45, 2056, 2056, + 45, 45, 45, 45, 45, 45, 45, 2088, 45, 2088, + 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, + 2088, 45, 45, 45, 2088, 45, 2088, 2088, 45, 45, + 45, 45, 2088, 45, 45, 45, 2088, 45, 45, 45, + 45, 2088, 45, 45, 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2056, 45, 45, 45, 45, 45, 45, 45, 2056, - 45, 45, 45, 2056, 45, 2056, 2056, 45, 45, 45, - 45, 2056, 45, 45, 45, 2056, 45, 45, 45, 45, - 2056, 45, 45, 45, 45, 45, 2056, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2088, 45, 45, 45, + 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2088, 45, 2088, 45, 45, 2088, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 2088, 45, 45, 45, + 45, 45, 45, 45, 45, 2088, 45, 45, 2088, 45, + 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2088, 45, 2088, + 45, 2088, 45, 45, 2088, 45, 2088, 45, 45, 45, + 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2056, 45, 45, 2056, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2056, - 45, 2056, 45, 45, 2056, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2056, 45, 45, 45, 45, 45, - - 45, 45, 45, 2056, 45, 45, 2056, 45, 45, 45, - 45, 2056, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2056, 45, 2056, 45, 2056, - 45, 45, 2056, 45, 2056, 45, 45, 45, 2056, 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, 2088, 45, 45, 45, 45, 45, 45, 45, 45, + 2088, 45, 45, 45, 45, 45, 2088, 45, 45, 2088, + 2088, 45, 45, 45, 2088, 2088, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2088, 45, + 2088, 45, 45, 45, 45, 45, 45, 45, 45, 2088, + 45, 45, 45, 2088, 45, 45, 2088, 45, 45, 45, + 2088, 45, 45, 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2056, 45, - - 45, 45, 45, 45, 45, 45, 45, 2056, 45, 45, - 45, 45, 45, 2056, 45, 45, 2056, 2056, 45, 45, - 45, 2056, 2056, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2056, 45, 2056, 45, 45, 45, - 45, 45, 45, 45, 45, 2056, 45, 45, 45, 2056, - 45, 45, 2056, 45, 45, 45, 2056, 45, 45, 45, - 45, 45, 2056, 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, 2056, - 45, 45, 2056, 45, 45, 45, 2056, 45, 45, 45, + 45, 45, 45, 2088, 45, 45, 2088, 45, 45, 45, + 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2088, 45, + 45, 45, 2088, 45, 45, 45, 2088, 45, 45, 45, + 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, + 2088, 45, 45, 45, 2088, 2088, 45, 2088, 45, 45, + 45, 2088, 2088, 45, 2088, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2088, 45, 45, 45, + 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, + + 2088, 45, 45, 45, 2088, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2088, 45, 45, 45, 45, + 45, 45, 2088, 45, 45, 2088, 45, 45, 45, 45, + 45, 45, 45, 45, 2088, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2088, 2088, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2088, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2056, 45, 45, 45, 2056, 45, 45, - 45, 2056, 45, 45, 45, 45, 45, 2056, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2056, 45, - 45, 45, 45, 45, 45, 2056, 45, 45, 45, 2056, - 2056, 45, 2056, 45, 45, 45, 2056, 2056, 45, 2056, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2056, 45, 45, 45, 2056, 45, 45, 45, 45, - 45, 45, 45, 45, 2056, 45, 45, 45, 2056, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2056, - - 45, 45, 45, 45, 45, 45, 2056, 45, 45, 2056, - 45, 45, 45, 45, 45, 45, 45, 45, 2056, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2056, - 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2056, 45, 2056, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2056, 45, 45, 45, - 45, 45, 45, 45, 45, 2056, 45, 2056, 2056, 2056, - 45, 2056, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2056, 45, 45, 45, 45, 2056, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2056, - 45, 45, 45, 45, 2056, 45, 2056, 45, 2056, 2056, - 45, 2056, 45, 45, 45, 45, 45, 2056, 45, 45, - 45, 45, 45, 45, 45, 2056, 45, 45, 45, 45, + 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2088, 45, 2088, 2088, 2088, 45, 2088, + + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2088, + 45, 45, 45, 45, 2088, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2088, 45, + 45, 45, 45, 2088, 45, 2088, 45, 2088, 2088, 45, + 2088, 45, 45, 45, 45, 45, 2088, 45, 45, 45, + 45, 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2056, 45, 45, 45, 2056, 45, 45, 45, 45, + 45, 2088, 45, 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2056, 45, 45, - 2056, 45, 45, 45, 2056, 45, 45, 45, 45, 2056, - 2056, 2056, 45, 2056, 2056, 45, 45, 45, 45, 45, - - 2056, 45, 45, 45, 45, 45, 45, 45, 2056, 45, - 45, 45, 2056, 45, 2056, 45, 2056, 45, 45, 45, - 45, 45, 2056, 45, 45, 45, 2056, 45, 45, 2056, - 2056, 45, 45, 45, 45, 45, 45, 45, 45, 2056, - 45, 45, 45, 45, 45, 2056, 45, 2056, 2056, 45, - 45, 45, 45, 2056, 2056, 0, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056 + 45, 45, 45, 45, 45, 45, 45, 45, 2088, 45, + + 45, 2088, 45, 45, 45, 45, 2088, 45, 45, 45, + 45, 2088, 2088, 2088, 45, 2088, 2088, 45, 45, 45, + 45, 45, 2088, 45, 45, 45, 45, 45, 45, 45, + 45, 2088, 45, 45, 45, 2088, 45, 2088, 45, 2088, + 45, 45, 45, 45, 45, 45, 2088, 45, 45, 45, + 45, 2088, 45, 45, 2088, 2088, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2088, 45, 45, 45, 45, + 45, 45, 2088, 45, 45, 2088, 2088, 45, 45, 45, + 45, 45, 45, 2088, 45, 2088, 2088, 0, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088 + } ; -static const flex_int16_t yy_nxt[2520] = +static const flex_int16_t yy_nxt[2552] = { 0, - 2056, 13, 14, 13, 2056, 15, 16, 2056, 17, 18, + 2088, 13, 14, 13, 2088, 15, 16, 2088, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 84, 796, 37, 14, 37, 85, 25, 26, 38, 100, - 2056, 27, 37, 14, 37, 42, 28, 42, 38, 90, - 91, 29, 198, 30, 13, 14, 13, 89, 90, 25, + 84, 802, 37, 14, 37, 85, 25, 26, 38, 100, + 2088, 27, 37, 14, 37, 42, 28, 42, 38, 90, + 91, 29, 199, 30, 13, 14, 13, 89, 90, 25, 31, 91, 13, 14, 13, 13, 14, 13, 32, 40, - 797, 13, 14, 13, 33, 40, 101, 90, 91, 198, + 803, 13, 14, 13, 33, 40, 101, 90, 91, 199, 89, 34, 35, 13, 14, 13, 93, 15, 16, 94, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 13, 14, 13, 89, 39, 103, 25, 26, 13, 14, 13, 27, 39, 42, 105, 42, 28, 42, - 106, 42, 41, 29, 107, 30, 110, 111, 92, 138, - 41, 25, 31, 103, 227, 228, 87, 139, 87, 105, + 106, 42, 41, 29, 107, 30, 110, 111, 92, 139, + 41, 25, 31, 103, 228, 229, 87, 140, 87, 105, 32, 88, 88, 88, 88, 88, 33, 107, 106, 110, - 217, 111, 218, 34, 35, 44, 44, 44, 45, 45, + 218, 111, 219, 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, 45, 49, 45, 50, 45, 51, 45, 52, 45, 45, 45, @@ -1461,160 +1472,160 @@ static const flex_int16_t yy_nxt[2520] = 57, 58, 59, 60, 61, 62, 63, 64, 65, 51, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 55, 45, 45, 45, 45, 45, 79, 248, + 76, 77, 55, 45, 45, 45, 45, 45, 79, 250, 80, 80, 80, 80, 80, 79, 105, 82, 82, 82, - 82, 82, 249, 81, 83, 83, 83, 83, 83, 79, - 81, 82, 82, 82, 82, 82, 186, 81, 108, 105, - 103, 119, 850, 132, 81, 120, 81, 187, 109, 121, - 135, 136, 122, 81, 133, 123, 188, 124, 137, 125, - 81, 108, 186, 851, 134, 165, 115, 81, 45, 166, - 140, 203, 116, 187, 45, 117, 109, 45, 852, 45, - 141, 45, 142, 45, 188, 113, 144, 145, 45, 45, - - 146, 45, 45, 853, 203, 100, 147, 45, 45, 45, + 82, 82, 251, 81, 83, 83, 83, 83, 83, 79, + 81, 82, 82, 82, 82, 82, 137, 81, 108, 105, + 103, 119, 849, 138, 81, 120, 81, 166, 109, 121, + 136, 167, 122, 81, 221, 123, 235, 124, 236, 125, + 81, 108, 238, 222, 223, 189, 115, 81, 45, 187, + 141, 132, 116, 133, 45, 117, 109, 45, 239, 45, + 142, 45, 143, 45, 134, 113, 145, 146, 45, 45, + + 147, 45, 45, 189, 135, 187, 148, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 126, 161, 45, 127, 128, 162, 45, 129, 130, 148, - 45, 107, 101, 149, 200, 163, 323, 150, 45, 186, - 131, 434, 45, 110, 45, 114, 233, 156, 234, 151, - 153, 187, 154, 152, 155, 157, 188, 158, 174, 175, - 167, 200, 159, 160, 168, 189, 181, 169, 108, 83, - 83, 83, 83, 83, 170, 171, 182, 190, 109, 172, - 173, 183, 81, 79, 191, 80, 80, 80, 80, 80, - - 253, 176, 723, 177, 254, 87, 178, 87, 81, 724, - 88, 88, 88, 88, 88, 81, 179, 83, 83, 83, - 83, 83, 79, 180, 82, 82, 82, 82, 82, 195, + 126, 162, 45, 127, 128, 163, 45, 129, 130, 149, + 45, 107, 255, 150, 201, 164, 256, 151, 45, 188, + 131, 728, 45, 110, 45, 114, 265, 157, 729, 152, + 154, 187, 155, 153, 156, 158, 189, 159, 175, 176, + 168, 201, 160, 161, 169, 188, 182, 170, 108, 83, + 83, 83, 83, 83, 171, 172, 183, 190, 109, 173, + 174, 184, 81, 79, 192, 80, 80, 80, 80, 80, + + 278, 177, 266, 178, 279, 87, 179, 87, 81, 100, + 88, 88, 88, 88, 88, 81, 180, 83, 83, 83, + 83, 83, 79, 181, 82, 82, 82, 82, 82, 188, 81, 81, 88, 88, 88, 88, 88, 81, 88, 88, - 88, 88, 88, 99, 197, 199, 201, 263, 202, 195, - 99, 236, 213, 81, 220, 240, 854, 195, 241, 199, - 81, 214, 242, 221, 222, 215, 208, 237, 273, 311, - 197, 274, 275, 199, 201, 202, 296, 209, 201, 276, - 99, 200, 268, 277, 99, 288, 289, 199, 99, 261, - 297, 202, 310, 264, 312, 311, 99, 269, 270, 271, - - 99, 310, 99, 99, 206, 279, 304, 311, 301, 312, - 320, 318, 207, 207, 207, 207, 207, 312, 306, 855, - 310, 207, 207, 207, 207, 207, 207, 290, 856, 313, - 321, 291, 315, 314, 318, 292, 322, 324, 320, 326, - 280, 281, 282, 371, 207, 207, 207, 207, 207, 207, - 318, 283, 379, 284, 441, 285, 286, 321, 287, 322, - 324, 341, 393, 859, 342, 398, 326, 327, 327, 327, - 327, 327, 369, 329, 343, 399, 327, 327, 327, 327, - 327, 327, 344, 412, 422, 447, 413, 345, 346, 370, - 429, 324, 430, 444, 444, 448, 372, 423, 394, 327, - - 327, 327, 327, 327, 327, 380, 442, 449, 381, 451, - 453, 537, 395, 474, 324, 449, 444, 445, 481, 521, - 511, 512, 846, 547, 482, 513, 495, 548, 437, 522, - 475, 496, 451, 552, 584, 584, 449, 553, 453, 456, - 456, 456, 456, 456, 457, 846, 617, 860, 456, 456, - 456, 456, 456, 456, 570, 578, 588, 571, 589, 618, - 579, 619, 584, 590, 694, 627, 719, 649, 864, 538, - 628, 456, 456, 456, 456, 456, 456, 650, 865, 497, - 866, 718, 845, 588, 498, 589, 45, 45, 45, 45, - 45, 772, 773, 609, 719, 45, 45, 45, 45, 45, - - 45, 610, 831, 611, 612, 613, 717, 614, 718, 744, - 845, 720, 745, 832, 861, 862, 695, 863, 45, 45, - 45, 45, 45, 45, 857, 867, 868, 869, 870, 871, - 858, 872, 873, 874, 875, 876, 877, 878, 879, 880, - 881, 882, 883, 884, 887, 888, 889, 885, 890, 891, - 892, 886, 893, 894, 895, 896, 897, 898, 899, 900, + 88, 88, 88, 99, 196, 198, 101, 200, 202, 214, + 99, 203, 270, 81, 204, 191, 242, 196, 215, 243, + 81, 200, 216, 244, 290, 291, 201, 271, 272, 273, + 202, 198, 196, 298, 209, 200, 202, 204, 203, 275, + 99, 203, 276, 277, 99, 210, 292, 299, 99, 200, + 293, 263, 312, 303, 294, 314, 99, 374, 306, 850, + + 99, 313, 99, 99, 207, 281, 312, 313, 308, 314, + 322, 372, 208, 208, 208, 208, 208, 432, 314, 433, + 312, 208, 208, 208, 208, 208, 208, 313, 373, 320, + 323, 324, 317, 316, 315, 328, 326, 320, 322, 853, + 282, 283, 284, 396, 208, 208, 208, 208, 208, 208, + 375, 285, 320, 286, 324, 287, 288, 323, 289, 326, + 331, 382, 328, 329, 329, 329, 329, 329, 343, 326, + 345, 344, 329, 329, 329, 329, 329, 329, 346, 397, + 401, 425, 415, 347, 348, 416, 325, 444, 447, 447, + 402, 437, 326, 398, 426, 329, 329, 329, 329, 329, + + 329, 452, 454, 450, 456, 452, 440, 477, 541, 484, + 525, 447, 448, 451, 383, 485, 582, 384, 515, 516, + 526, 583, 632, 517, 478, 454, 499, 633, 588, 551, + 452, 500, 456, 552, 460, 574, 588, 654, 575, 445, + 459, 459, 459, 459, 459, 778, 779, 655, 621, 459, + 459, 459, 459, 459, 459, 556, 588, 613, 592, 557, + 593, 622, 699, 623, 594, 614, 542, 615, 616, 617, + 854, 618, 459, 459, 459, 459, 459, 459, 723, 501, + 724, 722, 851, 837, 502, 592, 725, 593, 45, 45, + 45, 45, 45, 749, 838, 852, 750, 45, 45, 45, + + 45, 45, 45, 855, 856, 723, 857, 858, 724, 859, + 851, 860, 861, 862, 700, 865, 866, 870, 852, 871, + 45, 45, 45, 45, 45, 45, 863, 867, 868, 872, + 869, 873, 864, 874, 875, 876, 877, 878, 879, 880, + 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, + 891, 894, 895, 896, 892, 897, 898, 899, 893, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, - 911, 913, 914, 912, 915, 916, 917, 918, 919, 920, - 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, + 911, 912, 913, 914, 915, 916, 917, 918, 920, 921, + 919, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, - 951, 953, 954, 955, 956, 959, 960, 952, 961, 963, - 964, 957, 965, 966, 962, 958, 967, 968, 969, 970, - 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, + 951, 952, 953, 954, 955, 956, 957, 958, 960, 961, + 962, 963, 966, 967, 959, 968, 970, 971, 964, 972, + 973, 969, 965, 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, 980, 1008, 1009, - 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, - 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1029, 1030, - 1031, 1032, 1028, 1033, 1034, 1035, 1036, 1037, 1038, 1039, - - 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, - 1050, 1051, 1052, 1054, 1055, 1056, 1053, 1057, 1058, 1059, - 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, + 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, + 1011, 1012, 1013, 1014, 987, 1015, 1016, 1017, 1018, 1019, + 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, + 1030, 1031, 1032, 1033, 1034, 1035, 1037, 1038, 1039, 1040, + + 1036, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, + 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, + 1060, 1062, 1063, 1064, 1061, 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, 1090, 1091, 1092, 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, 1118, 1119, - 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1106, - 1129, 1130, 1105, 1131, 1132, 1133, 1134, 1135, 1136, 1137, + 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, + 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1114, 1137, 1138, - 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, - 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1156, 1157, 1158, - 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, + 1113, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, + 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, + 1158, 1159, 1160, 1161, 1162, 1163, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, - 1179, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, - 1190, 1180, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, - 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, - 1209, 1210, 1211, 1212, 1155, 1213, 1214, 1215, 1216, 1217, - 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1227, 1226, - 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, + 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, + 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, + 1189, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, + 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, + 1219, 1220, 1221, 1164, 1222, 1223, 1224, 1225, 1226, 1227, + 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1236, 1235, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, - 1248, 1249, 1250, 1251, 1252, 1225, 1226, 1253, 1254, 1255, - 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 1268, 1269, 1270, 1271, 1273, 1275, 1276, 1277, - 1272, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, - 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, + 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, + 1258, 1259, 1260, 1261, 1234, 1235, 1262, 1263, 1264, 1265, + 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, + 1276, 1277, 1278, 1279, 1280, 1281, 1283, 1285, 1286, 1287, + 1282, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, - 1274, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, - 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, + 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, + 1284, 1327, 1328, 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, 1358, 1359, 1360, 1361, 1339, 1362, 1363, 1364, - 1365, 1366, 1340, 1367, 1368, 1369, 1370, 1371, 1372, 1373, - 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, + 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, + 1366, 1367, 1368, 1369, 1370, 1371, 1349, 1372, 1373, 1374, + 1375, 1376, 1350, 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, 1407, 1408, 1409, 1410, 1411, 1412, 1413, - 1414, 1415, 1416, 1418, 1419, 1420, 1421, 1422, 1423, 1424, - 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, + 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, + 1424, 1425, 1426, 1427, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, - 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, - 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, - 1466, 1467, 1468, 1440, 1469, 1417, 1470, 1471, 1472, 1473, - 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, - 1484, 1485, 1486, 1487, 1488, 1490, 1448, 1491, 1492, 1493, - 1494, 1495, 1489, 1496, 1497, 1498, 1499, 1500, 1501, 1502, - 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, - 1514, 1515, 1516, 1517, 1513, 1518, 1519, 1520, 1521, 1522, - 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1532, 1533, - - 1534, 1535, 1531, 1536, 1537, 1538, 1539, 1540, 1541, 1542, - 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, - 1553, 1532, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, - 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, + 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, + 1455, 1456, 1457, 1458, 1460, 1461, 1462, 1463, 1464, 1465, + 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, + 1476, 1477, 1478, 1479, 1451, 1480, 1428, 1481, 1482, 1483, + 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, + 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1459, 1502, 1503, + 1504, 1505, 1506, 1507, 1501, 1508, 1509, 1510, 1511, 1512, + 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, + 1523, 1524, 1526, 1527, 1528, 1529, 1525, 1530, 1531, 1532, + + 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, + 1544, 1545, 1546, 1547, 1543, 1548, 1549, 1550, 1551, 1552, + 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, + 1563, 1564, 1565, 1544, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, - 1592, 1593, 1594, 1598, 1595, 1599, 1600, 1596, 1601, 1602, - 1597, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, - 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, - 1622, 1623, 1624, 1625, 1627, 1628, 1629, 1630, 1631, 1632, - - 1633, 1634, 1635, 1636, 1626, 1637, 1638, 1639, 1613, 1640, - 1641, 1642, 1643, 1644, 1645, 1646, 1648, 1649, 1650, 1651, - 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, + 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, + 1602, 1603, 1604, 1605, 1606, 1607, 1611, 1608, 1612, 1613, + 1609, 1614, 1615, 1610, 1616, 1617, 1618, 1619, 1620, 1621, + 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, + + 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1640, 1641, 1642, + 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1639, 1650, 1651, + 1652, 1626, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1662, 1663, 1664, 1665, 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, 1701, - 1702, 1703, 1704, 1647, 1705, 1706, 1707, 1708, 1709, 1710, - 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1692, 1719, - 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, + 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, + 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1661, 1719, 1720, + 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, - 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, + 1731, 1732, 1706, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, @@ -1647,85 +1658,89 @@ static const flex_int16_t yy_nxt[2520] = 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, - 2030, 2031, 2032, 2034, 2033, 2035, 2036, 2037, 2038, 2039, + 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, - 2050, 2051, 2052, 2053, 2054, 2055, 12, 12, 12, 36, - 36, 36, 78, 97, 78, 99, 99, 99, 112, 112, - 112, 185, 849, 185, 204, 204, 204, 848, 847, 844, - 843, 842, 841, 840, 839, 838, 837, 836, 835, 834, - 833, 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, 795, 794, 793, 792, 791, 790, - - 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, - 779, 778, 777, 776, 775, 774, 771, 770, 769, 768, - 767, 766, 765, 764, 763, 762, 761, 760, 759, 758, - 757, 756, 755, 754, 753, 752, 751, 750, 749, 748, - 747, 746, 743, 742, 741, 740, 739, 738, 737, 736, - 735, 734, 733, 732, 731, 730, 729, 728, 727, 726, - 725, 722, 721, 717, 716, 715, 714, 713, 712, 711, - 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, - 700, 699, 698, 697, 696, 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, - 668, 667, 666, 665, 664, 663, 662, 661, 660, 659, - 658, 657, 656, 655, 654, 653, 652, 651, 648, 647, - 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, - 636, 635, 634, 633, 632, 631, 630, 629, 626, 625, - 624, 623, 622, 621, 620, 616, 615, 608, 607, 606, - 605, 604, 603, 602, 601, 600, 599, 598, 597, 596, - 595, 594, 593, 592, 591, 587, 586, 585, 583, 582, - 581, 580, 577, 576, 575, 574, 573, 572, 569, 568, - 567, 566, 565, 564, 563, 562, 561, 560, 559, 558, - - 557, 556, 555, 554, 551, 550, 549, 546, 545, 544, - 543, 542, 541, 540, 539, 536, 535, 534, 533, 532, - 531, 530, 529, 528, 527, 526, 525, 524, 523, 520, - 519, 518, 517, 516, 515, 514, 510, 509, 508, 507, - 506, 505, 504, 503, 502, 501, 500, 499, 494, 493, - 492, 491, 490, 489, 488, 487, 486, 485, 484, 483, - 480, 479, 478, 477, 476, 473, 472, 471, 470, 469, - 468, 467, 466, 465, 464, 463, 462, 461, 460, 459, - 458, 455, 454, 452, 450, 446, 443, 440, 439, 438, - 436, 435, 433, 432, 431, 428, 427, 426, 425, 424, - - 421, 420, 419, 418, 417, 416, 415, 414, 411, 410, - 409, 408, 407, 406, 405, 404, 403, 402, 401, 400, - 397, 396, 392, 391, 390, 389, 388, 387, 386, 385, - 384, 383, 382, 378, 377, 376, 375, 374, 373, 368, - 367, 366, 365, 364, 363, 362, 361, 360, 359, 358, - 357, 356, 355, 354, 353, 352, 351, 350, 349, 348, - 347, 340, 339, 338, 337, 336, 335, 334, 333, 332, - 331, 330, 328, 205, 325, 323, 319, 317, 316, 309, - 308, 307, 305, 303, 302, 300, 299, 298, 295, 294, - 293, 278, 272, 267, 266, 265, 262, 260, 259, 258, - - 257, 256, 255, 252, 251, 250, 247, 246, 245, 244, - 243, 239, 238, 235, 232, 231, 230, 229, 226, 225, - 224, 223, 219, 216, 212, 211, 210, 205, 196, 194, - 193, 192, 184, 164, 143, 118, 104, 102, 43, 98, - 96, 95, 86, 43, 2056, 11, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056 + 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2059, 2058, + 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, + 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, + 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 12, 12, + 12, 36, 36, 36, 78, 97, 78, 99, 99, 99, + 112, 112, 112, 186, 848, 186, 205, 205, 205, 847, + 846, 845, 844, 843, 842, 841, 840, 839, 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, 801, 800, 799, 798, 797, 796, 795, 794, 793, + 792, 791, 790, 789, 788, 787, 786, 785, 784, 783, + 782, 781, 780, 777, 776, 775, 774, 773, 772, 771, + 770, 769, 768, 767, 766, 765, 764, 763, 762, 761, + 760, 759, 758, 757, 756, 755, 754, 753, 752, 751, + 748, 747, 746, 745, 744, 743, 742, 741, 740, 739, + 738, 737, 736, 735, 734, 733, 732, 731, 730, 727, + 726, 722, 721, 720, 719, 718, 717, 716, 715, 714, + + 713, 712, 711, 710, 709, 708, 707, 706, 705, 704, + 703, 702, 701, 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, 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, 631, 630, 629, 628, + 627, 626, 625, 624, 620, 619, 612, 611, 610, 609, + 608, 607, 606, 605, 604, 603, 602, 601, 600, 599, + + 598, 597, 596, 595, 591, 590, 589, 587, 586, 585, + 584, 581, 580, 579, 578, 577, 576, 573, 572, 571, + 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, + 560, 559, 558, 555, 554, 553, 550, 549, 548, 547, + 546, 545, 544, 543, 540, 539, 538, 537, 536, 535, + 534, 533, 532, 531, 530, 529, 528, 527, 524, 523, + 522, 521, 520, 519, 518, 514, 513, 512, 511, 510, + 509, 508, 507, 506, 505, 504, 503, 498, 497, 496, + 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, + 483, 482, 481, 480, 479, 476, 475, 474, 473, 472, + + 471, 470, 469, 468, 467, 466, 465, 464, 463, 462, + 461, 458, 457, 455, 453, 449, 446, 443, 442, 441, + 439, 438, 436, 435, 434, 431, 430, 429, 428, 427, + 424, 423, 422, 421, 420, 419, 418, 417, 414, 413, + 412, 411, 410, 409, 408, 407, 406, 405, 404, 403, + 400, 399, 395, 394, 393, 392, 391, 390, 389, 388, + 387, 386, 385, 381, 380, 379, 378, 377, 376, 371, + 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, + 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, + 350, 349, 342, 341, 340, 339, 338, 337, 336, 335, + + 334, 333, 332, 330, 206, 327, 325, 321, 319, 318, + 311, 310, 309, 307, 305, 304, 302, 301, 300, 297, + 296, 295, 280, 274, 269, 268, 267, 264, 262, 261, + 260, 259, 258, 257, 254, 253, 252, 249, 248, 247, + 246, 245, 241, 240, 237, 234, 233, 232, 231, 230, + 227, 226, 225, 224, 220, 217, 213, 212, 211, 206, + 197, 195, 194, 193, 185, 165, 144, 118, 104, 102, + 43, 98, 96, 95, 86, 43, 2088, 11, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088 } ; -static const flex_int16_t yy_chk[2520] = +static const flex_int16_t yy_chk[2552] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 666, 3, 3, 3, 21, 1, 1, 3, 44, + 21, 671, 3, 3, 3, 21, 1, 1, 3, 44, 0, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 106, 1, 5, 5, 5, 26, 32, 1, 1, 33, 6, 6, 6, 7, 7, 7, 1, 7, - 666, 8, 8, 8, 1, 8, 44, 27, 28, 106, + 671, 8, 8, 8, 1, 8, 44, 27, 28, 106, 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, @@ -1742,260 +1757,264 @@ static const flex_int16_t yy_chk[2520] = 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, 144, + 15, 15, 15, 15, 15, 15, 15, 15, 17, 145, 17, 17, 17, 17, 17, 19, 62, 19, 19, 19, - 19, 19, 144, 17, 20, 20, 20, 20, 20, 22, - 19, 22, 22, 22, 22, 22, 89, 20, 53, 62, - 57, 59, 723, 61, 22, 59, 17, 90, 53, 59, - 62, 63, 59, 19, 61, 59, 91, 59, 63, 59, - 20, 53, 89, 724, 61, 73, 57, 22, 45, 73, - 65, 111, 57, 90, 45, 57, 53, 45, 725, 45, - 65, 45, 65, 45, 91, 56, 67, 67, 45, 45, - - 67, 45, 56, 726, 111, 99, 67, 45, 45, 45, + 19, 19, 145, 17, 20, 20, 20, 20, 20, 22, + 19, 22, 22, 22, 22, 22, 63, 20, 53, 62, + 57, 59, 720, 63, 22, 59, 17, 73, 53, 59, + 62, 73, 59, 19, 123, 59, 134, 59, 134, 59, + 20, 53, 136, 123, 123, 91, 57, 22, 45, 89, + 65, 61, 57, 61, 45, 57, 53, 45, 136, 45, + 65, 45, 65, 45, 61, 56, 67, 67, 45, 45, + + 67, 45, 56, 91, 61, 89, 67, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 60, 71, 56, 60, 60, 71, 56, 60, 60, 68, - 56, 69, 99, 68, 108, 71, 301, 68, 56, 92, - 60, 301, 56, 76, 56, 56, 133, 70, 133, 68, - 69, 93, 69, 68, 69, 70, 94, 70, 75, 75, - 74, 108, 70, 70, 74, 92, 76, 74, 75, 79, - 79, 79, 79, 79, 74, 74, 76, 93, 75, 74, + 56, 69, 149, 68, 108, 71, 149, 68, 56, 90, + 60, 598, 56, 76, 56, 56, 158, 70, 598, 68, + 69, 92, 69, 68, 69, 70, 94, 70, 75, 75, + 74, 108, 70, 70, 74, 90, 76, 74, 75, 79, + 79, 79, 79, 79, 74, 74, 76, 92, 75, 74, 74, 76, 79, 80, 94, 80, 80, 80, 80, 80, - 148, 75, 594, 75, 148, 81, 75, 81, 80, 594, + 165, 75, 158, 75, 165, 81, 75, 81, 80, 99, 81, 81, 81, 81, 81, 79, 75, 83, 83, 83, - 83, 83, 82, 75, 82, 82, 82, 82, 82, 103, + 83, 83, 82, 75, 82, 82, 82, 82, 82, 93, 83, 80, 87, 87, 87, 87, 87, 82, 88, 88, - 88, 88, 88, 101, 105, 107, 109, 157, 110, 115, - 101, 135, 119, 83, 123, 138, 727, 103, 138, 155, - 82, 119, 138, 123, 123, 119, 115, 135, 163, 187, - 105, 163, 163, 107, 109, 110, 172, 115, 179, 164, - 101, 176, 161, 164, 101, 167, 167, 155, 101, 155, - 172, 181, 186, 157, 188, 187, 101, 161, 161, 161, - - 101, 189, 101, 101, 114, 166, 179, 190, 176, 191, - 197, 195, 114, 114, 114, 114, 114, 188, 181, 728, - 186, 114, 114, 114, 114, 114, 114, 168, 729, 189, - 198, 168, 191, 190, 195, 168, 199, 201, 197, 203, - 166, 166, 166, 247, 114, 114, 114, 114, 114, 114, - 209, 166, 254, 166, 308, 166, 166, 198, 166, 199, - 201, 221, 266, 731, 221, 269, 203, 207, 207, 207, - 207, 207, 246, 209, 222, 269, 207, 207, 207, 207, - 207, 207, 222, 282, 291, 317, 282, 222, 222, 246, - 297, 304, 297, 310, 313, 317, 247, 291, 266, 207, - - 207, 207, 207, 207, 207, 254, 308, 318, 254, 320, - 322, 403, 266, 346, 304, 329, 310, 313, 353, 387, - 379, 379, 719, 413, 353, 379, 366, 413, 304, 387, - 346, 366, 320, 417, 449, 457, 318, 417, 322, 327, - 327, 327, 327, 327, 329, 719, 481, 732, 327, 327, - 327, 327, 327, 327, 434, 442, 455, 434, 455, 481, - 442, 481, 449, 457, 559, 490, 589, 512, 734, 403, - 490, 327, 327, 327, 327, 327, 327, 512, 735, 366, - 736, 588, 718, 455, 366, 455, 456, 456, 456, 456, - 456, 642, 642, 478, 589, 456, 456, 456, 456, 456, - - 456, 478, 703, 478, 478, 478, 590, 478, 588, 614, - 718, 590, 614, 703, 733, 733, 559, 733, 456, 456, - 456, 456, 456, 456, 730, 737, 738, 739, 740, 741, - 730, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 754, 758, 759, - 761, 754, 762, 763, 764, 765, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, - 780, 781, 782, 780, 783, 785, 786, 787, 788, 789, - 790, 791, 792, 793, 794, 795, 797, 798, 799, 800, - 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, - - 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, - 821, 822, 823, 824, 824, 825, 826, 821, 827, 828, - 829, 824, 830, 832, 827, 824, 833, 834, 835, 836, - 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, - 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, - 857, 858, 860, 861, 862, 863, 864, 865, 866, 867, - 868, 869, 870, 871, 872, 873, 874, 846, 875, 876, - 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, - 887, 888, 890, 891, 892, 893, 894, 895, 896, 897, - 898, 899, 895, 900, 901, 902, 903, 904, 905, 906, - - 909, 910, 911, 912, 913, 914, 917, 918, 919, 920, - 921, 923, 924, 925, 926, 927, 924, 928, 929, 930, - 931, 932, 935, 936, 937, 938, 939, 940, 941, 942, - 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, - 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, - 963, 964, 965, 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, 999, 1000, 1001, 1002, 1003, 980, - 1004, 1005, 979, 1006, 1007, 1008, 1009, 1010, 1011, 1012, - - 1013, 1014, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, - 1024, 1025, 1026, 1028, 1029, 1030, 1031, 1032, 1033, 1036, - 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, - 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, - 1057, 1058, 1059, 1060, 1062, 1063, 1064, 1065, 1067, 1068, - 1069, 1057, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, - 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1087, 1088, - 1089, 1090, 1091, 1092, 1031, 1093, 1094, 1095, 1096, 1097, - 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1107, 1106, - 1108, 1109, 1110, 1111, 1112, 1114, 1115, 1116, 1118, 1119, - - 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, - 1130, 1131, 1132, 1133, 1134, 1105, 1106, 1135, 1137, 1138, - 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, - 1149, 1150, 1151, 1152, 1153, 1155, 1156, 1157, 1158, 1159, - 1155, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, - 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, - 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1188, 1189, - 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1200, - 1156, 1201, 1202, 1203, 1205, 1206, 1207, 1208, 1209, 1210, - 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, - - 1221, 1222, 1223, 1225, 1226, 1227, 1228, 1229, 1230, 1231, - 1232, 1233, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, - 1243, 1245, 1246, 1247, 1248, 1249, 1225, 1250, 1251, 1253, - 1254, 1255, 1226, 1256, 1257, 1258, 1259, 1260, 1261, 1262, - 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1272, 1274, 1275, - 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, - 1286, 1287, 1289, 1290, 1291, 1292, 1294, 1295, 1296, 1297, - 1298, 1299, 1301, 1303, 1305, 1306, 1307, 1308, 1309, 1310, - 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, - 1322, 1323, 1324, 1325, 1326, 1327, 1330, 1331, 1332, 1333, - - 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1342, 1343, 1344, - 1345, 1346, 1348, 1349, 1350, 1351, 1352, 1353, 1355, 1356, - 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, - 1367, 1368, 1369, 1339, 1370, 1313, 1371, 1373, 1374, 1375, - 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, - 1386, 1387, 1388, 1389, 1390, 1391, 1348, 1392, 1393, 1394, - 1395, 1396, 1390, 1398, 1401, 1402, 1403, 1404, 1405, 1406, - 1407, 1408, 1409, 1410, 1411, 1413, 1414, 1415, 1416, 1417, - 1418, 1419, 1421, 1422, 1417, 1422, 1423, 1425, 1428, 1429, - 1430, 1431, 1433, 1434, 1435, 1437, 1438, 1439, 1440, 1442, - - 1443, 1444, 1439, 1445, 1446, 1448, 1449, 1450, 1451, 1452, - 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, - 1463, 1440, 1464, 1465, 1467, 1468, 1470, 1471, 1472, 1473, - 1474, 1475, 1476, 1477, 1478, 1479, 1481, 1483, 1484, 1486, - 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1496, 1497, - 1498, 1499, 1500, 1501, 1502, 1503, 1505, 1506, 1508, 1509, - 1510, 1511, 1513, 1514, 1513, 1515, 1516, 1513, 1517, 1518, - 1513, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1527, 1529, - 1531, 1532, 1534, 1536, 1537, 1538, 1540, 1541, 1542, 1543, - 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, - - 1554, 1555, 1556, 1557, 1547, 1558, 1559, 1560, 1532, 1561, - 1562, 1563, 1564, 1565, 1565, 1566, 1567, 1568, 1569, 1570, - 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, - 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, - 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1600, 1601, - 1602, 1603, 1604, 1605, 1606, 1607, 1609, 1610, 1611, 1612, - 1613, 1615, 1616, 1619, 1620, 1621, 1624, 1625, 1626, 1627, - 1628, 1629, 1630, 1566, 1631, 1632, 1633, 1634, 1636, 1638, - 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1647, 1613, 1648, - 1649, 1651, 1652, 1654, 1655, 1656, 1658, 1659, 1660, 1661, - - 1662, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, - 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, - 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1691, 1692, 1694, - 1695, 1696, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, - 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1715, 1716, - 1717, 1719, 1720, 1721, 1723, 1724, 1725, 1726, 1727, 1729, - 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1740, - 1741, 1742, 1743, 1744, 1745, 1747, 1748, 1749, 1752, 1754, - 1755, 1756, 1759, 1761, 1762, 1763, 1764, 1765, 1766, 1767, - 1768, 1769, 1770, 1771, 1773, 1774, 1775, 1777, 1778, 1779, - - 1780, 1781, 1782, 1783, 1784, 1786, 1787, 1788, 1790, 1791, - 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1801, 1802, - 1803, 1804, 1805, 1806, 1808, 1809, 1811, 1812, 1813, 1814, - 1815, 1816, 1817, 1818, 1820, 1821, 1822, 1823, 1824, 1825, - 1826, 1827, 1828, 1829, 1832, 1833, 1834, 1835, 1836, 1837, - 1838, 1839, 1840, 1842, 1844, 1845, 1846, 1847, 1848, 1849, - 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, - 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1868, 1869, 1870, - 1871, 1872, 1873, 1874, 1875, 1877, 1881, 1883, 1884, 1885, - 1886, 1887, 1888, 1889, 1890, 1891, 1893, 1894, 1895, 1896, - - 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, - 1908, 1909, 1911, 1912, 1913, 1914, 1916, 1918, 1921, 1923, - 1924, 1925, 1926, 1927, 1929, 1930, 1931, 1932, 1933, 1934, - 1935, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, - 1946, 1947, 1948, 1949, 1950, 1951, 1953, 1954, 1955, 1957, - 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, - 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, - 1979, 1980, 1982, 1983, 1984, 1986, 1987, 1988, 1989, 1993, - 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2010, 2011, 2012, 2014, 2016, 2018, 2019, 2020, - - 2021, 2022, 2024, 2025, 2024, 2026, 2028, 2029, 2032, 2033, - 2034, 2035, 2036, 2037, 2038, 2039, 2041, 2042, 2043, 2044, - 2045, 2047, 2050, 2051, 2052, 2053, 2057, 2057, 2057, 2058, - 2058, 2058, 2059, 2060, 2059, 2061, 2061, 2061, 2062, 2062, - 2062, 2063, 722, 2063, 2064, 2064, 2064, 721, 720, 716, - 715, 713, 712, 711, 710, 709, 708, 707, 706, 705, - 704, 702, 701, 700, 698, 697, 696, 695, 694, 693, - 692, 691, 690, 689, 688, 687, 686, 685, 683, 682, - 681, 680, 679, 678, 677, 676, 675, 673, 672, 671, - 670, 669, 668, 667, 665, 664, 663, 662, 661, 660, - - 659, 658, 656, 655, 654, 653, 652, 651, 650, 649, - 648, 647, 646, 645, 644, 643, 641, 640, 639, 638, - 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, - 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, - 616, 615, 613, 612, 611, 610, 609, 608, 607, 606, - 605, 604, 603, 602, 601, 600, 599, 598, 597, 596, - 595, 593, 592, 584, 583, 582, 581, 580, 579, 577, - 576, 574, 573, 571, 570, 569, 568, 567, 566, 565, - 564, 563, 562, 561, 560, 558, 557, 556, 555, 554, - 553, 552, 551, 550, 549, 548, 547, 546, 545, 544, - - 543, 542, 541, 540, 538, 536, 535, 534, 533, 532, - 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, - 521, 519, 518, 517, 516, 515, 514, 513, 511, 510, - 509, 508, 507, 506, 505, 504, 503, 502, 501, 500, - 499, 498, 497, 496, 494, 493, 492, 491, 489, 488, - 487, 486, 485, 483, 482, 480, 479, 476, 475, 474, - 473, 472, 471, 470, 469, 467, 466, 465, 464, 463, - 462, 461, 460, 459, 458, 453, 451, 450, 448, 447, - 446, 443, 441, 440, 438, 437, 436, 435, 433, 432, - 431, 430, 429, 428, 427, 426, 425, 424, 423, 422, - - 421, 420, 419, 418, 416, 415, 414, 412, 411, 410, - 409, 407, 406, 405, 404, 402, 401, 400, 399, 398, - 397, 396, 395, 394, 393, 392, 391, 390, 388, 386, - 385, 384, 383, 382, 381, 380, 378, 377, 376, 375, - 374, 373, 372, 371, 370, 369, 368, 367, 365, 364, - 363, 362, 361, 360, 359, 358, 357, 356, 355, 354, - 352, 351, 350, 349, 348, 345, 344, 343, 342, 341, - 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, - 330, 326, 324, 321, 319, 316, 309, 307, 306, 305, - 303, 302, 300, 299, 298, 296, 295, 294, 293, 292, - - 290, 289, 288, 287, 286, 285, 284, 283, 281, 280, - 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, - 268, 267, 265, 264, 263, 262, 261, 260, 259, 258, - 257, 256, 255, 253, 252, 251, 250, 249, 248, 245, - 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, - 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, - 223, 220, 219, 218, 217, 216, 215, 214, 213, 212, - 211, 210, 208, 204, 202, 200, 196, 194, 192, 184, - 183, 182, 180, 178, 177, 175, 174, 173, 171, 170, - 169, 165, 162, 160, 159, 158, 156, 154, 153, 152, - - 151, 150, 149, 147, 146, 145, 143, 142, 141, 140, - 139, 137, 136, 134, 132, 131, 130, 129, 127, 126, - 125, 124, 122, 120, 118, 117, 116, 112, 104, 102, - 97, 96, 77, 72, 66, 58, 49, 47, 43, 41, - 39, 38, 24, 14, 11, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056 + 88, 88, 88, 101, 103, 105, 99, 107, 109, 119, + 101, 110, 162, 83, 111, 93, 139, 115, 119, 139, + 82, 156, 119, 139, 168, 168, 177, 162, 162, 162, + 180, 105, 103, 173, 115, 107, 109, 111, 110, 164, + 101, 182, 164, 164, 101, 115, 169, 173, 101, 156, + 169, 156, 187, 177, 169, 189, 101, 249, 180, 721, + + 101, 188, 101, 101, 114, 167, 190, 191, 182, 192, + 198, 248, 114, 114, 114, 114, 114, 299, 189, 299, + 187, 114, 114, 114, 114, 114, 114, 188, 248, 196, + 199, 200, 192, 191, 190, 204, 202, 210, 198, 725, + 167, 167, 167, 268, 114, 114, 114, 114, 114, 114, + 249, 167, 196, 167, 200, 167, 167, 199, 167, 202, + 210, 256, 204, 208, 208, 208, 208, 208, 222, 306, + 223, 222, 208, 208, 208, 208, 208, 208, 223, 268, + 271, 293, 284, 223, 223, 284, 303, 310, 312, 315, + 271, 303, 306, 268, 293, 208, 208, 208, 208, 208, + + 208, 320, 322, 319, 324, 331, 306, 348, 406, 355, + 390, 312, 315, 319, 256, 355, 445, 256, 382, 382, + 390, 445, 494, 382, 348, 322, 369, 494, 452, 416, + 320, 369, 324, 416, 331, 437, 460, 516, 437, 310, + 329, 329, 329, 329, 329, 647, 647, 516, 484, 329, + 329, 329, 329, 329, 329, 420, 452, 481, 458, 420, + 458, 484, 563, 484, 460, 481, 406, 481, 481, 481, + 726, 481, 329, 329, 329, 329, 329, 329, 592, 369, + 593, 594, 723, 708, 369, 458, 594, 458, 459, 459, + 459, 459, 459, 618, 708, 724, 618, 459, 459, 459, + + 459, 459, 459, 727, 728, 592, 729, 730, 593, 731, + 723, 732, 733, 734, 563, 736, 737, 739, 724, 740, + 459, 459, 459, 459, 459, 459, 735, 738, 738, 741, + 738, 742, 735, 743, 744, 745, 746, 747, 748, 749, + 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, + 760, 761, 762, 763, 760, 764, 765, 767, 760, 768, + 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, + 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, + 786, 789, 791, 792, 793, 794, 795, 796, 797, 798, + 799, 800, 801, 803, 804, 805, 806, 807, 808, 809, + + 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, + 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, + 830, 830, 831, 832, 827, 833, 834, 835, 830, 836, + 838, 833, 830, 839, 840, 841, 842, 843, 844, 845, + 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, + 856, 857, 858, 859, 860, 861, 862, 863, 864, 866, + 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, + 877, 878, 879, 880, 852, 881, 882, 883, 884, 885, + 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, + 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, + + 902, 907, 908, 909, 910, 911, 912, 913, 916, 917, + 918, 919, 920, 921, 924, 925, 926, 927, 928, 930, + 931, 932, 933, 934, 931, 935, 936, 937, 938, 939, + 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, + 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, + 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, + 972, 974, 975, 976, 977, 978, 979, 980, 981, 982, + 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, + 993, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, + 1004, 1005, 1006, 1007, 1008, 1009, 1010, 987, 1011, 1012, + + 986, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, + 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, + 1033, 1034, 1036, 1037, 1038, 1039, 1040, 1041, 1044, 1045, + 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, + 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, + 1066, 1067, 1068, 1070, 1071, 1072, 1073, 1075, 1076, 1077, + 1065, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, + 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1095, 1096, 1097, + 1098, 1099, 1100, 1039, 1101, 1102, 1103, 1104, 1105, 1106, + 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1115, 1114, 1116, + + 1117, 1118, 1119, 1120, 1122, 1123, 1124, 1126, 1127, 1128, + 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, + 1139, 1140, 1141, 1142, 1113, 1114, 1143, 1145, 1146, 1147, + 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, + 1158, 1159, 1160, 1161, 1162, 1164, 1165, 1166, 1167, 1168, + 1164, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, + 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, + 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1197, 1198, + 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1209, + 1165, 1210, 1211, 1212, 1214, 1215, 1216, 1217, 1218, 1219, + + 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, + 1230, 1231, 1232, 1234, 1235, 1236, 1237, 1238, 1239, 1240, + 1241, 1242, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, + 1252, 1254, 1255, 1256, 1257, 1258, 1234, 1259, 1260, 1262, + 1263, 1264, 1235, 1265, 1266, 1267, 1268, 1269, 1270, 1271, + 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1282, 1284, + 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, + 1295, 1296, 1297, 1299, 1300, 1301, 1302, 1304, 1305, 1306, + 1307, 1308, 1309, 1311, 1313, 1315, 1316, 1317, 1318, 1319, + 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, + + 1330, 1332, 1333, 1334, 1335, 1336, 1337, 1340, 1341, 1342, + 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1352, 1353, + 1354, 1355, 1356, 1358, 1359, 1360, 1361, 1362, 1363, 1365, + 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, + 1376, 1377, 1378, 1379, 1349, 1380, 1323, 1381, 1382, 1384, + 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, + 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1358, 1402, 1403, + 1404, 1405, 1406, 1407, 1401, 1409, 1412, 1413, 1414, 1415, + 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1424, 1425, 1426, + 1427, 1428, 1429, 1430, 1432, 1433, 1428, 1433, 1434, 1436, + + 1439, 1440, 1441, 1442, 1444, 1445, 1446, 1448, 1449, 1450, + 1451, 1453, 1454, 1455, 1450, 1456, 1457, 1459, 1460, 1461, + 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, + 1472, 1473, 1474, 1451, 1475, 1476, 1478, 1479, 1480, 1482, + 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1493, + 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, + 1506, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1517, + 1518, 1520, 1521, 1522, 1523, 1525, 1526, 1525, 1527, 1528, + 1525, 1529, 1530, 1525, 1531, 1532, 1533, 1534, 1535, 1536, + 1537, 1539, 1541, 1543, 1544, 1546, 1548, 1549, 1550, 1552, + + 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, + 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1559, 1570, 1571, + 1572, 1544, 1573, 1574, 1575, 1576, 1577, 1578, 1578, 1579, + 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, + 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, + 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, + 1610, 1611, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, + 1622, 1623, 1624, 1625, 1626, 1628, 1629, 1632, 1633, 1634, + 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1579, 1644, 1645, + 1646, 1647, 1648, 1650, 1652, 1653, 1654, 1655, 1656, 1657, + + 1658, 1659, 1626, 1661, 1662, 1663, 1665, 1666, 1668, 1669, + 1670, 1672, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1681, + 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, + 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, + 1702, 1703, 1705, 1706, 1708, 1709, 1710, 1712, 1713, 1714, + 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, + 1725, 1726, 1727, 1728, 1730, 1731, 1732, 1734, 1735, 1736, + 1738, 1739, 1740, 1741, 1742, 1744, 1745, 1746, 1747, 1748, + 1749, 1750, 1751, 1752, 1753, 1755, 1756, 1757, 1758, 1759, + 1760, 1762, 1763, 1764, 1767, 1769, 1770, 1771, 1774, 1776, + + 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, + 1788, 1789, 1790, 1791, 1793, 1794, 1795, 1796, 1797, 1798, + 1799, 1800, 1802, 1803, 1804, 1806, 1807, 1808, 1809, 1810, + 1811, 1812, 1813, 1814, 1815, 1817, 1818, 1819, 1820, 1821, + 1822, 1824, 1825, 1827, 1828, 1829, 1830, 1831, 1832, 1833, + 1834, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, + 1845, 1846, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, + 1857, 1859, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, + 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, + 1879, 1880, 1881, 1882, 1883, 1885, 1886, 1887, 1888, 1889, + + 1890, 1891, 1892, 1893, 1895, 1899, 1901, 1902, 1903, 1904, + 1905, 1906, 1907, 1908, 1909, 1911, 1912, 1913, 1914, 1916, + 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, + 1927, 1928, 1930, 1931, 1932, 1933, 1935, 1937, 1940, 1942, + 1943, 1944, 1945, 1946, 1948, 1949, 1950, 1951, 1952, 1953, + 1954, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, + 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1973, 1974, 1975, + 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, + 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, + 1997, 1998, 2000, 2001, 2003, 2004, 2005, 2006, 2008, 2009, + + 2010, 2011, 2015, 2018, 2019, 2020, 2021, 2022, 2024, 2025, + 2026, 2027, 2028, 2029, 2030, 2031, 2033, 2034, 2035, 2037, + 2039, 2041, 2042, 2043, 2044, 2045, 2046, 2048, 2049, 2048, + 2050, 2051, 2053, 2054, 2057, 2058, 2059, 2060, 2061, 2062, + 2063, 2064, 2065, 2067, 2068, 2069, 2070, 2071, 2072, 2074, + 2075, 2078, 2079, 2080, 2081, 2082, 2083, 2085, 2089, 2089, + 2089, 2090, 2090, 2090, 2091, 2092, 2091, 2093, 2093, 2093, + 2094, 2094, 2094, 2095, 718, 2095, 2096, 2096, 2096, 717, + 716, 715, 714, 713, 712, 711, 710, 709, 707, 706, + 705, 703, 702, 701, 700, 699, 698, 697, 696, 695, + + 694, 693, 692, 691, 690, 688, 687, 686, 685, 684, + 683, 682, 681, 680, 678, 677, 676, 675, 674, 673, + 672, 670, 669, 668, 667, 666, 665, 664, 663, 661, + 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, + 650, 649, 648, 646, 645, 644, 643, 642, 641, 640, + 639, 638, 637, 636, 635, 634, 633, 631, 630, 629, + 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, + 617, 616, 615, 614, 613, 612, 611, 610, 609, 608, + 607, 606, 605, 604, 603, 602, 601, 600, 599, 597, + 596, 588, 587, 586, 585, 584, 583, 581, 580, 578, + + 577, 575, 574, 573, 572, 571, 570, 569, 568, 567, + 566, 565, 564, 562, 561, 560, 559, 558, 557, 556, + 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, + 545, 544, 542, 540, 539, 538, 537, 536, 535, 534, + 533, 532, 531, 530, 529, 528, 527, 526, 525, 523, + 522, 521, 520, 519, 518, 517, 515, 514, 513, 512, + 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, + 501, 500, 498, 497, 496, 495, 493, 492, 491, 490, + 489, 488, 486, 485, 483, 482, 479, 478, 477, 476, + 475, 474, 473, 472, 470, 469, 468, 467, 466, 465, + + 464, 463, 462, 461, 456, 454, 453, 451, 450, 449, + 446, 444, 443, 441, 440, 439, 438, 436, 435, 434, + 433, 432, 431, 430, 429, 428, 427, 426, 425, 424, + 423, 422, 421, 419, 418, 417, 415, 414, 413, 412, + 410, 409, 408, 407, 405, 404, 403, 402, 401, 400, + 399, 398, 397, 396, 395, 394, 393, 391, 389, 388, + 387, 386, 385, 384, 383, 381, 380, 379, 378, 377, + 376, 375, 374, 373, 372, 371, 370, 368, 367, 366, + 365, 364, 363, 362, 361, 360, 359, 358, 357, 356, + 354, 353, 352, 351, 350, 347, 346, 345, 344, 343, + + 342, 341, 340, 339, 338, 337, 336, 335, 334, 333, + 332, 328, 326, 323, 321, 318, 311, 309, 308, 307, + 305, 304, 302, 301, 300, 298, 297, 296, 295, 294, + 292, 291, 290, 289, 288, 287, 286, 285, 283, 282, + 281, 280, 279, 278, 277, 276, 275, 274, 273, 272, + 270, 269, 267, 266, 265, 264, 263, 262, 261, 260, + 259, 258, 257, 255, 254, 253, 252, 251, 250, 247, + 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, + 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, + 225, 224, 221, 220, 219, 218, 217, 216, 215, 214, + + 213, 212, 211, 209, 205, 203, 201, 197, 195, 193, + 185, 184, 183, 181, 179, 178, 176, 175, 174, 172, + 171, 170, 166, 163, 161, 160, 159, 157, 155, 154, + 153, 152, 151, 150, 148, 147, 146, 144, 143, 142, + 141, 140, 138, 137, 135, 133, 132, 131, 130, 129, + 127, 126, 125, 124, 122, 120, 118, 117, 116, 112, + 104, 102, 97, 96, 77, 72, 66, 58, 49, 47, + 43, 41, 39, 38, 24, 14, 11, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088 } ; static yy_state_type yy_last_accepting_state; @@ -2004,7 +2023,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[218] = +static const flex_int16_t yy_rule_linenum[219] = { 0, 146, 148, 150, 155, 156, 161, 162, 163, 175, 178, 183, 190, 199, 208, 217, 226, 235, 244, 254, 263, @@ -2026,10 +2045,10 @@ static const flex_int16_t yy_rule_linenum[218] = 1685, 1694, 1703, 1712, 1721, 1730, 1739, 1748, 1757, 1766, 1775, 1784, 1793, 1802, 1811, 1823, 1835, 1845, 1855, 1865, 1875, 1885, 1895, 1905, 1915, 1925, 1934, 1943, 1952, 1961, - 1972, 1983, 1996, 2009, 2022, 2031, 2040, 2049, 2058, 2159, + 1972, 1983, 1996, 2009, 2022, 2031, 2040, 2049, 2058, 2067, - 2175, 2224, 2232, 2247, 2248, 2249, 2250, 2251, 2252, 2254, - 2272, 2285, 2290, 2294, 2296, 2298, 2300 + 2168, 2184, 2233, 2241, 2256, 2257, 2258, 2259, 2260, 2261, + 2263, 2281, 2294, 2299, 2303, 2305, 2307, 2309 } ; /* The intent behind this definition is that it'll catch @@ -2083,7 +2102,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg) -#line 2086 "dhcp4_lexer.cc" +#line 2105 "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 @@ -2109,8 +2128,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 2112 "dhcp4_lexer.cc" -#line 2113 "dhcp4_lexer.cc" +#line 2131 "dhcp4_lexer.cc" +#line 2132 "dhcp4_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2438,7 +2457,7 @@ YY_DECL } -#line 2441 "dhcp4_lexer.cc" +#line 2460 "dhcp4_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2467,13 +2486,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 >= 2057 ) + if ( yy_current_state >= 2089 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 2056 ); + while ( yy_current_state != 2088 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2492,13 +2511,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 < 218 ) + else if ( yy_act < 219 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 218 ) + else if ( yy_act == 219 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 219 ) + else if ( yy_act == 220 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -4987,9 +5006,9 @@ YY_RULE_SETUP { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: - return isc::dhcp::Dhcp4Parser::make_IP_RESERVATIONS_UNIQUE(driver.loc_); + return isc::dhcp::Dhcp4Parser::make_EARLY_GLOBAL_RESERVATIONS_LOOKUP(driver.loc_); default: - return isc::dhcp::Dhcp4Parser::make_STRING("ip-reservations-unique", driver.loc_); + return isc::dhcp::Dhcp4Parser::make_STRING("early-global-reservations-lookup", driver.loc_); } } YY_BREAK @@ -4999,9 +5018,9 @@ YY_RULE_SETUP { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: - return isc::dhcp::Dhcp4Parser::make_RESERVATIONS_LOOKUP_FIRST(driver.loc_); + return isc::dhcp::Dhcp4Parser::make_IP_RESERVATIONS_UNIQUE(driver.loc_); default: - return isc::dhcp::Dhcp4Parser::make_STRING("reservations-lookup-first", driver.loc_); + return isc::dhcp::Dhcp4Parser::make_STRING("ip-reservations-unique", driver.loc_); } } YY_BREAK @@ -5011,9 +5030,9 @@ YY_RULE_SETUP { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: - return isc::dhcp::Dhcp4Parser::make_COMPATIBILITY(driver.loc_); + return isc::dhcp::Dhcp4Parser::make_RESERVATIONS_LOOKUP_FIRST(driver.loc_); default: - return isc::dhcp::Dhcp4Parser::make_STRING("compatibility", driver.loc_); + return isc::dhcp::Dhcp4Parser::make_STRING("reservations-lookup-first", driver.loc_); } } YY_BREAK @@ -5022,6 +5041,18 @@ YY_RULE_SETUP #line 2049 "dhcp4_lexer.ll" { switch(driver.ctx_) { + case isc::dhcp::Parser4Context::DHCP4: + return isc::dhcp::Dhcp4Parser::make_COMPATIBILITY(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("compatibility", driver.loc_); + } +} + YY_BREAK +case 199: +YY_RULE_SETUP +#line 2058 "dhcp4_lexer.ll" +{ + switch(driver.ctx_) { case isc::dhcp::Parser4Context::COMPATIBILITY: return isc::dhcp::Dhcp4Parser::make_LENIENT_OPTION_PARSING(driver.loc_); default: @@ -5029,9 +5060,9 @@ YY_RULE_SETUP } } YY_BREAK -case 199: +case 200: YY_RULE_SETUP -#line 2058 "dhcp4_lexer.ll" +#line 2067 "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. @@ -5133,10 +5164,10 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 200: -/* rule 200 can match eol */ +case 201: +/* rule 201 can match eol */ YY_RULE_SETUP -#line 2159 "dhcp4_lexer.ll" +#line 2168 "dhcp4_lexer.ll" { /* Bad string with a forbidden control character inside */ std::string raw(yytext+1); @@ -5153,10 +5184,10 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 201: -/* rule 201 can match eol */ +case 202: +/* rule 202 can match eol */ YY_RULE_SETUP -#line 2175 "dhcp4_lexer.ll" +#line 2184 "dhcp4_lexer.ll" { /* Bad string with a bad escape inside */ std::string raw(yytext+1); @@ -5206,9 +5237,9 @@ YY_RULE_SETUP pos); } YY_BREAK -case 202: +case 203: YY_RULE_SETUP -#line 2224 "dhcp4_lexer.ll" +#line 2233 "dhcp4_lexer.ll" { /* Bad string with an open escape at the end */ std::string raw(yytext+1); @@ -5217,9 +5248,9 @@ YY_RULE_SETUP raw.size() + 1); } YY_BREAK -case 203: +case 204: YY_RULE_SETUP -#line 2232 "dhcp4_lexer.ll" +#line 2241 "dhcp4_lexer.ll" { /* Bad string with an open unicode escape at the end */ std::string raw(yytext+1); @@ -5235,39 +5266,39 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 204: +case 205: YY_RULE_SETUP -#line 2247 "dhcp4_lexer.ll" +#line 2256 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 205: +case 206: YY_RULE_SETUP -#line 2248 "dhcp4_lexer.ll" +#line 2257 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 206: +case 207: YY_RULE_SETUP -#line 2249 "dhcp4_lexer.ll" +#line 2258 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 207: +case 208: YY_RULE_SETUP -#line 2250 "dhcp4_lexer.ll" +#line 2259 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 208: +case 209: YY_RULE_SETUP -#line 2251 "dhcp4_lexer.ll" +#line 2260 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } YY_BREAK -case 209: +case 210: YY_RULE_SETUP -#line 2252 "dhcp4_lexer.ll" +#line 2261 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } YY_BREAK -case 210: +case 211: YY_RULE_SETUP -#line 2254 "dhcp4_lexer.ll" +#line 2263 "dhcp4_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -5286,9 +5317,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 211: +case 212: YY_RULE_SETUP -#line 2272 "dhcp4_lexer.ll" +#line 2281 "dhcp4_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -5302,43 +5333,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 212: +case 213: YY_RULE_SETUP -#line 2285 "dhcp4_lexer.ll" +#line 2294 "dhcp4_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 213: +case 214: YY_RULE_SETUP -#line 2290 "dhcp4_lexer.ll" +#line 2299 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 214: +case 215: YY_RULE_SETUP -#line 2294 "dhcp4_lexer.ll" +#line 2303 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 215: +case 216: YY_RULE_SETUP -#line 2296 "dhcp4_lexer.ll" +#line 2305 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 216: +case 217: YY_RULE_SETUP -#line 2298 "dhcp4_lexer.ll" +#line 2307 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 217: +case 218: YY_RULE_SETUP -#line 2300 "dhcp4_lexer.ll" +#line 2309 "dhcp4_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2302 "dhcp4_lexer.ll" +#line 2311 "dhcp4_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp4Parser::make_END(driver.loc_); @@ -5362,12 +5393,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 218: +case 219: YY_RULE_SETUP -#line 2325 "dhcp4_lexer.ll" +#line 2334 "dhcp4_lexer.ll" ECHO; YY_BREAK -#line 5370 "dhcp4_lexer.cc" +#line 5401 "dhcp4_lexer.cc" case YY_END_OF_BUFFER: { @@ -5686,7 +5717,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 >= 2057 ) + if ( yy_current_state >= 2089 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -5719,11 +5750,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 >= 2057 ) + if ( yy_current_state >= 2089 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 2056); + yy_is_jam = (yy_current_state == 2088); return yy_is_jam ? 0 : yy_current_state; } @@ -6472,7 +6503,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2325 "dhcp4_lexer.ll" +#line 2334 "dhcp4_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp4/dhcp4_parser.cc b/src/bin/dhcp4/dhcp4_parser.cc index 3c9a741736..10628cfca1 100644 --- a/src/bin/dhcp4/dhcp4_parser.cc +++ b/src/bin/dhcp4/dhcp4_parser.cc @@ -402,79 +402,79 @@ namespace isc { namespace dhcp { switch (yykind) { case symbol_kind::S_STRING: // "constant string" -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } #line 408 "dhcp4_parser.cc" break; case symbol_kind::S_INTEGER: // "integer" -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } #line 414 "dhcp4_parser.cc" break; case symbol_kind::S_FLOAT: // "floating point" -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < double > (); } #line 420 "dhcp4_parser.cc" break; case symbol_kind::S_BOOLEAN: // "boolean" -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < bool > (); } #line 426 "dhcp4_parser.cc" break; case symbol_kind::S_value: // value -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 432 "dhcp4_parser.cc" break; case symbol_kind::S_map_value: // map_value -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 438 "dhcp4_parser.cc" break; case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 444 "dhcp4_parser.cc" break; case symbol_kind::S_socket_type: // socket_type -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 450 "dhcp4_parser.cc" break; case symbol_kind::S_outbound_interface_value: // outbound_interface_value -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 456 "dhcp4_parser.cc" break; case symbol_kind::S_db_type: // db_type -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 462 "dhcp4_parser.cc" break; case symbol_kind::S_on_fail_mode: // on_fail_mode -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 468 "dhcp4_parser.cc" break; case symbol_kind::S_hr_mode: // hr_mode -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 474 "dhcp4_parser.cc" break; case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 480 "dhcp4_parser.cc" break; @@ -755,127 +755,127 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: // $@1: %empty -#line 299 "dhcp4_parser.yy" +#line 300 "dhcp4_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } #line 761 "dhcp4_parser.cc" break; case 4: // $@2: %empty -#line 300 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG; } #line 767 "dhcp4_parser.cc" break; case 6: // $@3: %empty -#line 301 "dhcp4_parser.yy" +#line 302 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 773 "dhcp4_parser.cc" break; case 8: // $@4: %empty -#line 302 "dhcp4_parser.yy" +#line 303 "dhcp4_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 779 "dhcp4_parser.cc" break; case 10: // $@5: %empty -#line 303 "dhcp4_parser.yy" +#line 304 "dhcp4_parser.yy" { ctx.ctx_ = ctx.SUBNET4; } #line 785 "dhcp4_parser.cc" break; case 12: // $@6: %empty -#line 304 "dhcp4_parser.yy" +#line 305 "dhcp4_parser.yy" { ctx.ctx_ = ctx.POOLS; } #line 791 "dhcp4_parser.cc" break; case 14: // $@7: %empty -#line 305 "dhcp4_parser.yy" +#line 306 "dhcp4_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } #line 797 "dhcp4_parser.cc" break; case 16: // $@8: %empty -#line 306 "dhcp4_parser.yy" +#line 307 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 803 "dhcp4_parser.cc" break; case 18: // $@9: %empty -#line 307 "dhcp4_parser.yy" +#line 308 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } #line 809 "dhcp4_parser.cc" break; case 20: // $@10: %empty -#line 308 "dhcp4_parser.yy" +#line 309 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } #line 815 "dhcp4_parser.cc" break; case 22: // $@11: %empty -#line 309 "dhcp4_parser.yy" +#line 310 "dhcp4_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 821 "dhcp4_parser.cc" break; case 24: // $@12: %empty -#line 310 "dhcp4_parser.yy" +#line 311 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } #line 827 "dhcp4_parser.cc" break; case 26: // $@13: %empty -#line 311 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 833 "dhcp4_parser.cc" break; case 28: // value: "integer" -#line 319 "dhcp4_parser.yy" +#line 320 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 839 "dhcp4_parser.cc" break; case 29: // value: "floating point" -#line 320 "dhcp4_parser.yy" +#line 321 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } #line 845 "dhcp4_parser.cc" break; case 30: // value: "boolean" -#line 321 "dhcp4_parser.yy" +#line 322 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } #line 851 "dhcp4_parser.cc" break; case 31: // value: "constant string" -#line 322 "dhcp4_parser.yy" +#line 323 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 857 "dhcp4_parser.cc" break; case 32: // value: "null" -#line 323 "dhcp4_parser.yy" +#line 324 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 863 "dhcp4_parser.cc" break; case 33: // value: map2 -#line 324 "dhcp4_parser.yy" +#line 325 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 869 "dhcp4_parser.cc" break; case 34: // value: list_generic -#line 325 "dhcp4_parser.yy" +#line 326 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 875 "dhcp4_parser.cc" break; case 35: // sub_json: value -#line 328 "dhcp4_parser.yy" +#line 329 "dhcp4_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); @@ -884,7 +884,7 @@ namespace isc { namespace dhcp { break; case 36: // $@14: %empty -#line 333 "dhcp4_parser.yy" +#line 334 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -895,7 +895,7 @@ namespace isc { namespace dhcp { break; case 37: // map2: "{" $@14 map_content "}" -#line 338 "dhcp4_parser.yy" +#line 339 "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 @@ -905,13 +905,13 @@ namespace isc { namespace dhcp { break; case 38: // map_value: map2 -#line 344 "dhcp4_parser.yy" +#line 345 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 911 "dhcp4_parser.cc" break; case 41: // not_empty_map: "constant string" ":" value -#line 351 "dhcp4_parser.yy" +#line 352 "dhcp4_parser.yy" { // map containing a single entry ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); @@ -921,7 +921,7 @@ namespace isc { namespace dhcp { break; case 42: // not_empty_map: not_empty_map "," "constant string" ":" value -#line 356 "dhcp4_parser.yy" +#line 357 "dhcp4_parser.yy" { // map consisting of a shorter map followed by // comma and string:value @@ -932,7 +932,7 @@ namespace isc { namespace dhcp { break; case 43: // not_empty_map: not_empty_map "," -#line 362 "dhcp4_parser.yy" +#line 363 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -940,7 +940,7 @@ namespace isc { namespace dhcp { break; case 44: // $@15: %empty -#line 367 "dhcp4_parser.yy" +#line 368 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -949,7 +949,7 @@ namespace isc { namespace dhcp { break; case 45: // list_generic: "[" $@15 list_content "]" -#line 370 "dhcp4_parser.yy" +#line 371 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here } @@ -957,7 +957,7 @@ namespace isc { namespace dhcp { break; case 48: // not_empty_list: value -#line 378 "dhcp4_parser.yy" +#line 379 "dhcp4_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -966,7 +966,7 @@ namespace isc { namespace dhcp { break; case 49: // not_empty_list: not_empty_list "," value -#line 382 "dhcp4_parser.yy" +#line 383 "dhcp4_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -975,7 +975,7 @@ namespace isc { namespace dhcp { break; case 50: // not_empty_list: not_empty_list "," -#line 386 "dhcp4_parser.yy" +#line 387 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -983,7 +983,7 @@ namespace isc { namespace dhcp { break; case 51: // $@16: %empty -#line 392 "dhcp4_parser.yy" +#line 393 "dhcp4_parser.yy" { // List parsing about to start } @@ -991,7 +991,7 @@ namespace isc { namespace dhcp { break; case 52: // list_strings: "[" $@16 list_strings_content "]" -#line 394 "dhcp4_parser.yy" +#line 395 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -1000,7 +1000,7 @@ namespace isc { namespace dhcp { break; case 55: // not_empty_list_strings: "constant string" -#line 403 "dhcp4_parser.yy" +#line 404 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1009,7 +1009,7 @@ namespace isc { namespace dhcp { break; case 56: // not_empty_list_strings: not_empty_list_strings "," "constant string" -#line 407 "dhcp4_parser.yy" +#line 408 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1018,7 +1018,7 @@ namespace isc { namespace dhcp { break; case 57: // not_empty_list_strings: not_empty_list_strings "," -#line 411 "dhcp4_parser.yy" +#line 412 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1026,7 +1026,7 @@ namespace isc { namespace dhcp { break; case 58: // unknown_map_entry: "constant string" ":" -#line 421 "dhcp4_parser.yy" +#line 422 "dhcp4_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); @@ -1037,7 +1037,7 @@ namespace isc { namespace dhcp { break; case 59: // $@17: %empty -#line 430 "dhcp4_parser.yy" +#line 431 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1048,7 +1048,7 @@ namespace isc { namespace dhcp { break; case 60: // syntax_map: "{" $@17 global_object "}" -#line 435 "dhcp4_parser.yy" +#line 436 "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 @@ -1061,7 +1061,7 @@ namespace isc { namespace dhcp { break; case 61: // $@18: %empty -#line 445 "dhcp4_parser.yy" +#line 446 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1076,7 +1076,7 @@ namespace isc { namespace dhcp { break; case 62: // global_object: "Dhcp4" $@18 ":" "{" global_params "}" -#line 454 "dhcp4_parser.yy" +#line 455 "dhcp4_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); @@ -1086,7 +1086,7 @@ namespace isc { namespace dhcp { break; case 64: // global_object_comma: global_object "," -#line 462 "dhcp4_parser.yy" +#line 463 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1094,7 +1094,7 @@ namespace isc { namespace dhcp { break; case 65: // $@19: %empty -#line 468 "dhcp4_parser.yy" +#line 469 "dhcp4_parser.yy" { // Parse the Dhcp4 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1104,7 +1104,7 @@ namespace isc { namespace dhcp { break; case 66: // sub_dhcp4: "{" $@19 global_params "}" -#line 472 "dhcp4_parser.yy" +#line 473 "dhcp4_parser.yy" { // No global parameter is required // parsing completed @@ -1113,15 +1113,15 @@ namespace isc { namespace dhcp { break; case 69: // global_params: global_params "," -#line 479 "dhcp4_parser.yy" +#line 480 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } #line 1121 "dhcp4_parser.cc" break; - case 133: // valid_lifetime: "valid-lifetime" ":" "integer" -#line 551 "dhcp4_parser.yy" + case 134: // valid_lifetime: "valid-lifetime" ":" "integer" +#line 553 "dhcp4_parser.yy" { ctx.unique("valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1130,8 +1130,8 @@ namespace isc { namespace dhcp { #line 1131 "dhcp4_parser.cc" break; - case 134: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" -#line 557 "dhcp4_parser.yy" + case 135: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" +#line 559 "dhcp4_parser.yy" { ctx.unique("min-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1140,8 +1140,8 @@ namespace isc { namespace dhcp { #line 1141 "dhcp4_parser.cc" break; - case 135: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" -#line 563 "dhcp4_parser.yy" + case 136: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" +#line 565 "dhcp4_parser.yy" { ctx.unique("max-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1150,8 +1150,8 @@ namespace isc { namespace dhcp { #line 1151 "dhcp4_parser.cc" break; - case 136: // renew_timer: "renew-timer" ":" "integer" -#line 569 "dhcp4_parser.yy" + case 137: // renew_timer: "renew-timer" ":" "integer" +#line 571 "dhcp4_parser.yy" { ctx.unique("renew-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1160,8 +1160,8 @@ namespace isc { namespace dhcp { #line 1161 "dhcp4_parser.cc" break; - case 137: // rebind_timer: "rebind-timer" ":" "integer" -#line 575 "dhcp4_parser.yy" + case 138: // rebind_timer: "rebind-timer" ":" "integer" +#line 577 "dhcp4_parser.yy" { ctx.unique("rebind-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1170,8 +1170,8 @@ namespace isc { namespace dhcp { #line 1171 "dhcp4_parser.cc" break; - case 138: // calculate_tee_times: "calculate-tee-times" ":" "boolean" -#line 581 "dhcp4_parser.yy" + case 139: // calculate_tee_times: "calculate-tee-times" ":" "boolean" +#line 583 "dhcp4_parser.yy" { ctx.unique("calculate-tee-times", ctx.loc2pos(yystack_[2].location)); ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1180,8 +1180,8 @@ namespace isc { namespace dhcp { #line 1181 "dhcp4_parser.cc" break; - case 139: // t1_percent: "t1-percent" ":" "floating point" -#line 587 "dhcp4_parser.yy" + case 140: // t1_percent: "t1-percent" ":" "floating point" +#line 589 "dhcp4_parser.yy" { ctx.unique("t1-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1190,8 +1190,8 @@ namespace isc { namespace dhcp { #line 1191 "dhcp4_parser.cc" break; - case 140: // t2_percent: "t2-percent" ":" "floating point" -#line 593 "dhcp4_parser.yy" + case 141: // t2_percent: "t2-percent" ":" "floating point" +#line 595 "dhcp4_parser.yy" { ctx.unique("t2-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1200,8 +1200,8 @@ namespace isc { namespace dhcp { #line 1201 "dhcp4_parser.cc" break; - case 141: // cache_threshold: "cache-threshold" ":" "floating point" -#line 599 "dhcp4_parser.yy" + case 142: // cache_threshold: "cache-threshold" ":" "floating point" +#line 601 "dhcp4_parser.yy" { ctx.unique("cache-threshold", ctx.loc2pos(yystack_[2].location)); ElementPtr ct(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1210,8 +1210,8 @@ namespace isc { namespace dhcp { #line 1211 "dhcp4_parser.cc" break; - case 142: // cache_max_age: "cache-max-age" ":" "integer" -#line 605 "dhcp4_parser.yy" + case 143: // cache_max_age: "cache-max-age" ":" "integer" +#line 607 "dhcp4_parser.yy" { ctx.unique("cache-max-age", ctx.loc2pos(yystack_[2].location)); ElementPtr cm(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1220,8 +1220,8 @@ namespace isc { namespace dhcp { #line 1221 "dhcp4_parser.cc" break; - case 143: // decline_probation_period: "decline-probation-period" ":" "integer" -#line 611 "dhcp4_parser.yy" + case 144: // decline_probation_period: "decline-probation-period" ":" "integer" +#line 613 "dhcp4_parser.yy" { ctx.unique("decline-probation-period", ctx.loc2pos(yystack_[2].location)); ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1230,8 +1230,8 @@ namespace isc { namespace dhcp { #line 1231 "dhcp4_parser.cc" break; - case 144: // $@20: %empty -#line 617 "dhcp4_parser.yy" + case 145: // $@20: %empty +#line 619 "dhcp4_parser.yy" { ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1239,8 +1239,8 @@ namespace isc { namespace dhcp { #line 1240 "dhcp4_parser.cc" break; - case 145: // server_tag: "server-tag" $@20 ":" "constant string" -#line 620 "dhcp4_parser.yy" + case 146: // server_tag: "server-tag" $@20 ":" "constant string" +#line 622 "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); @@ -1249,8 +1249,8 @@ namespace isc { namespace dhcp { #line 1250 "dhcp4_parser.cc" break; - case 146: // parked_packet_limit: "parked-packet-limit" ":" "integer" -#line 626 "dhcp4_parser.yy" + case 147: // parked_packet_limit: "parked-packet-limit" ":" "integer" +#line 628 "dhcp4_parser.yy" { ctx.unique("parked-packet-limit", ctx.loc2pos(yystack_[2].location)); ElementPtr ppl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1259,8 +1259,8 @@ namespace isc { namespace dhcp { #line 1260 "dhcp4_parser.cc" break; - case 147: // echo_client_id: "echo-client-id" ":" "boolean" -#line 632 "dhcp4_parser.yy" + case 148: // echo_client_id: "echo-client-id" ":" "boolean" +#line 634 "dhcp4_parser.yy" { ctx.unique("echo-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr echo(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1269,8 +1269,8 @@ namespace isc { namespace dhcp { #line 1270 "dhcp4_parser.cc" break; - case 148: // match_client_id: "match-client-id" ":" "boolean" -#line 638 "dhcp4_parser.yy" + case 149: // match_client_id: "match-client-id" ":" "boolean" +#line 640 "dhcp4_parser.yy" { ctx.unique("match-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr match(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1279,8 +1279,8 @@ namespace isc { namespace dhcp { #line 1280 "dhcp4_parser.cc" break; - case 149: // authoritative: "authoritative" ":" "boolean" -#line 644 "dhcp4_parser.yy" + case 150: // authoritative: "authoritative" ":" "boolean" +#line 646 "dhcp4_parser.yy" { ctx.unique("authoritative", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1289,8 +1289,8 @@ namespace isc { namespace dhcp { #line 1290 "dhcp4_parser.cc" break; - case 150: // ddns_send_updates: "ddns-send-updates" ":" "boolean" -#line 650 "dhcp4_parser.yy" + case 151: // ddns_send_updates: "ddns-send-updates" ":" "boolean" +#line 652 "dhcp4_parser.yy" { ctx.unique("ddns-send-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1299,8 +1299,8 @@ namespace isc { namespace dhcp { #line 1300 "dhcp4_parser.cc" break; - case 151: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" -#line 656 "dhcp4_parser.yy" + case 152: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" +#line 658 "dhcp4_parser.yy" { ctx.unique("ddns-override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1309,8 +1309,8 @@ namespace isc { namespace dhcp { #line 1310 "dhcp4_parser.cc" break; - case 152: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" -#line 662 "dhcp4_parser.yy" + case 153: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" +#line 664 "dhcp4_parser.yy" { ctx.unique("ddns-override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1319,8 +1319,8 @@ namespace isc { namespace dhcp { #line 1320 "dhcp4_parser.cc" break; - case 153: // $@21: %empty -#line 668 "dhcp4_parser.yy" + case 154: // $@21: %empty +#line 670 "dhcp4_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location)); @@ -1328,8 +1328,8 @@ namespace isc { namespace dhcp { #line 1329 "dhcp4_parser.cc" break; - case 154: // ddns_replace_client_name: "ddns-replace-client-name" $@21 ":" ddns_replace_client_name_value -#line 671 "dhcp4_parser.yy" + case 155: // ddns_replace_client_name: "ddns-replace-client-name" $@21 ":" ddns_replace_client_name_value +#line 673 "dhcp4_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1337,40 +1337,40 @@ namespace isc { namespace dhcp { #line 1338 "dhcp4_parser.cc" break; - case 155: // ddns_replace_client_name_value: "when-present" -#line 677 "dhcp4_parser.yy" + case 156: // ddns_replace_client_name_value: "when-present" +#line 679 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } #line 1346 "dhcp4_parser.cc" break; - case 156: // ddns_replace_client_name_value: "never" -#line 680 "dhcp4_parser.yy" + case 157: // ddns_replace_client_name_value: "never" +#line 682 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } #line 1354 "dhcp4_parser.cc" break; - case 157: // ddns_replace_client_name_value: "always" -#line 683 "dhcp4_parser.yy" + case 158: // ddns_replace_client_name_value: "always" +#line 685 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } #line 1362 "dhcp4_parser.cc" break; - case 158: // ddns_replace_client_name_value: "when-not-present" -#line 686 "dhcp4_parser.yy" + case 159: // ddns_replace_client_name_value: "when-not-present" +#line 688 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } #line 1370 "dhcp4_parser.cc" break; - case 159: // ddns_replace_client_name_value: "boolean" -#line 689 "dhcp4_parser.yy" + case 160: // ddns_replace_client_name_value: "boolean" +#line 691 "dhcp4_parser.yy" { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); @@ -1378,8 +1378,8 @@ namespace isc { namespace dhcp { #line 1379 "dhcp4_parser.cc" break; - case 160: // $@22: %empty -#line 695 "dhcp4_parser.yy" + case 161: // $@22: %empty +#line 697 "dhcp4_parser.yy" { ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1387,8 +1387,8 @@ namespace isc { namespace dhcp { #line 1388 "dhcp4_parser.cc" break; - case 161: // ddns_generated_prefix: "ddns-generated-prefix" $@22 ":" "constant string" -#line 698 "dhcp4_parser.yy" + case 162: // ddns_generated_prefix: "ddns-generated-prefix" $@22 ":" "constant string" +#line 700 "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); @@ -1397,8 +1397,8 @@ namespace isc { namespace dhcp { #line 1398 "dhcp4_parser.cc" break; - case 162: // $@23: %empty -#line 704 "dhcp4_parser.yy" + case 163: // $@23: %empty +#line 706 "dhcp4_parser.yy" { ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1406,8 +1406,8 @@ namespace isc { namespace dhcp { #line 1407 "dhcp4_parser.cc" break; - case 163: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@23 ":" "constant string" -#line 707 "dhcp4_parser.yy" + case 164: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@23 ":" "constant string" +#line 709 "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); @@ -1416,8 +1416,8 @@ namespace isc { namespace dhcp { #line 1417 "dhcp4_parser.cc" break; - case 164: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" -#line 713 "dhcp4_parser.yy" + case 165: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" +#line 715 "dhcp4_parser.yy" { ctx.unique("ddns-update-on-renew", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1426,8 +1426,8 @@ namespace isc { namespace dhcp { #line 1427 "dhcp4_parser.cc" break; - case 165: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" -#line 719 "dhcp4_parser.yy" + case 166: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" +#line 721 "dhcp4_parser.yy" { ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1436,8 +1436,8 @@ namespace isc { namespace dhcp { #line 1437 "dhcp4_parser.cc" break; - case 166: // $@24: %empty -#line 725 "dhcp4_parser.yy" + case 167: // $@24: %empty +#line 727 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1445,8 +1445,8 @@ namespace isc { namespace dhcp { #line 1446 "dhcp4_parser.cc" break; - case 167: // hostname_char_set: "hostname-char-set" $@24 ":" "constant string" -#line 728 "dhcp4_parser.yy" + case 168: // hostname_char_set: "hostname-char-set" $@24 ":" "constant string" +#line 730 "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); @@ -1455,8 +1455,8 @@ namespace isc { namespace dhcp { #line 1456 "dhcp4_parser.cc" break; - case 168: // $@25: %empty -#line 734 "dhcp4_parser.yy" + case 169: // $@25: %empty +#line 736 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1464,8 +1464,8 @@ namespace isc { namespace dhcp { #line 1465 "dhcp4_parser.cc" break; - case 169: // hostname_char_replacement: "hostname-char-replacement" $@25 ":" "constant string" -#line 737 "dhcp4_parser.yy" + case 170: // hostname_char_replacement: "hostname-char-replacement" $@25 ":" "constant string" +#line 739 "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); @@ -1474,8 +1474,8 @@ namespace isc { namespace dhcp { #line 1475 "dhcp4_parser.cc" break; - case 170: // store_extended_info: "store-extended-info" ":" "boolean" -#line 743 "dhcp4_parser.yy" + case 171: // store_extended_info: "store-extended-info" ":" "boolean" +#line 745 "dhcp4_parser.yy" { ctx.unique("store-extended-info", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1484,8 +1484,8 @@ namespace isc { namespace dhcp { #line 1485 "dhcp4_parser.cc" break; - case 171: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" -#line 749 "dhcp4_parser.yy" + case 172: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" +#line 751 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-count", ctx.loc2pos(yystack_[2].location)); ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1494,8 +1494,8 @@ namespace isc { namespace dhcp { #line 1495 "dhcp4_parser.cc" break; - case 172: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" -#line 755 "dhcp4_parser.yy" + case 173: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" +#line 757 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-age", ctx.loc2pos(yystack_[2].location)); ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1504,28 +1504,38 @@ namespace isc { namespace dhcp { #line 1505 "dhcp4_parser.cc" break; - case 173: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" -#line 761 "dhcp4_parser.yy" + case 174: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" +#line 763 "dhcp4_parser.yy" + { + ctx.unique("early-global-reservations-lookup", ctx.loc2pos(yystack_[2].location)); + ElementPtr early(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("early-global-reservations-lookup", early); +} +#line 1515 "dhcp4_parser.cc" + break; + + case 175: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" +#line 769 "dhcp4_parser.yy" { ctx.unique("ip-reservations-unique", ctx.loc2pos(yystack_[2].location)); ElementPtr unique(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-reservations-unique", unique); } -#line 1515 "dhcp4_parser.cc" +#line 1525 "dhcp4_parser.cc" break; - case 174: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" -#line 767 "dhcp4_parser.yy" + case 176: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" +#line 775 "dhcp4_parser.yy" { ctx.unique("reservations-lookup-first", ctx.loc2pos(yystack_[2].location)); ElementPtr first(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-lookup-first", first); } -#line 1525 "dhcp4_parser.cc" +#line 1535 "dhcp4_parser.cc" break; - case 175: // $@26: %empty -#line 773 "dhcp4_parser.yy" + case 177: // $@26: %empty +#line 781 "dhcp4_parser.yy" { ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1533,48 +1543,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1537 "dhcp4_parser.cc" +#line 1547 "dhcp4_parser.cc" break; - case 176: // interfaces_config: "interfaces-config" $@26 ":" "{" interfaces_config_params "}" -#line 779 "dhcp4_parser.yy" + case 178: // interfaces_config: "interfaces-config" $@26 ":" "{" interfaces_config_params "}" +#line 787 "dhcp4_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1547 "dhcp4_parser.cc" +#line 1557 "dhcp4_parser.cc" break; - case 179: // interfaces_config_params: interfaces_config_params "," -#line 787 "dhcp4_parser.yy" + case 181: // interfaces_config_params: interfaces_config_params "," +#line 795 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1555 "dhcp4_parser.cc" +#line 1565 "dhcp4_parser.cc" break; - case 187: // $@27: %empty -#line 801 "dhcp4_parser.yy" + case 189: // $@27: %empty +#line 809 "dhcp4_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1565 "dhcp4_parser.cc" +#line 1575 "dhcp4_parser.cc" break; - case 188: // sub_interfaces4: "{" $@27 interfaces_config_params "}" -#line 805 "dhcp4_parser.yy" + case 190: // sub_interfaces4: "{" $@27 interfaces_config_params "}" +#line 813 "dhcp4_parser.yy" { // No interfaces config param is required // parsing completed } -#line 1574 "dhcp4_parser.cc" +#line 1584 "dhcp4_parser.cc" break; - case 189: // $@28: %empty -#line 810 "dhcp4_parser.yy" + case 191: // $@28: %empty +#line 818 "dhcp4_parser.yy" { ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1582,94 +1592,94 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1586 "dhcp4_parser.cc" +#line 1596 "dhcp4_parser.cc" break; - case 190: // interfaces_list: "interfaces" $@28 ":" list_strings -#line 816 "dhcp4_parser.yy" + case 192: // interfaces_list: "interfaces" $@28 ":" list_strings +#line 824 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1595 "dhcp4_parser.cc" +#line 1605 "dhcp4_parser.cc" break; - case 191: // $@29: %empty -#line 821 "dhcp4_parser.yy" + case 193: // $@29: %empty +#line 829 "dhcp4_parser.yy" { ctx.unique("dhcp-socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DHCP_SOCKET_TYPE); } -#line 1604 "dhcp4_parser.cc" +#line 1614 "dhcp4_parser.cc" break; - case 192: // dhcp_socket_type: "dhcp-socket-type" $@29 ":" socket_type -#line 824 "dhcp4_parser.yy" + case 194: // dhcp_socket_type: "dhcp-socket-type" $@29 ":" socket_type +#line 832 "dhcp4_parser.yy" { ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1613 "dhcp4_parser.cc" +#line 1623 "dhcp4_parser.cc" break; - case 193: // socket_type: "raw" -#line 829 "dhcp4_parser.yy" + case 195: // socket_type: "raw" +#line 837 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); } -#line 1619 "dhcp4_parser.cc" +#line 1629 "dhcp4_parser.cc" break; - case 194: // socket_type: "udp" -#line 830 "dhcp4_parser.yy" + case 196: // socket_type: "udp" +#line 838 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); } -#line 1625 "dhcp4_parser.cc" +#line 1635 "dhcp4_parser.cc" break; - case 195: // $@30: %empty -#line 833 "dhcp4_parser.yy" + case 197: // $@30: %empty +#line 841 "dhcp4_parser.yy" { ctx.unique("outbound-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.OUTBOUND_INTERFACE); } -#line 1634 "dhcp4_parser.cc" +#line 1644 "dhcp4_parser.cc" break; - case 196: // outbound_interface: "outbound-interface" $@30 ":" outbound_interface_value -#line 836 "dhcp4_parser.yy" + case 198: // outbound_interface: "outbound-interface" $@30 ":" outbound_interface_value +#line 844 "dhcp4_parser.yy" { ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1643 "dhcp4_parser.cc" +#line 1653 "dhcp4_parser.cc" break; - case 197: // outbound_interface_value: "same-as-inbound" -#line 841 "dhcp4_parser.yy" + case 199: // outbound_interface_value: "same-as-inbound" +#line 849 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location))); } -#line 1651 "dhcp4_parser.cc" +#line 1661 "dhcp4_parser.cc" break; - case 198: // outbound_interface_value: "use-routing" -#line 843 "dhcp4_parser.yy" + case 200: // outbound_interface_value: "use-routing" +#line 851 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location))); } -#line 1659 "dhcp4_parser.cc" +#line 1669 "dhcp4_parser.cc" break; - case 199: // re_detect: "re-detect" ":" "boolean" -#line 847 "dhcp4_parser.yy" + case 201: // re_detect: "re-detect" ":" "boolean" +#line 855 "dhcp4_parser.yy" { ctx.unique("re-detect", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); } -#line 1669 "dhcp4_parser.cc" +#line 1679 "dhcp4_parser.cc" break; - case 200: // $@31: %empty -#line 854 "dhcp4_parser.yy" + case 202: // $@31: %empty +#line 862 "dhcp4_parser.yy" { ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1677,22 +1687,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1681 "dhcp4_parser.cc" +#line 1691 "dhcp4_parser.cc" break; - case 201: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}" -#line 860 "dhcp4_parser.yy" + case 203: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}" +#line 868 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1692 "dhcp4_parser.cc" +#line 1702 "dhcp4_parser.cc" break; - case 202: // $@32: %empty -#line 867 "dhcp4_parser.yy" + case 204: // $@32: %empty +#line 875 "dhcp4_parser.yy" { ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1700,37 +1710,37 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SANITY_CHECKS); } -#line 1704 "dhcp4_parser.cc" +#line 1714 "dhcp4_parser.cc" break; - case 203: // sanity_checks: "sanity-checks" $@32 ":" "{" sanity_checks_params "}" -#line 873 "dhcp4_parser.yy" + case 205: // sanity_checks: "sanity-checks" $@32 ":" "{" sanity_checks_params "}" +#line 881 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1713 "dhcp4_parser.cc" +#line 1723 "dhcp4_parser.cc" break; - case 206: // sanity_checks_params: sanity_checks_params "," -#line 880 "dhcp4_parser.yy" + case 208: // sanity_checks_params: sanity_checks_params "," +#line 888 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1721 "dhcp4_parser.cc" +#line 1731 "dhcp4_parser.cc" break; - case 208: // $@33: %empty -#line 887 "dhcp4_parser.yy" + case 210: // $@33: %empty +#line 895 "dhcp4_parser.yy" { ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1730 "dhcp4_parser.cc" +#line 1740 "dhcp4_parser.cc" break; - case 209: // lease_checks: "lease-checks" $@33 ":" "constant string" -#line 890 "dhcp4_parser.yy" + case 211: // lease_checks: "lease-checks" $@33 ":" "constant string" +#line 898 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1746,11 +1756,11 @@ namespace isc { namespace dhcp { ", supported values are: none, warn, fix, fix-del, del"); } } -#line 1750 "dhcp4_parser.cc" +#line 1760 "dhcp4_parser.cc" break; - case 210: // $@34: %empty -#line 906 "dhcp4_parser.yy" + case 212: // $@34: %empty +#line 914 "dhcp4_parser.yy" { ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1758,22 +1768,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1762 "dhcp4_parser.cc" +#line 1772 "dhcp4_parser.cc" break; - case 211: // hosts_database: "hosts-database" $@34 ":" "{" database_map_params "}" -#line 912 "dhcp4_parser.yy" + case 213: // hosts_database: "hosts-database" $@34 ":" "{" database_map_params "}" +#line 920 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1773 "dhcp4_parser.cc" +#line 1783 "dhcp4_parser.cc" break; - case 212: // $@35: %empty -#line 919 "dhcp4_parser.yy" + case 214: // $@35: %empty +#line 927 "dhcp4_parser.yy" { ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1781,472 +1791,472 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1785 "dhcp4_parser.cc" +#line 1795 "dhcp4_parser.cc" break; - case 213: // hosts_databases: "hosts-databases" $@35 ":" "[" database_list "]" -#line 925 "dhcp4_parser.yy" + case 215: // hosts_databases: "hosts-databases" $@35 ":" "[" database_list "]" +#line 933 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1794 "dhcp4_parser.cc" +#line 1804 "dhcp4_parser.cc" break; - case 218: // not_empty_database_list: not_empty_database_list "," -#line 936 "dhcp4_parser.yy" + case 220: // not_empty_database_list: not_empty_database_list "," +#line 944 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1802 "dhcp4_parser.cc" +#line 1812 "dhcp4_parser.cc" break; - case 219: // $@36: %empty -#line 941 "dhcp4_parser.yy" + case 221: // $@36: %empty +#line 949 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1812 "dhcp4_parser.cc" +#line 1822 "dhcp4_parser.cc" break; - case 220: // database: "{" $@36 database_map_params "}" -#line 945 "dhcp4_parser.yy" + case 222: // database: "{" $@36 database_map_params "}" +#line 953 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1822 "dhcp4_parser.cc" +#line 1832 "dhcp4_parser.cc" break; - case 223: // database_map_params: database_map_params "," -#line 953 "dhcp4_parser.yy" + case 225: // database_map_params: database_map_params "," +#line 961 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1830 "dhcp4_parser.cc" +#line 1840 "dhcp4_parser.cc" break; - case 250: // $@37: %empty -#line 986 "dhcp4_parser.yy" + case 252: // $@37: %empty +#line 994 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_TYPE); } -#line 1839 "dhcp4_parser.cc" +#line 1849 "dhcp4_parser.cc" break; - case 251: // database_type: "type" $@37 ":" db_type -#line 989 "dhcp4_parser.yy" + case 253: // database_type: "type" $@37 ":" db_type +#line 997 "dhcp4_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1848 "dhcp4_parser.cc" +#line 1858 "dhcp4_parser.cc" break; - case 252: // db_type: "memfile" -#line 994 "dhcp4_parser.yy" + case 254: // db_type: "memfile" +#line 1002 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } -#line 1854 "dhcp4_parser.cc" +#line 1864 "dhcp4_parser.cc" break; - case 253: // db_type: "mysql" -#line 995 "dhcp4_parser.yy" + case 255: // db_type: "mysql" +#line 1003 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } -#line 1860 "dhcp4_parser.cc" +#line 1870 "dhcp4_parser.cc" break; - case 254: // db_type: "postgresql" -#line 996 "dhcp4_parser.yy" + case 256: // db_type: "postgresql" +#line 1004 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } -#line 1866 "dhcp4_parser.cc" +#line 1876 "dhcp4_parser.cc" break; - case 255: // db_type: "cql" -#line 997 "dhcp4_parser.yy" + case 257: // db_type: "cql" +#line 1005 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } -#line 1872 "dhcp4_parser.cc" +#line 1882 "dhcp4_parser.cc" break; - case 256: // $@38: %empty -#line 1000 "dhcp4_parser.yy" + case 258: // $@38: %empty +#line 1008 "dhcp4_parser.yy" { ctx.unique("user", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1881 "dhcp4_parser.cc" +#line 1891 "dhcp4_parser.cc" break; - case 257: // user: "user" $@38 ":" "constant string" -#line 1003 "dhcp4_parser.yy" + case 259: // user: "user" $@38 ":" "constant string" +#line 1011 "dhcp4_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 1891 "dhcp4_parser.cc" +#line 1901 "dhcp4_parser.cc" break; - case 258: // $@39: %empty -#line 1009 "dhcp4_parser.yy" + case 260: // $@39: %empty +#line 1017 "dhcp4_parser.yy" { ctx.unique("password", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1900 "dhcp4_parser.cc" +#line 1910 "dhcp4_parser.cc" break; - case 259: // password: "password" $@39 ":" "constant string" -#line 1012 "dhcp4_parser.yy" + case 261: // password: "password" $@39 ":" "constant string" +#line 1020 "dhcp4_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 1910 "dhcp4_parser.cc" +#line 1920 "dhcp4_parser.cc" break; - case 260: // $@40: %empty -#line 1018 "dhcp4_parser.yy" + case 262: // $@40: %empty +#line 1026 "dhcp4_parser.yy" { ctx.unique("host", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1919 "dhcp4_parser.cc" +#line 1929 "dhcp4_parser.cc" break; - case 261: // host: "host" $@40 ":" "constant string" -#line 1021 "dhcp4_parser.yy" + case 263: // host: "host" $@40 ":" "constant string" +#line 1029 "dhcp4_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 1929 "dhcp4_parser.cc" +#line 1939 "dhcp4_parser.cc" break; - case 262: // port: "port" ":" "integer" -#line 1027 "dhcp4_parser.yy" + case 264: // port: "port" ":" "integer" +#line 1035 "dhcp4_parser.yy" { ctx.unique("port", ctx.loc2pos(yystack_[2].location)); ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); } -#line 1939 "dhcp4_parser.cc" +#line 1949 "dhcp4_parser.cc" break; - case 263: // $@41: %empty -#line 1033 "dhcp4_parser.yy" + case 265: // $@41: %empty +#line 1041 "dhcp4_parser.yy" { ctx.unique("name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1948 "dhcp4_parser.cc" +#line 1958 "dhcp4_parser.cc" break; - case 264: // name: "name" $@41 ":" "constant string" -#line 1036 "dhcp4_parser.yy" + case 266: // name: "name" $@41 ":" "constant string" +#line 1044 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1958 "dhcp4_parser.cc" +#line 1968 "dhcp4_parser.cc" break; - case 265: // persist: "persist" ":" "boolean" -#line 1042 "dhcp4_parser.yy" + case 267: // persist: "persist" ":" "boolean" +#line 1050 "dhcp4_parser.yy" { ctx.unique("persist", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } -#line 1968 "dhcp4_parser.cc" +#line 1978 "dhcp4_parser.cc" break; - case 266: // lfc_interval: "lfc-interval" ":" "integer" -#line 1048 "dhcp4_parser.yy" + case 268: // lfc_interval: "lfc-interval" ":" "integer" +#line 1056 "dhcp4_parser.yy" { ctx.unique("lfc-interval", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); } -#line 1978 "dhcp4_parser.cc" +#line 1988 "dhcp4_parser.cc" break; - case 267: // readonly: "readonly" ":" "boolean" -#line 1054 "dhcp4_parser.yy" + case 269: // readonly: "readonly" ":" "boolean" +#line 1062 "dhcp4_parser.yy" { ctx.unique("readonly", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } -#line 1988 "dhcp4_parser.cc" +#line 1998 "dhcp4_parser.cc" break; - case 268: // connect_timeout: "connect-timeout" ":" "integer" -#line 1060 "dhcp4_parser.yy" + case 270: // connect_timeout: "connect-timeout" ":" "integer" +#line 1068 "dhcp4_parser.yy" { ctx.unique("connect-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); } -#line 1998 "dhcp4_parser.cc" +#line 2008 "dhcp4_parser.cc" break; - case 269: // request_timeout: "request-timeout" ":" "integer" -#line 1066 "dhcp4_parser.yy" + case 271: // request_timeout: "request-timeout" ":" "integer" +#line 1074 "dhcp4_parser.yy" { ctx.unique("request-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("request-timeout", n); } -#line 2008 "dhcp4_parser.cc" +#line 2018 "dhcp4_parser.cc" break; - case 270: // tcp_keepalive: "tcp-keepalive" ":" "integer" -#line 1072 "dhcp4_parser.yy" + case 272: // tcp_keepalive: "tcp-keepalive" ":" "integer" +#line 1080 "dhcp4_parser.yy" { ctx.unique("tcp-keepalive", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-keepalive", n); } -#line 2018 "dhcp4_parser.cc" +#line 2028 "dhcp4_parser.cc" break; - case 271: // tcp_nodelay: "tcp-nodelay" ":" "boolean" -#line 1078 "dhcp4_parser.yy" + case 273: // tcp_nodelay: "tcp-nodelay" ":" "boolean" +#line 1086 "dhcp4_parser.yy" { ctx.unique("tcp-nodelay", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-nodelay", n); } -#line 2028 "dhcp4_parser.cc" +#line 2038 "dhcp4_parser.cc" break; - case 272: // $@42: %empty -#line 1084 "dhcp4_parser.yy" + case 274: // $@42: %empty +#line 1092 "dhcp4_parser.yy" { ctx.unique("contact-points", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2037 "dhcp4_parser.cc" +#line 2047 "dhcp4_parser.cc" break; - case 273: // contact_points: "contact-points" $@42 ":" "constant string" -#line 1087 "dhcp4_parser.yy" + case 275: // contact_points: "contact-points" $@42 ":" "constant string" +#line 1095 "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); ctx.leave(); } -#line 2047 "dhcp4_parser.cc" +#line 2057 "dhcp4_parser.cc" break; - case 274: // $@43: %empty -#line 1093 "dhcp4_parser.yy" + case 276: // $@43: %empty +#line 1101 "dhcp4_parser.yy" { ctx.unique("keyspace", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2056 "dhcp4_parser.cc" +#line 2066 "dhcp4_parser.cc" break; - case 275: // keyspace: "keyspace" $@43 ":" "constant string" -#line 1096 "dhcp4_parser.yy" + case 277: // keyspace: "keyspace" $@43 ":" "constant string" +#line 1104 "dhcp4_parser.yy" { ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("keyspace", ks); ctx.leave(); } -#line 2066 "dhcp4_parser.cc" +#line 2076 "dhcp4_parser.cc" break; - case 276: // $@44: %empty -#line 1102 "dhcp4_parser.yy" + case 278: // $@44: %empty +#line 1110 "dhcp4_parser.yy" { ctx.unique("consistency", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2075 "dhcp4_parser.cc" +#line 2085 "dhcp4_parser.cc" break; - case 277: // consistency: "consistency" $@44 ":" "constant string" -#line 1105 "dhcp4_parser.yy" + case 279: // consistency: "consistency" $@44 ":" "constant string" +#line 1113 "dhcp4_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("consistency", c); ctx.leave(); } -#line 2085 "dhcp4_parser.cc" +#line 2095 "dhcp4_parser.cc" break; - case 278: // $@45: %empty -#line 1111 "dhcp4_parser.yy" + case 280: // $@45: %empty +#line 1119 "dhcp4_parser.yy" { ctx.unique("serial-consistency", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2094 "dhcp4_parser.cc" +#line 2104 "dhcp4_parser.cc" break; - case 279: // serial_consistency: "serial-consistency" $@45 ":" "constant string" -#line 1114 "dhcp4_parser.yy" + case 281: // serial_consistency: "serial-consistency" $@45 ":" "constant string" +#line 1122 "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); ctx.leave(); } -#line 2104 "dhcp4_parser.cc" +#line 2114 "dhcp4_parser.cc" break; - case 280: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" -#line 1120 "dhcp4_parser.yy" + case 282: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" +#line 1128 "dhcp4_parser.yy" { ctx.unique("max-reconnect-tries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); } -#line 2114 "dhcp4_parser.cc" +#line 2124 "dhcp4_parser.cc" break; - case 281: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" -#line 1126 "dhcp4_parser.yy" + case 283: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" +#line 1134 "dhcp4_parser.yy" { ctx.unique("reconnect-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); } -#line 2124 "dhcp4_parser.cc" +#line 2134 "dhcp4_parser.cc" break; - case 282: // $@46: %empty -#line 1132 "dhcp4_parser.yy" + case 284: // $@46: %empty +#line 1140 "dhcp4_parser.yy" { ctx.unique("on-fail", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_ON_FAIL); } -#line 2133 "dhcp4_parser.cc" +#line 2143 "dhcp4_parser.cc" break; - case 283: // on_fail: "on-fail" $@46 ":" on_fail_mode -#line 1135 "dhcp4_parser.yy" + case 285: // on_fail: "on-fail" $@46 ":" on_fail_mode +#line 1143 "dhcp4_parser.yy" { ctx.stack_.back()->set("on-fail", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2142 "dhcp4_parser.cc" +#line 2152 "dhcp4_parser.cc" break; - case 284: // on_fail_mode: "stop-retry-exit" -#line 1140 "dhcp4_parser.yy" + case 286: // on_fail_mode: "stop-retry-exit" +#line 1148 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("stop-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 2148 "dhcp4_parser.cc" +#line 2158 "dhcp4_parser.cc" break; - case 285: // on_fail_mode: "serve-retry-exit" -#line 1141 "dhcp4_parser.yy" + case 287: // on_fail_mode: "serve-retry-exit" +#line 1149 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 2154 "dhcp4_parser.cc" +#line 2164 "dhcp4_parser.cc" break; - case 286: // on_fail_mode: "serve-retry-continue" -#line 1142 "dhcp4_parser.yy" + case 288: // on_fail_mode: "serve-retry-continue" +#line 1150 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-continue", ctx.loc2pos(yystack_[0].location))); } -#line 2160 "dhcp4_parser.cc" +#line 2170 "dhcp4_parser.cc" break; - case 287: // max_row_errors: "max-row-errors" ":" "integer" -#line 1145 "dhcp4_parser.yy" + case 289: // max_row_errors: "max-row-errors" ":" "integer" +#line 1153 "dhcp4_parser.yy" { ctx.unique("max-row-errors", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-row-errors", n); } -#line 2170 "dhcp4_parser.cc" +#line 2180 "dhcp4_parser.cc" break; - case 288: // $@47: %empty -#line 1151 "dhcp4_parser.yy" + case 290: // $@47: %empty +#line 1159 "dhcp4_parser.yy" { ctx.unique("trust-anchor", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2179 "dhcp4_parser.cc" +#line 2189 "dhcp4_parser.cc" break; - case 289: // trust_anchor: "trust-anchor" $@47 ":" "constant string" -#line 1154 "dhcp4_parser.yy" + case 291: // trust_anchor: "trust-anchor" $@47 ":" "constant string" +#line 1162 "dhcp4_parser.yy" { ElementPtr ca(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("trust-anchor", ca); ctx.leave(); } -#line 2189 "dhcp4_parser.cc" +#line 2199 "dhcp4_parser.cc" break; - case 290: // $@48: %empty -#line 1160 "dhcp4_parser.yy" + case 292: // $@48: %empty +#line 1168 "dhcp4_parser.yy" { ctx.unique("cert-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2198 "dhcp4_parser.cc" +#line 2208 "dhcp4_parser.cc" break; - case 291: // cert_file: "cert-file" $@48 ":" "constant string" -#line 1163 "dhcp4_parser.yy" + case 293: // cert_file: "cert-file" $@48 ":" "constant string" +#line 1171 "dhcp4_parser.yy" { ElementPtr cert(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cert-file", cert); ctx.leave(); } -#line 2208 "dhcp4_parser.cc" +#line 2218 "dhcp4_parser.cc" break; - case 292: // $@49: %empty -#line 1169 "dhcp4_parser.yy" + case 294: // $@49: %empty +#line 1177 "dhcp4_parser.yy" { ctx.unique("key-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2217 "dhcp4_parser.cc" +#line 2227 "dhcp4_parser.cc" break; - case 293: // key_file: "key-file" $@49 ":" "constant string" -#line 1172 "dhcp4_parser.yy" + case 295: // key_file: "key-file" $@49 ":" "constant string" +#line 1180 "dhcp4_parser.yy" { ElementPtr key(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("key-file", key); ctx.leave(); } -#line 2227 "dhcp4_parser.cc" +#line 2237 "dhcp4_parser.cc" break; - case 294: // $@50: %empty -#line 1178 "dhcp4_parser.yy" + case 296: // $@50: %empty +#line 1186 "dhcp4_parser.yy" { ctx.unique("cipher-list", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2236 "dhcp4_parser.cc" +#line 2246 "dhcp4_parser.cc" break; - case 295: // cipher_list: "cipher-list" $@50 ":" "constant string" -#line 1181 "dhcp4_parser.yy" + case 297: // cipher_list: "cipher-list" $@50 ":" "constant string" +#line 1189 "dhcp4_parser.yy" { ElementPtr cl(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cipher-list", cl); ctx.leave(); } -#line 2246 "dhcp4_parser.cc" +#line 2256 "dhcp4_parser.cc" break; - case 296: // $@51: %empty -#line 1187 "dhcp4_parser.yy" + case 298: // $@51: %empty +#line 1195 "dhcp4_parser.yy" { ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2254,73 +2264,73 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 2258 "dhcp4_parser.cc" +#line 2268 "dhcp4_parser.cc" break; - case 297: // host_reservation_identifiers: "host-reservation-identifiers" $@51 ":" "[" host_reservation_identifiers_list "]" -#line 1193 "dhcp4_parser.yy" + case 299: // host_reservation_identifiers: "host-reservation-identifiers" $@51 ":" "[" host_reservation_identifiers_list "]" +#line 1201 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2267 "dhcp4_parser.cc" +#line 2277 "dhcp4_parser.cc" break; - case 300: // host_reservation_identifiers_list: host_reservation_identifiers_list "," -#line 1200 "dhcp4_parser.yy" + case 302: // host_reservation_identifiers_list: host_reservation_identifiers_list "," +#line 1208 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2275 "dhcp4_parser.cc" +#line 2285 "dhcp4_parser.cc" break; - case 306: // duid_id: "duid" -#line 1212 "dhcp4_parser.yy" + case 308: // duid_id: "duid" +#line 1220 "dhcp4_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2284 "dhcp4_parser.cc" +#line 2294 "dhcp4_parser.cc" break; - case 307: // hw_address_id: "hw-address" -#line 1217 "dhcp4_parser.yy" + case 309: // hw_address_id: "hw-address" +#line 1225 "dhcp4_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 2293 "dhcp4_parser.cc" +#line 2303 "dhcp4_parser.cc" break; - case 308: // circuit_id: "circuit-id" -#line 1222 "dhcp4_parser.yy" + case 310: // circuit_id: "circuit-id" +#line 1230 "dhcp4_parser.yy" { ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(circuit); } -#line 2302 "dhcp4_parser.cc" +#line 2312 "dhcp4_parser.cc" break; - case 309: // client_id: "client-id" -#line 1227 "dhcp4_parser.yy" + case 311: // client_id: "client-id" +#line 1235 "dhcp4_parser.yy" { ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(client); } -#line 2311 "dhcp4_parser.cc" +#line 2321 "dhcp4_parser.cc" break; - case 310: // flex_id: "flex-id" -#line 1232 "dhcp4_parser.yy" + case 312: // flex_id: "flex-id" +#line 1240 "dhcp4_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 2320 "dhcp4_parser.cc" +#line 2330 "dhcp4_parser.cc" break; - case 311: // $@52: %empty -#line 1239 "dhcp4_parser.yy" + case 313: // $@52: %empty +#line 1247 "dhcp4_parser.yy" { ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location)); ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2328,60 +2338,60 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(mt); ctx.enter(ctx.DHCP_MULTI_THREADING); } -#line 2332 "dhcp4_parser.cc" +#line 2342 "dhcp4_parser.cc" break; - case 312: // dhcp_multi_threading: "multi-threading" $@52 ":" "{" multi_threading_params "}" -#line 1245 "dhcp4_parser.yy" + case 314: // dhcp_multi_threading: "multi-threading" $@52 ":" "{" multi_threading_params "}" +#line 1253 "dhcp4_parser.yy" { // The enable parameter is required. ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 2343 "dhcp4_parser.cc" +#line 2353 "dhcp4_parser.cc" break; - case 315: // multi_threading_params: multi_threading_params "," -#line 1254 "dhcp4_parser.yy" + case 317: // multi_threading_params: multi_threading_params "," +#line 1262 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2351 "dhcp4_parser.cc" +#line 2361 "dhcp4_parser.cc" break; - case 322: // enable_multi_threading: "enable-multi-threading" ":" "boolean" -#line 1267 "dhcp4_parser.yy" + case 324: // enable_multi_threading: "enable-multi-threading" ":" "boolean" +#line 1275 "dhcp4_parser.yy" { ctx.unique("enable-multi-threading", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-multi-threading", b); } -#line 2361 "dhcp4_parser.cc" +#line 2371 "dhcp4_parser.cc" break; - case 323: // thread_pool_size: "thread-pool-size" ":" "integer" -#line 1273 "dhcp4_parser.yy" + case 325: // thread_pool_size: "thread-pool-size" ":" "integer" +#line 1281 "dhcp4_parser.yy" { ctx.unique("thread-pool-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("thread-pool-size", prf); } -#line 2371 "dhcp4_parser.cc" +#line 2381 "dhcp4_parser.cc" break; - case 324: // packet_queue_size: "packet-queue-size" ":" "integer" -#line 1279 "dhcp4_parser.yy" + case 326: // packet_queue_size: "packet-queue-size" ":" "integer" +#line 1287 "dhcp4_parser.yy" { ctx.unique("packet-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("packet-queue-size", prf); } -#line 2381 "dhcp4_parser.cc" +#line 2391 "dhcp4_parser.cc" break; - case 325: // $@53: %empty -#line 1285 "dhcp4_parser.yy" + case 327: // $@53: %empty +#line 1293 "dhcp4_parser.yy" { ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2389,113 +2399,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 2393 "dhcp4_parser.cc" +#line 2403 "dhcp4_parser.cc" break; - case 326: // hooks_libraries: "hooks-libraries" $@53 ":" "[" hooks_libraries_list "]" -#line 1291 "dhcp4_parser.yy" + case 328: // hooks_libraries: "hooks-libraries" $@53 ":" "[" hooks_libraries_list "]" +#line 1299 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2402 "dhcp4_parser.cc" +#line 2412 "dhcp4_parser.cc" break; - case 331: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," -#line 1302 "dhcp4_parser.yy" + case 333: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," +#line 1310 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2410 "dhcp4_parser.cc" +#line 2420 "dhcp4_parser.cc" break; - case 332: // $@54: %empty -#line 1307 "dhcp4_parser.yy" + case 334: // $@54: %empty +#line 1315 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2420 "dhcp4_parser.cc" +#line 2430 "dhcp4_parser.cc" break; - case 333: // hooks_library: "{" $@54 hooks_params "}" -#line 1311 "dhcp4_parser.yy" + case 335: // hooks_library: "{" $@54 hooks_params "}" +#line 1319 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2430 "dhcp4_parser.cc" +#line 2440 "dhcp4_parser.cc" break; - case 334: // $@55: %empty -#line 1317 "dhcp4_parser.yy" + case 336: // $@55: %empty +#line 1325 "dhcp4_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2440 "dhcp4_parser.cc" +#line 2450 "dhcp4_parser.cc" break; - case 335: // sub_hooks_library: "{" $@55 hooks_params "}" -#line 1321 "dhcp4_parser.yy" + case 337: // sub_hooks_library: "{" $@55 hooks_params "}" +#line 1329 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2450 "dhcp4_parser.cc" +#line 2460 "dhcp4_parser.cc" break; - case 338: // hooks_params: hooks_params "," -#line 1329 "dhcp4_parser.yy" + case 340: // hooks_params: hooks_params "," +#line 1337 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2458 "dhcp4_parser.cc" +#line 2468 "dhcp4_parser.cc" break; - case 342: // $@56: %empty -#line 1339 "dhcp4_parser.yy" + case 344: // $@56: %empty +#line 1347 "dhcp4_parser.yy" { ctx.unique("library", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2467 "dhcp4_parser.cc" +#line 2477 "dhcp4_parser.cc" break; - case 343: // library: "library" $@56 ":" "constant string" -#line 1342 "dhcp4_parser.yy" + case 345: // library: "library" $@56 ":" "constant string" +#line 1350 "dhcp4_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 2477 "dhcp4_parser.cc" +#line 2487 "dhcp4_parser.cc" break; - case 344: // $@57: %empty -#line 1348 "dhcp4_parser.yy" + case 346: // $@57: %empty +#line 1356 "dhcp4_parser.yy" { ctx.unique("parameters", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2486 "dhcp4_parser.cc" +#line 2496 "dhcp4_parser.cc" break; - case 345: // parameters: "parameters" $@57 ":" map_value -#line 1351 "dhcp4_parser.yy" + case 347: // parameters: "parameters" $@57 ":" map_value +#line 1359 "dhcp4_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2495 "dhcp4_parser.cc" +#line 2505 "dhcp4_parser.cc" break; - case 346: // $@58: %empty -#line 1357 "dhcp4_parser.yy" + case 348: // $@58: %empty +#line 1365 "dhcp4_parser.yy" { ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2503,89 +2513,89 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 2507 "dhcp4_parser.cc" +#line 2517 "dhcp4_parser.cc" break; - case 347: // expired_leases_processing: "expired-leases-processing" $@58 ":" "{" expired_leases_params "}" -#line 1363 "dhcp4_parser.yy" + case 349: // expired_leases_processing: "expired-leases-processing" $@58 ":" "{" expired_leases_params "}" +#line 1371 "dhcp4_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 2517 "dhcp4_parser.cc" +#line 2527 "dhcp4_parser.cc" break; - case 350: // expired_leases_params: expired_leases_params "," -#line 1371 "dhcp4_parser.yy" + case 352: // expired_leases_params: expired_leases_params "," +#line 1379 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2525 "dhcp4_parser.cc" +#line 2535 "dhcp4_parser.cc" break; - case 357: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" -#line 1384 "dhcp4_parser.yy" + case 359: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" +#line 1392 "dhcp4_parser.yy" { ctx.unique("reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 2535 "dhcp4_parser.cc" +#line 2545 "dhcp4_parser.cc" break; - case 358: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" -#line 1390 "dhcp4_parser.yy" + case 360: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" +#line 1398 "dhcp4_parser.yy" { ctx.unique("flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location)); 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); } -#line 2545 "dhcp4_parser.cc" +#line 2555 "dhcp4_parser.cc" break; - case 359: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" -#line 1396 "dhcp4_parser.yy" + case 361: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" +#line 1404 "dhcp4_parser.yy" { ctx.unique("hold-reclaimed-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 2555 "dhcp4_parser.cc" +#line 2565 "dhcp4_parser.cc" break; - case 360: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" -#line 1402 "dhcp4_parser.yy" + case 362: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" +#line 1410 "dhcp4_parser.yy" { ctx.unique("max-reclaim-leases", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 2565 "dhcp4_parser.cc" +#line 2575 "dhcp4_parser.cc" break; - case 361: // max_reclaim_time: "max-reclaim-time" ":" "integer" -#line 1408 "dhcp4_parser.yy" + case 363: // max_reclaim_time: "max-reclaim-time" ":" "integer" +#line 1416 "dhcp4_parser.yy" { ctx.unique("max-reclaim-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 2575 "dhcp4_parser.cc" +#line 2585 "dhcp4_parser.cc" break; - case 362: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" -#line 1414 "dhcp4_parser.yy" + case 364: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" +#line 1422 "dhcp4_parser.yy" { ctx.unique("unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 2585 "dhcp4_parser.cc" +#line 2595 "dhcp4_parser.cc" break; - case 363: // $@59: %empty -#line 1423 "dhcp4_parser.yy" + case 365: // $@59: %empty +#line 1431 "dhcp4_parser.yy" { ctx.unique("subnet4", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2593,38 +2603,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET4); } -#line 2597 "dhcp4_parser.cc" +#line 2607 "dhcp4_parser.cc" break; - case 364: // subnet4_list: "subnet4" $@59 ":" "[" subnet4_list_content "]" -#line 1429 "dhcp4_parser.yy" + case 366: // subnet4_list: "subnet4" $@59 ":" "[" subnet4_list_content "]" +#line 1437 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2606 "dhcp4_parser.cc" +#line 2616 "dhcp4_parser.cc" break; - case 369: // not_empty_subnet4_list: not_empty_subnet4_list "," -#line 1443 "dhcp4_parser.yy" + case 371: // not_empty_subnet4_list: not_empty_subnet4_list "," +#line 1451 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2614 "dhcp4_parser.cc" +#line 2624 "dhcp4_parser.cc" break; - case 370: // $@60: %empty -#line 1452 "dhcp4_parser.yy" + case 372: // $@60: %empty +#line 1460 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2624 "dhcp4_parser.cc" +#line 2634 "dhcp4_parser.cc" break; - case 371: // subnet4: "{" $@60 subnet4_params "}" -#line 1456 "dhcp4_parser.yy" + case 373: // subnet4: "{" $@60 subnet4_params "}" +#line 1464 "dhcp4_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2646,153 +2656,153 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2650 "dhcp4_parser.cc" +#line 2660 "dhcp4_parser.cc" break; - case 372: // $@61: %empty -#line 1478 "dhcp4_parser.yy" + case 374: // $@61: %empty +#line 1486 "dhcp4_parser.yy" { // Parse the subnet4 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2660 "dhcp4_parser.cc" +#line 2670 "dhcp4_parser.cc" break; - case 373: // sub_subnet4: "{" $@61 subnet4_params "}" -#line 1482 "dhcp4_parser.yy" + case 375: // sub_subnet4: "{" $@61 subnet4_params "}" +#line 1490 "dhcp4_parser.yy" { // The subnet subnet4 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2670 "dhcp4_parser.cc" +#line 2680 "dhcp4_parser.cc" break; - case 376: // subnet4_params: subnet4_params "," -#line 1491 "dhcp4_parser.yy" + case 378: // subnet4_params: subnet4_params "," +#line 1499 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2678 "dhcp4_parser.cc" +#line 2688 "dhcp4_parser.cc" break; - case 422: // $@62: %empty -#line 1544 "dhcp4_parser.yy" + case 424: // $@62: %empty +#line 1552 "dhcp4_parser.yy" { ctx.unique("subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2687 "dhcp4_parser.cc" +#line 2697 "dhcp4_parser.cc" break; - case 423: // subnet: "subnet" $@62 ":" "constant string" -#line 1547 "dhcp4_parser.yy" + case 425: // subnet: "subnet" $@62 ":" "constant string" +#line 1555 "dhcp4_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 2697 "dhcp4_parser.cc" +#line 2707 "dhcp4_parser.cc" break; - case 424: // $@63: %empty -#line 1553 "dhcp4_parser.yy" + case 426: // $@63: %empty +#line 1561 "dhcp4_parser.yy" { ctx.unique("4o6-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2706 "dhcp4_parser.cc" +#line 2716 "dhcp4_parser.cc" break; - case 425: // subnet_4o6_interface: "4o6-interface" $@63 ":" "constant string" -#line 1556 "dhcp4_parser.yy" + case 427: // subnet_4o6_interface: "4o6-interface" $@63 ":" "constant string" +#line 1564 "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); ctx.leave(); } -#line 2716 "dhcp4_parser.cc" +#line 2726 "dhcp4_parser.cc" break; - case 426: // $@64: %empty -#line 1562 "dhcp4_parser.yy" + case 428: // $@64: %empty +#line 1570 "dhcp4_parser.yy" { ctx.unique("4o6-interface-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2725 "dhcp4_parser.cc" +#line 2735 "dhcp4_parser.cc" break; - case 427: // subnet_4o6_interface_id: "4o6-interface-id" $@64 ":" "constant string" -#line 1565 "dhcp4_parser.yy" + case 429: // subnet_4o6_interface_id: "4o6-interface-id" $@64 ":" "constant string" +#line 1573 "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); ctx.leave(); } -#line 2735 "dhcp4_parser.cc" +#line 2745 "dhcp4_parser.cc" break; - case 428: // $@65: %empty -#line 1571 "dhcp4_parser.yy" + case 430: // $@65: %empty +#line 1579 "dhcp4_parser.yy" { ctx.unique("4o6-subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2744 "dhcp4_parser.cc" +#line 2754 "dhcp4_parser.cc" break; - case 429: // subnet_4o6_subnet: "4o6-subnet" $@65 ":" "constant string" -#line 1574 "dhcp4_parser.yy" + case 431: // subnet_4o6_subnet: "4o6-subnet" $@65 ":" "constant string" +#line 1582 "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); ctx.leave(); } -#line 2754 "dhcp4_parser.cc" +#line 2764 "dhcp4_parser.cc" break; - case 430: // $@66: %empty -#line 1580 "dhcp4_parser.yy" + case 432: // $@66: %empty +#line 1588 "dhcp4_parser.yy" { ctx.unique("interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2763 "dhcp4_parser.cc" +#line 2773 "dhcp4_parser.cc" break; - case 431: // interface: "interface" $@66 ":" "constant string" -#line 1583 "dhcp4_parser.yy" + case 433: // interface: "interface" $@66 ":" "constant string" +#line 1591 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 2773 "dhcp4_parser.cc" +#line 2783 "dhcp4_parser.cc" break; - case 432: // $@67: %empty -#line 1589 "dhcp4_parser.yy" + case 434: // $@67: %empty +#line 1597 "dhcp4_parser.yy" { ctx.unique("client-class", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2782 "dhcp4_parser.cc" +#line 2792 "dhcp4_parser.cc" break; - case 433: // client_class: "client-class" $@67 ":" "constant string" -#line 1592 "dhcp4_parser.yy" + case 435: // client_class: "client-class" $@67 ":" "constant string" +#line 1600 "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); ctx.leave(); } -#line 2792 "dhcp4_parser.cc" +#line 2802 "dhcp4_parser.cc" break; - case 434: // $@68: %empty -#line 1598 "dhcp4_parser.yy" + case 436: // $@68: %empty +#line 1606 "dhcp4_parser.yy" { ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2800,102 +2810,102 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2804 "dhcp4_parser.cc" +#line 2814 "dhcp4_parser.cc" break; - case 435: // require_client_classes: "require-client-classes" $@68 ":" list_strings -#line 1604 "dhcp4_parser.yy" + case 437: // require_client_classes: "require-client-classes" $@68 ":" list_strings +#line 1612 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2813 "dhcp4_parser.cc" +#line 2823 "dhcp4_parser.cc" break; - case 436: // reservations_global: "reservations-global" ":" "boolean" -#line 1609 "dhcp4_parser.yy" + case 438: // reservations_global: "reservations-global" ":" "boolean" +#line 1617 "dhcp4_parser.yy" { ctx.unique("reservations-global", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-global", b); } -#line 2823 "dhcp4_parser.cc" +#line 2833 "dhcp4_parser.cc" break; - case 437: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" -#line 1615 "dhcp4_parser.yy" + case 439: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" +#line 1623 "dhcp4_parser.yy" { ctx.unique("reservations-in-subnet", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-in-subnet", b); } -#line 2833 "dhcp4_parser.cc" +#line 2843 "dhcp4_parser.cc" break; - case 438: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" -#line 1621 "dhcp4_parser.yy" + case 440: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" +#line 1629 "dhcp4_parser.yy" { ctx.unique("reservations-out-of-pool", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-out-of-pool", b); } -#line 2843 "dhcp4_parser.cc" +#line 2853 "dhcp4_parser.cc" break; - case 439: // $@69: %empty -#line 1627 "dhcp4_parser.yy" + case 441: // $@69: %empty +#line 1635 "dhcp4_parser.yy" { ctx.unique("reservation-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.RESERVATION_MODE); } -#line 2852 "dhcp4_parser.cc" +#line 2862 "dhcp4_parser.cc" break; - case 440: // reservation_mode: "reservation-mode" $@69 ":" hr_mode -#line 1630 "dhcp4_parser.yy" + case 442: // reservation_mode: "reservation-mode" $@69 ":" hr_mode +#line 1638 "dhcp4_parser.yy" { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2861 "dhcp4_parser.cc" +#line 2871 "dhcp4_parser.cc" break; - case 441: // hr_mode: "disabled" -#line 1635 "dhcp4_parser.yy" + case 443: // hr_mode: "disabled" +#line 1643 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } -#line 2867 "dhcp4_parser.cc" +#line 2877 "dhcp4_parser.cc" break; - case 442: // hr_mode: "out-of-pool" -#line 1636 "dhcp4_parser.yy" + case 444: // hr_mode: "out-of-pool" +#line 1644 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } -#line 2873 "dhcp4_parser.cc" +#line 2883 "dhcp4_parser.cc" break; - case 443: // hr_mode: "global" -#line 1637 "dhcp4_parser.yy" + case 445: // hr_mode: "global" +#line 1645 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } -#line 2879 "dhcp4_parser.cc" +#line 2889 "dhcp4_parser.cc" break; - case 444: // hr_mode: "all" -#line 1638 "dhcp4_parser.yy" + case 446: // hr_mode: "all" +#line 1646 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } -#line 2885 "dhcp4_parser.cc" +#line 2895 "dhcp4_parser.cc" break; - case 445: // id: "id" ":" "integer" -#line 1641 "dhcp4_parser.yy" + case 447: // id: "id" ":" "integer" +#line 1649 "dhcp4_parser.yy" { ctx.unique("id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 2895 "dhcp4_parser.cc" +#line 2905 "dhcp4_parser.cc" break; - case 446: // $@70: %empty -#line 1649 "dhcp4_parser.yy" + case 448: // $@70: %empty +#line 1657 "dhcp4_parser.yy" { ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2903,54 +2913,54 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 2907 "dhcp4_parser.cc" +#line 2917 "dhcp4_parser.cc" break; - case 447: // shared_networks: "shared-networks" $@70 ":" "[" shared_networks_content "]" -#line 1655 "dhcp4_parser.yy" + case 449: // shared_networks: "shared-networks" $@70 ":" "[" shared_networks_content "]" +#line 1663 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2916 "dhcp4_parser.cc" +#line 2926 "dhcp4_parser.cc" break; - case 452: // shared_networks_list: shared_networks_list "," -#line 1668 "dhcp4_parser.yy" + case 454: // shared_networks_list: shared_networks_list "," +#line 1676 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2924 "dhcp4_parser.cc" +#line 2934 "dhcp4_parser.cc" break; - case 453: // $@71: %empty -#line 1673 "dhcp4_parser.yy" + case 455: // $@71: %empty +#line 1681 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2934 "dhcp4_parser.cc" +#line 2944 "dhcp4_parser.cc" break; - case 454: // shared_network: "{" $@71 shared_network_params "}" -#line 1677 "dhcp4_parser.yy" + case 456: // shared_network: "{" $@71 shared_network_params "}" +#line 1685 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 2942 "dhcp4_parser.cc" +#line 2952 "dhcp4_parser.cc" break; - case 457: // shared_network_params: shared_network_params "," -#line 1683 "dhcp4_parser.yy" + case 459: // shared_network_params: shared_network_params "," +#line 1691 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2950 "dhcp4_parser.cc" +#line 2960 "dhcp4_parser.cc" break; - case 498: // $@72: %empty -#line 1734 "dhcp4_parser.yy" + case 500: // $@72: %empty +#line 1742 "dhcp4_parser.yy" { ctx.unique("option-def", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2958,55 +2968,55 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 2962 "dhcp4_parser.cc" +#line 2972 "dhcp4_parser.cc" break; - case 499: // option_def_list: "option-def" $@72 ":" "[" option_def_list_content "]" -#line 1740 "dhcp4_parser.yy" + case 501: // option_def_list: "option-def" $@72 ":" "[" option_def_list_content "]" +#line 1748 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2971 "dhcp4_parser.cc" +#line 2981 "dhcp4_parser.cc" break; - case 500: // $@73: %empty -#line 1748 "dhcp4_parser.yy" + case 502: // $@73: %empty +#line 1756 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2980 "dhcp4_parser.cc" +#line 2990 "dhcp4_parser.cc" break; - case 501: // sub_option_def_list: "{" $@73 option_def_list "}" -#line 1751 "dhcp4_parser.yy" + case 503: // sub_option_def_list: "{" $@73 option_def_list "}" +#line 1759 "dhcp4_parser.yy" { // parsing completed } -#line 2988 "dhcp4_parser.cc" +#line 2998 "dhcp4_parser.cc" break; - case 506: // not_empty_option_def_list: not_empty_option_def_list "," -#line 1763 "dhcp4_parser.yy" + case 508: // not_empty_option_def_list: not_empty_option_def_list "," +#line 1771 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2996 "dhcp4_parser.cc" +#line 3006 "dhcp4_parser.cc" break; - case 507: // $@74: %empty -#line 1770 "dhcp4_parser.yy" + case 509: // $@74: %empty +#line 1778 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3006 "dhcp4_parser.cc" +#line 3016 "dhcp4_parser.cc" break; - case 508: // option_def_entry: "{" $@74 option_def_params "}" -#line 1774 "dhcp4_parser.yy" + case 510: // option_def_entry: "{" $@74 option_def_params "}" +#line 1782 "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)); @@ -3014,21 +3024,21 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3018 "dhcp4_parser.cc" +#line 3028 "dhcp4_parser.cc" break; - case 509: // $@75: %empty -#line 1785 "dhcp4_parser.yy" + case 511: // $@75: %empty +#line 1793 "dhcp4_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3028 "dhcp4_parser.cc" +#line 3038 "dhcp4_parser.cc" break; - case 510: // sub_option_def: "{" $@75 option_def_params "}" -#line 1789 "dhcp4_parser.yy" + case 512: // sub_option_def: "{" $@75 option_def_params "}" +#line 1797 "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)); @@ -3036,115 +3046,115 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3040 "dhcp4_parser.cc" +#line 3050 "dhcp4_parser.cc" break; - case 515: // not_empty_option_def_params: not_empty_option_def_params "," -#line 1805 "dhcp4_parser.yy" + case 517: // not_empty_option_def_params: not_empty_option_def_params "," +#line 1813 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3048 "dhcp4_parser.cc" +#line 3058 "dhcp4_parser.cc" break; - case 527: // code: "code" ":" "integer" -#line 1824 "dhcp4_parser.yy" + case 529: // code: "code" ":" "integer" +#line 1832 "dhcp4_parser.yy" { ctx.unique("code", ctx.loc2pos(yystack_[2].location)); ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 3058 "dhcp4_parser.cc" +#line 3068 "dhcp4_parser.cc" break; - case 529: // $@76: %empty -#line 1832 "dhcp4_parser.yy" + case 531: // $@76: %empty +#line 1840 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3067 "dhcp4_parser.cc" +#line 3077 "dhcp4_parser.cc" break; - case 530: // option_def_type: "type" $@76 ":" "constant string" -#line 1835 "dhcp4_parser.yy" + case 532: // option_def_type: "type" $@76 ":" "constant string" +#line 1843 "dhcp4_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 3077 "dhcp4_parser.cc" +#line 3087 "dhcp4_parser.cc" break; - case 531: // $@77: %empty -#line 1841 "dhcp4_parser.yy" + case 533: // $@77: %empty +#line 1849 "dhcp4_parser.yy" { ctx.unique("record-types", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3086 "dhcp4_parser.cc" +#line 3096 "dhcp4_parser.cc" break; - case 532: // option_def_record_types: "record-types" $@77 ":" "constant string" -#line 1844 "dhcp4_parser.yy" + case 534: // option_def_record_types: "record-types" $@77 ":" "constant string" +#line 1852 "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); ctx.leave(); } -#line 3096 "dhcp4_parser.cc" +#line 3106 "dhcp4_parser.cc" break; - case 533: // $@78: %empty -#line 1850 "dhcp4_parser.yy" + case 535: // $@78: %empty +#line 1858 "dhcp4_parser.yy" { ctx.unique("space", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3105 "dhcp4_parser.cc" +#line 3115 "dhcp4_parser.cc" break; - case 534: // space: "space" $@78 ":" "constant string" -#line 1853 "dhcp4_parser.yy" + case 536: // space: "space" $@78 ":" "constant string" +#line 1861 "dhcp4_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 3115 "dhcp4_parser.cc" +#line 3125 "dhcp4_parser.cc" break; - case 536: // $@79: %empty -#line 1861 "dhcp4_parser.yy" + case 538: // $@79: %empty +#line 1869 "dhcp4_parser.yy" { ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3124 "dhcp4_parser.cc" +#line 3134 "dhcp4_parser.cc" break; - case 537: // option_def_encapsulate: "encapsulate" $@79 ":" "constant string" -#line 1864 "dhcp4_parser.yy" + case 539: // option_def_encapsulate: "encapsulate" $@79 ":" "constant string" +#line 1872 "dhcp4_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 3134 "dhcp4_parser.cc" +#line 3144 "dhcp4_parser.cc" break; - case 538: // option_def_array: "array" ":" "boolean" -#line 1870 "dhcp4_parser.yy" + case 540: // option_def_array: "array" ":" "boolean" +#line 1878 "dhcp4_parser.yy" { ctx.unique("array", ctx.loc2pos(yystack_[2].location)); ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 3144 "dhcp4_parser.cc" +#line 3154 "dhcp4_parser.cc" break; - case 539: // $@80: %empty -#line 1880 "dhcp4_parser.yy" + case 541: // $@80: %empty +#line 1888 "dhcp4_parser.yy" { ctx.unique("option-data", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3152,113 +3162,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 3156 "dhcp4_parser.cc" +#line 3166 "dhcp4_parser.cc" break; - case 540: // option_data_list: "option-data" $@80 ":" "[" option_data_list_content "]" -#line 1886 "dhcp4_parser.yy" + case 542: // option_data_list: "option-data" $@80 ":" "[" option_data_list_content "]" +#line 1894 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3165 "dhcp4_parser.cc" +#line 3175 "dhcp4_parser.cc" break; - case 545: // not_empty_option_data_list: not_empty_option_data_list "," -#line 1901 "dhcp4_parser.yy" + case 547: // not_empty_option_data_list: not_empty_option_data_list "," +#line 1909 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3173 "dhcp4_parser.cc" +#line 3183 "dhcp4_parser.cc" break; - case 546: // $@81: %empty -#line 1908 "dhcp4_parser.yy" + case 548: // $@81: %empty +#line 1916 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3183 "dhcp4_parser.cc" +#line 3193 "dhcp4_parser.cc" break; - case 547: // option_data_entry: "{" $@81 option_data_params "}" -#line 1912 "dhcp4_parser.yy" + case 549: // option_data_entry: "{" $@81 option_data_params "}" +#line 1920 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 3192 "dhcp4_parser.cc" +#line 3202 "dhcp4_parser.cc" break; - case 548: // $@82: %empty -#line 1920 "dhcp4_parser.yy" + case 550: // $@82: %empty +#line 1928 "dhcp4_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3202 "dhcp4_parser.cc" +#line 3212 "dhcp4_parser.cc" break; - case 549: // sub_option_data: "{" $@82 option_data_params "}" -#line 1924 "dhcp4_parser.yy" + case 551: // sub_option_data: "{" $@82 option_data_params "}" +#line 1932 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed } -#line 3211 "dhcp4_parser.cc" +#line 3221 "dhcp4_parser.cc" break; - case 554: // not_empty_option_data_params: not_empty_option_data_params "," -#line 1940 "dhcp4_parser.yy" + case 556: // not_empty_option_data_params: not_empty_option_data_params "," +#line 1948 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3219 "dhcp4_parser.cc" +#line 3229 "dhcp4_parser.cc" break; - case 565: // $@83: %empty -#line 1960 "dhcp4_parser.yy" + case 567: // $@83: %empty +#line 1968 "dhcp4_parser.yy" { ctx.unique("data", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3228 "dhcp4_parser.cc" +#line 3238 "dhcp4_parser.cc" break; - case 566: // option_data_data: "data" $@83 ":" "constant string" -#line 1963 "dhcp4_parser.yy" + case 568: // option_data_data: "data" $@83 ":" "constant string" +#line 1971 "dhcp4_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 3238 "dhcp4_parser.cc" +#line 3248 "dhcp4_parser.cc" break; - case 569: // option_data_csv_format: "csv-format" ":" "boolean" -#line 1973 "dhcp4_parser.yy" + case 571: // option_data_csv_format: "csv-format" ":" "boolean" +#line 1981 "dhcp4_parser.yy" { ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location)); ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); } -#line 3248 "dhcp4_parser.cc" +#line 3258 "dhcp4_parser.cc" break; - case 570: // option_data_always_send: "always-send" ":" "boolean" -#line 1979 "dhcp4_parser.yy" + case 572: // option_data_always_send: "always-send" ":" "boolean" +#line 1987 "dhcp4_parser.yy" { ctx.unique("always-send", ctx.loc2pos(yystack_[2].location)); ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 3258 "dhcp4_parser.cc" +#line 3268 "dhcp4_parser.cc" break; - case 571: // $@84: %empty -#line 1988 "dhcp4_parser.yy" + case 573: // $@84: %empty +#line 1996 "dhcp4_parser.yy" { ctx.unique("pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3266,103 +3276,103 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 3270 "dhcp4_parser.cc" +#line 3280 "dhcp4_parser.cc" break; - case 572: // pools_list: "pools" $@84 ":" "[" pools_list_content "]" -#line 1994 "dhcp4_parser.yy" + case 574: // pools_list: "pools" $@84 ":" "[" pools_list_content "]" +#line 2002 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3279 "dhcp4_parser.cc" +#line 3289 "dhcp4_parser.cc" break; - case 577: // not_empty_pools_list: not_empty_pools_list "," -#line 2007 "dhcp4_parser.yy" + case 579: // not_empty_pools_list: not_empty_pools_list "," +#line 2015 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3287 "dhcp4_parser.cc" +#line 3297 "dhcp4_parser.cc" break; - case 578: // $@85: %empty -#line 2012 "dhcp4_parser.yy" + case 580: // $@85: %empty +#line 2020 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3297 "dhcp4_parser.cc" +#line 3307 "dhcp4_parser.cc" break; - case 579: // pool_list_entry: "{" $@85 pool_params "}" -#line 2016 "dhcp4_parser.yy" + case 581: // pool_list_entry: "{" $@85 pool_params "}" +#line 2024 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3307 "dhcp4_parser.cc" +#line 3317 "dhcp4_parser.cc" break; - case 580: // $@86: %empty -#line 2022 "dhcp4_parser.yy" + case 582: // $@86: %empty +#line 2030 "dhcp4_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3317 "dhcp4_parser.cc" +#line 3327 "dhcp4_parser.cc" break; - case 581: // sub_pool4: "{" $@86 pool_params "}" -#line 2026 "dhcp4_parser.yy" + case 583: // sub_pool4: "{" $@86 pool_params "}" +#line 2034 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3327 "dhcp4_parser.cc" +#line 3337 "dhcp4_parser.cc" break; - case 584: // pool_params: pool_params "," -#line 2034 "dhcp4_parser.yy" + case 586: // pool_params: pool_params "," +#line 2042 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3335 "dhcp4_parser.cc" +#line 3345 "dhcp4_parser.cc" break; - case 592: // $@87: %empty -#line 2048 "dhcp4_parser.yy" + case 594: // $@87: %empty +#line 2056 "dhcp4_parser.yy" { ctx.unique("pool", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3344 "dhcp4_parser.cc" +#line 3354 "dhcp4_parser.cc" break; - case 593: // pool_entry: "pool" $@87 ":" "constant string" -#line 2051 "dhcp4_parser.yy" + case 595: // pool_entry: "pool" $@87 ":" "constant string" +#line 2059 "dhcp4_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 3354 "dhcp4_parser.cc" +#line 3364 "dhcp4_parser.cc" break; - case 594: // $@88: %empty -#line 2057 "dhcp4_parser.yy" + case 596: // $@88: %empty +#line 2065 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3362 "dhcp4_parser.cc" +#line 3372 "dhcp4_parser.cc" break; - case 595: // user_context: "user-context" $@88 ":" map_value -#line 2059 "dhcp4_parser.yy" + case 597: // user_context: "user-context" $@88 ":" map_value +#line 2067 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -3385,19 +3395,19 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3389 "dhcp4_parser.cc" +#line 3399 "dhcp4_parser.cc" break; - case 596: // $@89: %empty -#line 2082 "dhcp4_parser.yy" + case 598: // $@89: %empty +#line 2090 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3397 "dhcp4_parser.cc" +#line 3407 "dhcp4_parser.cc" break; - case 597: // comment: "comment" $@89 ":" "constant string" -#line 2084 "dhcp4_parser.yy" + case 599: // comment: "comment" $@89 ":" "constant string" +#line 2092 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -3422,11 +3432,11 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3426 "dhcp4_parser.cc" +#line 3436 "dhcp4_parser.cc" break; - case 598: // $@90: %empty -#line 2112 "dhcp4_parser.yy" + case 600: // $@90: %empty +#line 2120 "dhcp4_parser.yy" { ctx.unique("reservations", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3434,150 +3444,150 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 3438 "dhcp4_parser.cc" +#line 3448 "dhcp4_parser.cc" break; - case 599: // reservations: "reservations" $@90 ":" "[" reservations_list "]" -#line 2118 "dhcp4_parser.yy" + case 601: // reservations: "reservations" $@90 ":" "[" reservations_list "]" +#line 2126 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3447 "dhcp4_parser.cc" +#line 3457 "dhcp4_parser.cc" break; - case 604: // not_empty_reservations_list: not_empty_reservations_list "," -#line 2129 "dhcp4_parser.yy" + case 606: // not_empty_reservations_list: not_empty_reservations_list "," +#line 2137 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3455 "dhcp4_parser.cc" +#line 3465 "dhcp4_parser.cc" break; - case 605: // $@91: %empty -#line 2134 "dhcp4_parser.yy" + case 607: // $@91: %empty +#line 2142 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3465 "dhcp4_parser.cc" +#line 3475 "dhcp4_parser.cc" break; - case 606: // reservation: "{" $@91 reservation_params "}" -#line 2138 "dhcp4_parser.yy" + case 608: // reservation: "{" $@91 reservation_params "}" +#line 2146 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 3474 "dhcp4_parser.cc" +#line 3484 "dhcp4_parser.cc" break; - case 607: // $@92: %empty -#line 2143 "dhcp4_parser.yy" + case 609: // $@92: %empty +#line 2151 "dhcp4_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3484 "dhcp4_parser.cc" +#line 3494 "dhcp4_parser.cc" break; - case 608: // sub_reservation: "{" $@92 reservation_params "}" -#line 2147 "dhcp4_parser.yy" + case 610: // sub_reservation: "{" $@92 reservation_params "}" +#line 2155 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed } -#line 3493 "dhcp4_parser.cc" +#line 3503 "dhcp4_parser.cc" break; - case 613: // not_empty_reservation_params: not_empty_reservation_params "," -#line 2158 "dhcp4_parser.yy" + case 615: // not_empty_reservation_params: not_empty_reservation_params "," +#line 2166 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3501 "dhcp4_parser.cc" +#line 3511 "dhcp4_parser.cc" break; - case 629: // $@93: %empty -#line 2181 "dhcp4_parser.yy" + case 631: // $@93: %empty +#line 2189 "dhcp4_parser.yy" { ctx.unique("next-server", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3510 "dhcp4_parser.cc" +#line 3520 "dhcp4_parser.cc" break; - case 630: // next_server: "next-server" $@93 ":" "constant string" -#line 2184 "dhcp4_parser.yy" + case 632: // next_server: "next-server" $@93 ":" "constant string" +#line 2192 "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); ctx.leave(); } -#line 3520 "dhcp4_parser.cc" +#line 3530 "dhcp4_parser.cc" break; - case 631: // $@94: %empty -#line 2190 "dhcp4_parser.yy" + case 633: // $@94: %empty +#line 2198 "dhcp4_parser.yy" { ctx.unique("server-hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3529 "dhcp4_parser.cc" +#line 3539 "dhcp4_parser.cc" break; - case 632: // server_hostname: "server-hostname" $@94 ":" "constant string" -#line 2193 "dhcp4_parser.yy" + case 634: // server_hostname: "server-hostname" $@94 ":" "constant string" +#line 2201 "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); ctx.leave(); } -#line 3539 "dhcp4_parser.cc" +#line 3549 "dhcp4_parser.cc" break; - case 633: // $@95: %empty -#line 2199 "dhcp4_parser.yy" + case 635: // $@95: %empty +#line 2207 "dhcp4_parser.yy" { ctx.unique("boot-file-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3548 "dhcp4_parser.cc" +#line 3558 "dhcp4_parser.cc" break; - case 634: // boot_file_name: "boot-file-name" $@95 ":" "constant string" -#line 2202 "dhcp4_parser.yy" + case 636: // boot_file_name: "boot-file-name" $@95 ":" "constant string" +#line 2210 "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); ctx.leave(); } -#line 3558 "dhcp4_parser.cc" +#line 3568 "dhcp4_parser.cc" break; - case 635: // $@96: %empty -#line 2208 "dhcp4_parser.yy" + case 637: // $@96: %empty +#line 2216 "dhcp4_parser.yy" { ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3567 "dhcp4_parser.cc" +#line 3577 "dhcp4_parser.cc" break; - case 636: // ip_address: "ip-address" $@96 ":" "constant string" -#line 2211 "dhcp4_parser.yy" + case 638: // ip_address: "ip-address" $@96 ":" "constant string" +#line 2219 "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); ctx.leave(); } -#line 3577 "dhcp4_parser.cc" +#line 3587 "dhcp4_parser.cc" break; - case 637: // $@97: %empty -#line 2217 "dhcp4_parser.yy" + case 639: // $@97: %empty +#line 2225 "dhcp4_parser.yy" { ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3585,134 +3595,134 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3589 "dhcp4_parser.cc" +#line 3599 "dhcp4_parser.cc" break; - case 638: // ip_addresses: "ip-addresses" $@97 ":" list_strings -#line 2223 "dhcp4_parser.yy" + case 640: // ip_addresses: "ip-addresses" $@97 ":" list_strings +#line 2231 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3598 "dhcp4_parser.cc" +#line 3608 "dhcp4_parser.cc" break; - case 639: // $@98: %empty -#line 2228 "dhcp4_parser.yy" + case 641: // $@98: %empty +#line 2236 "dhcp4_parser.yy" { ctx.unique("duid", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3607 "dhcp4_parser.cc" +#line 3617 "dhcp4_parser.cc" break; - case 640: // duid: "duid" $@98 ":" "constant string" -#line 2231 "dhcp4_parser.yy" + case 642: // duid: "duid" $@98 ":" "constant string" +#line 2239 "dhcp4_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 3617 "dhcp4_parser.cc" +#line 3627 "dhcp4_parser.cc" break; - case 641: // $@99: %empty -#line 2237 "dhcp4_parser.yy" + case 643: // $@99: %empty +#line 2245 "dhcp4_parser.yy" { ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3626 "dhcp4_parser.cc" +#line 3636 "dhcp4_parser.cc" break; - case 642: // hw_address: "hw-address" $@99 ":" "constant string" -#line 2240 "dhcp4_parser.yy" + case 644: // hw_address: "hw-address" $@99 ":" "constant string" +#line 2248 "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); ctx.leave(); } -#line 3636 "dhcp4_parser.cc" +#line 3646 "dhcp4_parser.cc" break; - case 643: // $@100: %empty -#line 2246 "dhcp4_parser.yy" + case 645: // $@100: %empty +#line 2254 "dhcp4_parser.yy" { ctx.unique("client-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3645 "dhcp4_parser.cc" +#line 3655 "dhcp4_parser.cc" break; - case 644: // client_id_value: "client-id" $@100 ":" "constant string" -#line 2249 "dhcp4_parser.yy" + case 646: // client_id_value: "client-id" $@100 ":" "constant string" +#line 2257 "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); ctx.leave(); } -#line 3655 "dhcp4_parser.cc" +#line 3665 "dhcp4_parser.cc" break; - case 645: // $@101: %empty -#line 2255 "dhcp4_parser.yy" + case 647: // $@101: %empty +#line 2263 "dhcp4_parser.yy" { ctx.unique("circuit-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3664 "dhcp4_parser.cc" +#line 3674 "dhcp4_parser.cc" break; - case 646: // circuit_id_value: "circuit-id" $@101 ":" "constant string" -#line 2258 "dhcp4_parser.yy" + case 648: // circuit_id_value: "circuit-id" $@101 ":" "constant string" +#line 2266 "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); ctx.leave(); } -#line 3674 "dhcp4_parser.cc" +#line 3684 "dhcp4_parser.cc" break; - case 647: // $@102: %empty -#line 2264 "dhcp4_parser.yy" + case 649: // $@102: %empty +#line 2272 "dhcp4_parser.yy" { ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3683 "dhcp4_parser.cc" +#line 3693 "dhcp4_parser.cc" break; - case 648: // flex_id_value: "flex-id" $@102 ":" "constant string" -#line 2267 "dhcp4_parser.yy" + case 650: // flex_id_value: "flex-id" $@102 ":" "constant string" +#line 2275 "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); ctx.leave(); } -#line 3693 "dhcp4_parser.cc" +#line 3703 "dhcp4_parser.cc" break; - case 649: // $@103: %empty -#line 2273 "dhcp4_parser.yy" + case 651: // $@103: %empty +#line 2281 "dhcp4_parser.yy" { ctx.unique("hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3702 "dhcp4_parser.cc" +#line 3712 "dhcp4_parser.cc" break; - case 650: // hostname: "hostname" $@103 ":" "constant string" -#line 2276 "dhcp4_parser.yy" + case 652: // hostname: "hostname" $@103 ":" "constant string" +#line 2284 "dhcp4_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 3712 "dhcp4_parser.cc" +#line 3722 "dhcp4_parser.cc" break; - case 651: // $@104: %empty -#line 2282 "dhcp4_parser.yy" + case 653: // $@104: %empty +#line 2290 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3720,20 +3730,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3724 "dhcp4_parser.cc" +#line 3734 "dhcp4_parser.cc" break; - case 652: // reservation_client_classes: "client-classes" $@104 ":" list_strings -#line 2288 "dhcp4_parser.yy" + case 654: // reservation_client_classes: "client-classes" $@104 ":" list_strings +#line 2296 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3733 "dhcp4_parser.cc" +#line 3743 "dhcp4_parser.cc" break; - case 653: // $@105: %empty -#line 2296 "dhcp4_parser.yy" + case 655: // $@105: %empty +#line 2304 "dhcp4_parser.yy" { ctx.unique("relay", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3741,20 +3751,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 3745 "dhcp4_parser.cc" +#line 3755 "dhcp4_parser.cc" break; - case 654: // relay: "relay" $@105 ":" "{" relay_map "}" -#line 2302 "dhcp4_parser.yy" + case 656: // relay: "relay" $@105 ":" "{" relay_map "}" +#line 2310 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3754 "dhcp4_parser.cc" +#line 3764 "dhcp4_parser.cc" break; - case 657: // $@106: %empty -#line 2314 "dhcp4_parser.yy" + case 659: // $@106: %empty +#line 2322 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3762,95 +3772,95 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 3766 "dhcp4_parser.cc" +#line 3776 "dhcp4_parser.cc" break; - case 658: // client_classes: "client-classes" $@106 ":" "[" client_classes_list "]" -#line 2320 "dhcp4_parser.yy" + case 660: // client_classes: "client-classes" $@106 ":" "[" client_classes_list "]" +#line 2328 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3775 "dhcp4_parser.cc" +#line 3785 "dhcp4_parser.cc" break; - case 661: // client_classes_list: client_classes_list "," -#line 2327 "dhcp4_parser.yy" + case 663: // client_classes_list: client_classes_list "," +#line 2335 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3783 "dhcp4_parser.cc" +#line 3793 "dhcp4_parser.cc" break; - case 662: // $@107: %empty -#line 2332 "dhcp4_parser.yy" + case 664: // $@107: %empty +#line 2340 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3793 "dhcp4_parser.cc" +#line 3803 "dhcp4_parser.cc" break; - case 663: // client_class_entry: "{" $@107 client_class_params "}" -#line 2336 "dhcp4_parser.yy" + case 665: // client_class_entry: "{" $@107 client_class_params "}" +#line 2344 "dhcp4_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3803 "dhcp4_parser.cc" +#line 3813 "dhcp4_parser.cc" break; - case 668: // not_empty_client_class_params: not_empty_client_class_params "," -#line 2348 "dhcp4_parser.yy" + case 670: // not_empty_client_class_params: not_empty_client_class_params "," +#line 2356 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3811 "dhcp4_parser.cc" +#line 3821 "dhcp4_parser.cc" break; - case 684: // $@108: %empty -#line 2371 "dhcp4_parser.yy" + case 686: // $@108: %empty +#line 2379 "dhcp4_parser.yy" { ctx.unique("test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3820 "dhcp4_parser.cc" +#line 3830 "dhcp4_parser.cc" break; - case 685: // client_class_test: "test" $@108 ":" "constant string" -#line 2374 "dhcp4_parser.yy" + case 687: // client_class_test: "test" $@108 ":" "constant string" +#line 2382 "dhcp4_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 3830 "dhcp4_parser.cc" +#line 3840 "dhcp4_parser.cc" break; - case 686: // only_if_required: "only-if-required" ":" "boolean" -#line 2380 "dhcp4_parser.yy" + case 688: // only_if_required: "only-if-required" ":" "boolean" +#line 2388 "dhcp4_parser.yy" { ctx.unique("only-if-required", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); } -#line 3840 "dhcp4_parser.cc" +#line 3850 "dhcp4_parser.cc" break; - case 687: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" -#line 2388 "dhcp4_parser.yy" + case 689: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" +#line 2396 "dhcp4_parser.yy" { ctx.unique("dhcp4o6-port", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 3850 "dhcp4_parser.cc" +#line 3860 "dhcp4_parser.cc" break; - case 688: // $@109: %empty -#line 2396 "dhcp4_parser.yy" + case 690: // $@109: %empty +#line 2404 "dhcp4_parser.yy" { ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3858,66 +3868,66 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 3862 "dhcp4_parser.cc" +#line 3872 "dhcp4_parser.cc" break; - case 689: // control_socket: "control-socket" $@109 ":" "{" control_socket_params "}" -#line 2402 "dhcp4_parser.yy" + case 691: // control_socket: "control-socket" $@109 ":" "{" control_socket_params "}" +#line 2410 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3871 "dhcp4_parser.cc" +#line 3881 "dhcp4_parser.cc" break; - case 692: // control_socket_params: control_socket_params "," -#line 2409 "dhcp4_parser.yy" + case 694: // control_socket_params: control_socket_params "," +#line 2417 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3879 "dhcp4_parser.cc" +#line 3889 "dhcp4_parser.cc" break; - case 698: // $@110: %empty -#line 2421 "dhcp4_parser.yy" + case 700: // $@110: %empty +#line 2429 "dhcp4_parser.yy" { ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3888 "dhcp4_parser.cc" +#line 3898 "dhcp4_parser.cc" break; - case 699: // control_socket_type: "socket-type" $@110 ":" "constant string" -#line 2424 "dhcp4_parser.yy" + case 701: // control_socket_type: "socket-type" $@110 ":" "constant string" +#line 2432 "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); ctx.leave(); } -#line 3898 "dhcp4_parser.cc" +#line 3908 "dhcp4_parser.cc" break; - case 700: // $@111: %empty -#line 2430 "dhcp4_parser.yy" + case 702: // $@111: %empty +#line 2438 "dhcp4_parser.yy" { ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3907 "dhcp4_parser.cc" +#line 3917 "dhcp4_parser.cc" break; - case 701: // control_socket_name: "socket-name" $@111 ":" "constant string" -#line 2433 "dhcp4_parser.yy" + case 703: // control_socket_name: "socket-name" $@111 ":" "constant string" +#line 2441 "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); ctx.leave(); } -#line 3917 "dhcp4_parser.cc" +#line 3927 "dhcp4_parser.cc" break; - case 702: // $@112: %empty -#line 2442 "dhcp4_parser.yy" + case 704: // $@112: %empty +#line 2450 "dhcp4_parser.yy" { ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location)); ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3925,87 +3935,87 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(qc); ctx.enter(ctx.DHCP_QUEUE_CONTROL); } -#line 3929 "dhcp4_parser.cc" +#line 3939 "dhcp4_parser.cc" break; - case 703: // dhcp_queue_control: "dhcp-queue-control" $@112 ":" "{" queue_control_params "}" -#line 2448 "dhcp4_parser.yy" + case 705: // dhcp_queue_control: "dhcp-queue-control" $@112 ":" "{" queue_control_params "}" +#line 2456 "dhcp4_parser.yy" { // 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 3940 "dhcp4_parser.cc" +#line 3950 "dhcp4_parser.cc" break; - case 706: // queue_control_params: queue_control_params "," -#line 2457 "dhcp4_parser.yy" + case 708: // queue_control_params: queue_control_params "," +#line 2465 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3948 "dhcp4_parser.cc" +#line 3958 "dhcp4_parser.cc" break; - case 713: // enable_queue: "enable-queue" ":" "boolean" -#line 2470 "dhcp4_parser.yy" + case 715: // enable_queue: "enable-queue" ":" "boolean" +#line 2478 "dhcp4_parser.yy" { ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-queue", b); } -#line 3958 "dhcp4_parser.cc" +#line 3968 "dhcp4_parser.cc" break; - case 714: // $@113: %empty -#line 2476 "dhcp4_parser.yy" + case 716: // $@113: %empty +#line 2484 "dhcp4_parser.yy" { ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3967 "dhcp4_parser.cc" +#line 3977 "dhcp4_parser.cc" break; - case 715: // queue_type: "queue-type" $@113 ":" "constant string" -#line 2479 "dhcp4_parser.yy" + case 717: // queue_type: "queue-type" $@113 ":" "constant string" +#line 2487 "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 3977 "dhcp4_parser.cc" +#line 3987 "dhcp4_parser.cc" break; - case 716: // capacity: "capacity" ":" "integer" -#line 2485 "dhcp4_parser.yy" + case 718: // capacity: "capacity" ":" "integer" +#line 2493 "dhcp4_parser.yy" { ctx.unique("capacity", ctx.loc2pos(yystack_[2].location)); ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("capacity", c); } -#line 3987 "dhcp4_parser.cc" +#line 3997 "dhcp4_parser.cc" break; - case 717: // $@114: %empty -#line 2491 "dhcp4_parser.yy" + case 719: // $@114: %empty +#line 2499 "dhcp4_parser.yy" { ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3996 "dhcp4_parser.cc" +#line 4006 "dhcp4_parser.cc" break; - case 718: // arbitrary_map_entry: "constant string" $@114 ":" value -#line 2494 "dhcp4_parser.yy" + case 720: // arbitrary_map_entry: "constant string" $@114 ":" value +#line 2502 "dhcp4_parser.yy" { ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4005 "dhcp4_parser.cc" +#line 4015 "dhcp4_parser.cc" break; - case 719: // $@115: %empty -#line 2501 "dhcp4_parser.yy" + case 721: // $@115: %empty +#line 2509 "dhcp4_parser.yy" { ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4013,291 +4023,291 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 4017 "dhcp4_parser.cc" +#line 4027 "dhcp4_parser.cc" break; - case 720: // dhcp_ddns: "dhcp-ddns" $@115 ":" "{" dhcp_ddns_params "}" -#line 2507 "dhcp4_parser.yy" + case 722: // dhcp_ddns: "dhcp-ddns" $@115 ":" "{" dhcp_ddns_params "}" +#line 2515 "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 4028 "dhcp4_parser.cc" +#line 4038 "dhcp4_parser.cc" break; - case 721: // $@116: %empty -#line 2514 "dhcp4_parser.yy" + case 723: // $@116: %empty +#line 2522 "dhcp4_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4038 "dhcp4_parser.cc" +#line 4048 "dhcp4_parser.cc" break; - case 722: // sub_dhcp_ddns: "{" $@116 dhcp_ddns_params "}" -#line 2518 "dhcp4_parser.yy" + case 724: // sub_dhcp_ddns: "{" $@116 dhcp_ddns_params "}" +#line 2526 "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 4048 "dhcp4_parser.cc" +#line 4058 "dhcp4_parser.cc" break; - case 725: // dhcp_ddns_params: dhcp_ddns_params "," -#line 2526 "dhcp4_parser.yy" + case 727: // dhcp_ddns_params: dhcp_ddns_params "," +#line 2534 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4056 "dhcp4_parser.cc" +#line 4066 "dhcp4_parser.cc" break; - case 744: // enable_updates: "enable-updates" ":" "boolean" -#line 2551 "dhcp4_parser.yy" + case 746: // enable_updates: "enable-updates" ":" "boolean" +#line 2559 "dhcp4_parser.yy" { ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 4066 "dhcp4_parser.cc" +#line 4076 "dhcp4_parser.cc" break; - case 745: // $@117: %empty -#line 2557 "dhcp4_parser.yy" + case 747: // $@117: %empty +#line 2565 "dhcp4_parser.yy" { ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4075 "dhcp4_parser.cc" +#line 4085 "dhcp4_parser.cc" break; - case 746: // server_ip: "server-ip" $@117 ":" "constant string" -#line 2560 "dhcp4_parser.yy" + case 748: // server_ip: "server-ip" $@117 ":" "constant string" +#line 2568 "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 4085 "dhcp4_parser.cc" +#line 4095 "dhcp4_parser.cc" break; - case 747: // server_port: "server-port" ":" "integer" -#line 2566 "dhcp4_parser.yy" + case 749: // server_port: "server-port" ":" "integer" +#line 2574 "dhcp4_parser.yy" { ctx.unique("server-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 4095 "dhcp4_parser.cc" +#line 4105 "dhcp4_parser.cc" break; - case 748: // $@118: %empty -#line 2572 "dhcp4_parser.yy" + case 750: // $@118: %empty +#line 2580 "dhcp4_parser.yy" { ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4104 "dhcp4_parser.cc" +#line 4114 "dhcp4_parser.cc" break; - case 749: // sender_ip: "sender-ip" $@118 ":" "constant string" -#line 2575 "dhcp4_parser.yy" + case 751: // sender_ip: "sender-ip" $@118 ":" "constant string" +#line 2583 "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 4114 "dhcp4_parser.cc" +#line 4124 "dhcp4_parser.cc" break; - case 750: // sender_port: "sender-port" ":" "integer" -#line 2581 "dhcp4_parser.yy" + case 752: // sender_port: "sender-port" ":" "integer" +#line 2589 "dhcp4_parser.yy" { ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 4124 "dhcp4_parser.cc" +#line 4134 "dhcp4_parser.cc" break; - case 751: // max_queue_size: "max-queue-size" ":" "integer" -#line 2587 "dhcp4_parser.yy" + case 753: // max_queue_size: "max-queue-size" ":" "integer" +#line 2595 "dhcp4_parser.yy" { ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 4134 "dhcp4_parser.cc" +#line 4144 "dhcp4_parser.cc" break; - case 752: // $@119: %empty -#line 2593 "dhcp4_parser.yy" + case 754: // $@119: %empty +#line 2601 "dhcp4_parser.yy" { ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_PROTOCOL); } -#line 4143 "dhcp4_parser.cc" +#line 4153 "dhcp4_parser.cc" break; - case 753: // ncr_protocol: "ncr-protocol" $@119 ":" ncr_protocol_value -#line 2596 "dhcp4_parser.yy" + case 755: // ncr_protocol: "ncr-protocol" $@119 ":" ncr_protocol_value +#line 2604 "dhcp4_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4152 "dhcp4_parser.cc" +#line 4162 "dhcp4_parser.cc" break; - case 754: // ncr_protocol_value: "udp" -#line 2602 "dhcp4_parser.yy" + case 756: // ncr_protocol_value: "udp" +#line 2610 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 4158 "dhcp4_parser.cc" +#line 4168 "dhcp4_parser.cc" break; - case 755: // ncr_protocol_value: "tcp" -#line 2603 "dhcp4_parser.yy" + case 757: // ncr_protocol_value: "tcp" +#line 2611 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 4164 "dhcp4_parser.cc" +#line 4174 "dhcp4_parser.cc" break; - case 756: // $@120: %empty -#line 2606 "dhcp4_parser.yy" + case 758: // $@120: %empty +#line 2614 "dhcp4_parser.yy" { ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_FORMAT); } -#line 4173 "dhcp4_parser.cc" +#line 4183 "dhcp4_parser.cc" break; - case 757: // ncr_format: "ncr-format" $@120 ":" "JSON" -#line 2609 "dhcp4_parser.yy" + case 759: // ncr_format: "ncr-format" $@120 ":" "JSON" +#line 2617 "dhcp4_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 4183 "dhcp4_parser.cc" +#line 4193 "dhcp4_parser.cc" break; - case 758: // $@121: %empty -#line 2616 "dhcp4_parser.yy" + case 760: // $@121: %empty +#line 2624 "dhcp4_parser.yy" { ctx.unique("qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4192 "dhcp4_parser.cc" +#line 4202 "dhcp4_parser.cc" break; - case 759: // dep_qualifying_suffix: "qualifying-suffix" $@121 ":" "constant string" -#line 2619 "dhcp4_parser.yy" + case 761: // dep_qualifying_suffix: "qualifying-suffix" $@121 ":" "constant string" +#line 2627 "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 4202 "dhcp4_parser.cc" +#line 4212 "dhcp4_parser.cc" break; - case 760: // dep_override_no_update: "override-no-update" ":" "boolean" -#line 2626 "dhcp4_parser.yy" + case 762: // dep_override_no_update: "override-no-update" ":" "boolean" +#line 2634 "dhcp4_parser.yy" { ctx.unique("override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-no-update", b); } -#line 4212 "dhcp4_parser.cc" +#line 4222 "dhcp4_parser.cc" break; - case 761: // dep_override_client_update: "override-client-update" ":" "boolean" -#line 2633 "dhcp4_parser.yy" + case 763: // dep_override_client_update: "override-client-update" ":" "boolean" +#line 2641 "dhcp4_parser.yy" { ctx.unique("override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-client-update", b); } -#line 4222 "dhcp4_parser.cc" +#line 4232 "dhcp4_parser.cc" break; - case 762: // $@122: %empty -#line 2640 "dhcp4_parser.yy" + case 764: // $@122: %empty +#line 2648 "dhcp4_parser.yy" { ctx.unique("replace-client-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.REPLACE_CLIENT_NAME); } -#line 4231 "dhcp4_parser.cc" +#line 4241 "dhcp4_parser.cc" break; - case 763: // dep_replace_client_name: "replace-client-name" $@122 ":" ddns_replace_client_name_value -#line 2643 "dhcp4_parser.yy" + case 765: // dep_replace_client_name: "replace-client-name" $@122 ":" ddns_replace_client_name_value +#line 2651 "dhcp4_parser.yy" { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4240 "dhcp4_parser.cc" +#line 4250 "dhcp4_parser.cc" break; - case 764: // $@123: %empty -#line 2649 "dhcp4_parser.yy" + case 766: // $@123: %empty +#line 2657 "dhcp4_parser.yy" { ctx.unique("generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4249 "dhcp4_parser.cc" +#line 4259 "dhcp4_parser.cc" break; - case 765: // dep_generated_prefix: "generated-prefix" $@123 ":" "constant string" -#line 2652 "dhcp4_parser.yy" + case 767: // dep_generated_prefix: "generated-prefix" $@123 ":" "constant string" +#line 2660 "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 4259 "dhcp4_parser.cc" +#line 4269 "dhcp4_parser.cc" break; - case 766: // $@124: %empty -#line 2659 "dhcp4_parser.yy" + case 768: // $@124: %empty +#line 2667 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4268 "dhcp4_parser.cc" +#line 4278 "dhcp4_parser.cc" break; - case 767: // dep_hostname_char_set: "hostname-char-set" $@124 ":" "constant string" -#line 2662 "dhcp4_parser.yy" + case 769: // dep_hostname_char_set: "hostname-char-set" $@124 ":" "constant string" +#line 2670 "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 4278 "dhcp4_parser.cc" +#line 4288 "dhcp4_parser.cc" break; - case 768: // $@125: %empty -#line 2669 "dhcp4_parser.yy" + case 770: // $@125: %empty +#line 2677 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4287 "dhcp4_parser.cc" +#line 4297 "dhcp4_parser.cc" break; - case 769: // dep_hostname_char_replacement: "hostname-char-replacement" $@125 ":" "constant string" -#line 2672 "dhcp4_parser.yy" + case 771: // dep_hostname_char_replacement: "hostname-char-replacement" $@125 ":" "constant string" +#line 2680 "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 4297 "dhcp4_parser.cc" +#line 4307 "dhcp4_parser.cc" break; - case 770: // $@126: %empty -#line 2681 "dhcp4_parser.yy" + case 772: // $@126: %empty +#line 2689 "dhcp4_parser.yy" { ctx.unique("config-control", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4305,48 +4315,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 4309 "dhcp4_parser.cc" +#line 4319 "dhcp4_parser.cc" break; - case 771: // config_control: "config-control" $@126 ":" "{" config_control_params "}" -#line 2687 "dhcp4_parser.yy" + case 773: // config_control: "config-control" $@126 ":" "{" config_control_params "}" +#line 2695 "dhcp4_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 4319 "dhcp4_parser.cc" +#line 4329 "dhcp4_parser.cc" break; - case 772: // $@127: %empty -#line 2693 "dhcp4_parser.yy" + case 774: // $@127: %empty +#line 2701 "dhcp4_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4329 "dhcp4_parser.cc" +#line 4339 "dhcp4_parser.cc" break; - case 773: // sub_config_control: "{" $@127 config_control_params "}" -#line 2697 "dhcp4_parser.yy" + case 775: // sub_config_control: "{" $@127 config_control_params "}" +#line 2705 "dhcp4_parser.yy" { // No config_control params are required // parsing completed } -#line 4338 "dhcp4_parser.cc" +#line 4348 "dhcp4_parser.cc" break; - case 776: // config_control_params: config_control_params "," -#line 2705 "dhcp4_parser.yy" + case 778: // config_control_params: config_control_params "," +#line 2713 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4346 "dhcp4_parser.cc" +#line 4356 "dhcp4_parser.cc" break; - case 779: // $@128: %empty -#line 2715 "dhcp4_parser.yy" + case 781: // $@128: %empty +#line 2723 "dhcp4_parser.yy" { ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4354,30 +4364,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 4358 "dhcp4_parser.cc" +#line 4368 "dhcp4_parser.cc" break; - case 780: // config_databases: "config-databases" $@128 ":" "[" database_list "]" -#line 2721 "dhcp4_parser.yy" + case 782: // config_databases: "config-databases" $@128 ":" "[" database_list "]" +#line 2729 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4367 "dhcp4_parser.cc" +#line 4377 "dhcp4_parser.cc" break; - case 781: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" -#line 2726 "dhcp4_parser.yy" + case 783: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" +#line 2734 "dhcp4_parser.yy" { ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location)); 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 4377 "dhcp4_parser.cc" +#line 4387 "dhcp4_parser.cc" break; - case 782: // $@129: %empty -#line 2734 "dhcp4_parser.yy" + case 784: // $@129: %empty +#line 2742 "dhcp4_parser.yy" { ctx.unique("loggers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4385,83 +4395,83 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 4389 "dhcp4_parser.cc" +#line 4399 "dhcp4_parser.cc" break; - case 783: // loggers: "loggers" $@129 ":" "[" loggers_entries "]" -#line 2740 "dhcp4_parser.yy" + case 785: // loggers: "loggers" $@129 ":" "[" loggers_entries "]" +#line 2748 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4398 "dhcp4_parser.cc" +#line 4408 "dhcp4_parser.cc" break; - case 786: // loggers_entries: loggers_entries "," -#line 2749 "dhcp4_parser.yy" + case 788: // loggers_entries: loggers_entries "," +#line 2757 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4406 "dhcp4_parser.cc" +#line 4416 "dhcp4_parser.cc" break; - case 787: // $@130: %empty -#line 2755 "dhcp4_parser.yy" + case 789: // $@130: %empty +#line 2763 "dhcp4_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 4416 "dhcp4_parser.cc" +#line 4426 "dhcp4_parser.cc" break; - case 788: // logger_entry: "{" $@130 logger_params "}" -#line 2759 "dhcp4_parser.yy" + case 790: // logger_entry: "{" $@130 logger_params "}" +#line 2767 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 4424 "dhcp4_parser.cc" +#line 4434 "dhcp4_parser.cc" break; - case 791: // logger_params: logger_params "," -#line 2765 "dhcp4_parser.yy" + case 793: // logger_params: logger_params "," +#line 2773 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4432 "dhcp4_parser.cc" +#line 4442 "dhcp4_parser.cc" break; - case 799: // debuglevel: "debuglevel" ":" "integer" -#line 2779 "dhcp4_parser.yy" + case 801: // debuglevel: "debuglevel" ":" "integer" +#line 2787 "dhcp4_parser.yy" { ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location)); ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 4442 "dhcp4_parser.cc" +#line 4452 "dhcp4_parser.cc" break; - case 800: // $@131: %empty -#line 2785 "dhcp4_parser.yy" + case 802: // $@131: %empty +#line 2793 "dhcp4_parser.yy" { ctx.unique("severity", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4451 "dhcp4_parser.cc" +#line 4461 "dhcp4_parser.cc" break; - case 801: // severity: "severity" $@131 ":" "constant string" -#line 2788 "dhcp4_parser.yy" + case 803: // severity: "severity" $@131 ":" "constant string" +#line 2796 "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 4461 "dhcp4_parser.cc" +#line 4471 "dhcp4_parser.cc" break; - case 802: // $@132: %empty -#line 2794 "dhcp4_parser.yy" + case 804: // $@132: %empty +#line 2802 "dhcp4_parser.yy" { ctx.unique("output_options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4469,122 +4479,122 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 4473 "dhcp4_parser.cc" +#line 4483 "dhcp4_parser.cc" break; - case 803: // output_options_list: "output_options" $@132 ":" "[" output_options_list_content "]" -#line 2800 "dhcp4_parser.yy" + case 805: // output_options_list: "output_options" $@132 ":" "[" output_options_list_content "]" +#line 2808 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4482 "dhcp4_parser.cc" +#line 4492 "dhcp4_parser.cc" break; - case 806: // output_options_list_content: output_options_list_content "," -#line 2807 "dhcp4_parser.yy" + case 808: // output_options_list_content: output_options_list_content "," +#line 2815 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4490 "dhcp4_parser.cc" +#line 4500 "dhcp4_parser.cc" break; - case 807: // $@133: %empty -#line 2812 "dhcp4_parser.yy" + case 809: // $@133: %empty +#line 2820 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4500 "dhcp4_parser.cc" +#line 4510 "dhcp4_parser.cc" break; - case 808: // output_entry: "{" $@133 output_params_list "}" -#line 2816 "dhcp4_parser.yy" + case 810: // output_entry: "{" $@133 output_params_list "}" +#line 2824 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 4508 "dhcp4_parser.cc" +#line 4518 "dhcp4_parser.cc" break; - case 811: // output_params_list: output_params_list "," -#line 2822 "dhcp4_parser.yy" + case 813: // output_params_list: output_params_list "," +#line 2830 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4516 "dhcp4_parser.cc" +#line 4526 "dhcp4_parser.cc" break; - case 817: // $@134: %empty -#line 2834 "dhcp4_parser.yy" + case 819: // $@134: %empty +#line 2842 "dhcp4_parser.yy" { ctx.unique("output", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4525 "dhcp4_parser.cc" +#line 4535 "dhcp4_parser.cc" break; - case 818: // output: "output" $@134 ":" "constant string" -#line 2837 "dhcp4_parser.yy" + case 820: // output: "output" $@134 ":" "constant string" +#line 2845 "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 4535 "dhcp4_parser.cc" +#line 4545 "dhcp4_parser.cc" break; - case 819: // flush: "flush" ":" "boolean" -#line 2843 "dhcp4_parser.yy" + case 821: // flush: "flush" ":" "boolean" +#line 2851 "dhcp4_parser.yy" { ctx.unique("flush", ctx.loc2pos(yystack_[2].location)); ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 4545 "dhcp4_parser.cc" +#line 4555 "dhcp4_parser.cc" break; - case 820: // maxsize: "maxsize" ":" "integer" -#line 2849 "dhcp4_parser.yy" + case 822: // maxsize: "maxsize" ":" "integer" +#line 2857 "dhcp4_parser.yy" { ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location)); ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 4555 "dhcp4_parser.cc" +#line 4565 "dhcp4_parser.cc" break; - case 821: // maxver: "maxver" ":" "integer" -#line 2855 "dhcp4_parser.yy" + case 823: // maxver: "maxver" ":" "integer" +#line 2863 "dhcp4_parser.yy" { ctx.unique("maxver", ctx.loc2pos(yystack_[2].location)); ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 4565 "dhcp4_parser.cc" +#line 4575 "dhcp4_parser.cc" break; - case 822: // $@135: %empty -#line 2861 "dhcp4_parser.yy" + case 824: // $@135: %empty +#line 2869 "dhcp4_parser.yy" { ctx.unique("pattern", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4574 "dhcp4_parser.cc" +#line 4584 "dhcp4_parser.cc" break; - case 823: // pattern: "pattern" $@135 ":" "constant string" -#line 2864 "dhcp4_parser.yy" + case 825: // pattern: "pattern" $@135 ":" "constant string" +#line 2872 "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 4584 "dhcp4_parser.cc" +#line 4594 "dhcp4_parser.cc" break; - case 824: // $@136: %empty -#line 2870 "dhcp4_parser.yy" + case 826: // $@136: %empty +#line 2878 "dhcp4_parser.yy" { ctx.unique("compatibility", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4592,38 +4602,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.COMPATIBILITY); } -#line 4596 "dhcp4_parser.cc" +#line 4606 "dhcp4_parser.cc" break; - case 825: // compatibility: "compatibility" $@136 ":" "{" compatibility_params "}" -#line 2876 "dhcp4_parser.yy" + case 827: // compatibility: "compatibility" $@136 ":" "{" compatibility_params "}" +#line 2884 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4605 "dhcp4_parser.cc" +#line 4615 "dhcp4_parser.cc" break; - case 828: // compatibility_params: compatibility_params "," -#line 2883 "dhcp4_parser.yy" + case 830: // compatibility_params: compatibility_params "," +#line 2891 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4613 "dhcp4_parser.cc" +#line 4623 "dhcp4_parser.cc" break; - case 831: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" -#line 2892 "dhcp4_parser.yy" + case 833: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" +#line 2900 "dhcp4_parser.yy" { ctx.unique("lenient-option-parsing", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lenient-option-parsing", b); } -#line 4623 "dhcp4_parser.cc" +#line 4633 "dhcp4_parser.cc" break; -#line 4627 "dhcp4_parser.cc" +#line 4637 "dhcp4_parser.cc" default: break; @@ -4975,141 +4985,141 @@ namespace isc { namespace dhcp { } - const short Dhcp4Parser::yypact_ninf_ = -976; + const short Dhcp4Parser::yypact_ninf_ = -980; const signed char Dhcp4Parser::yytable_ninf_ = -1; const short Dhcp4Parser::yypact_[] = { - 193, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, 28, 42, 32, 41, 48, 60, - 73, 99, 118, 124, 128, 134, 138, 165, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, 42, -156, 59, 135, 62, 614, - 151, 201, -28, 77, 203, -85, 601, 142, -976, 91, - 114, 72, 174, 183, -976, 67, -976, -976, -976, -976, - 220, 222, 265, -976, -976, -976, -976, -976, -976, 284, - 291, 308, 320, 321, 323, 332, 333, 334, 360, 362, - -976, 364, 379, 395, 398, 399, -976, -976, -976, 400, - 401, 402, -976, -976, -976, 404, -976, -976, -976, -976, - 406, 407, 408, -976, -976, -976, -976, -976, 409, -976, - -976, -976, -976, -976, -976, 410, 412, -976, -976, 413, - -976, 87, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, 414, -976, - 100, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, 415, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, 110, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - 120, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, 225, 275, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, 272, -976, -976, 416, -976, -976, -976, 418, -976, - -976, 355, 420, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, 421, 422, -976, -976, - -976, -976, 419, 425, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, 121, -976, -976, -976, - 426, -976, -976, 427, -976, 428, 430, -976, -976, 431, - 435, -976, -976, -976, -976, -976, -976, -976, 136, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, 436, 140, -976, -976, - -976, -976, 42, 42, -976, -135, 437, -976, -976, 438, - 439, 440, 215, 237, 239, 446, 447, 449, 450, 451, - 452, 251, 260, 262, 263, 264, 255, 221, 266, 268, - 279, 286, 468, 287, 290, 280, 281, 292, 471, 477, - 480, 293, 296, 298, 496, 504, 505, 304, 508, 509, - 510, 511, 309, 310, 311, 520, 522, 523, 524, 526, - 324, 528, 530, 532, 533, 534, 535, 335, 339, 538, - 545, -976, 135, -976, 548, 550, 551, 350, 62, -976, - 552, 556, 558, 562, 563, 568, 367, 571, 587, 588, - 614, -976, 589, 151, -976, 598, 599, 600, 602, 603, - 604, 605, 606, -976, 201, -976, 607, 608, 411, 609, - 610, 611, 396, -976, 77, 612, 417, 423, -976, 203, - 616, 617, 125, -976, 424, 618, 619, 429, 620, 432, - 441, 621, 623, 442, 443, 624, 626, 630, 633, 601, - -976, 634, 448, 142, -976, -976, -976, 641, 639, 640, - 642, 643, -976, -976, -976, 453, 455, 456, 650, 651, - 658, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, 458, -976, -976, -976, -976, -976, 16, 459, - 460, -976, -976, -976, 662, 663, 668, -976, 669, 670, - 469, 259, -976, -976, -976, 671, 684, 685, 686, 695, - -976, 699, 703, 704, 709, 486, 512, -976, -976, 712, - 713, -976, 722, 274, 283, -976, -976, 529, 531, 536, - 723, 539, 540, -976, 722, 542, 727, -976, 543, -976, - 722, 544, 546, 547, 567, 569, 570, 572, -976, 575, - 576, -976, 577, 578, 579, -976, -976, 580, -976, -976, - -976, 581, 670, -976, -976, 582, 583, -976, 584, -976, - -976, 15, 557, -976, -976, 16, 585, 613, 615, -976, - 724, -976, -976, 42, 135, 142, 62, 714, -976, -976, - -976, 537, 537, 734, -976, -976, -976, -976, -976, -976, - -976, -976, -976, 737, 744, 747, 767, -976, -976, -976, - -976, -976, -976, -976, -976, 191, 770, 797, 798, 54, - -49, -64, -70, 601, -976, -976, 799, -161, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, 811, - -976, -976, -976, -976, -52, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, 734, -976, 173, 229, 232, -976, 238, - -976, -976, -976, -976, -976, -976, 820, 821, 822, 823, - 824, -976, -976, -976, -976, 825, 826, -976, 827, 828, - 829, 830, -976, -976, -976, -976, -976, 257, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, 267, -976, 832, 837, -976, -976, - 836, 840, -976, -976, 838, 842, -976, -976, 843, 847, - -976, -976, 846, 850, -976, -976, -976, -976, -976, -976, - 90, -976, -976, -976, -976, -976, -976, -976, 104, -976, - -976, 849, 853, -976, -976, 851, 855, -976, 831, 856, - 857, 859, 860, 861, 269, -976, -976, -976, -976, -976, - -976, -976, 862, 863, 864, -976, 276, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, 282, -976, - -976, -976, 865, -976, 866, -976, -976, -976, 331, -976, - -976, -976, -976, -976, 337, -976, 153, -976, 867, -976, - 343, -976, -976, 653, -976, 868, 869, -976, -976, -976, - -976, 870, 871, -976, -976, -976, 872, 714, -976, 875, - 876, 877, 878, 666, 674, 677, 676, 679, 883, 884, - 885, 886, 687, 688, 887, 689, 690, 683, 691, 889, - 895, 896, 897, 537, -976, -976, 537, -976, 734, 614, - -976, 737, 77, -976, 744, 203, -976, 747, 729, -976, - 767, 191, -976, 277, 770, -976, 201, -976, 797, -85, - -976, 798, 696, 697, 698, 702, 706, 707, 54, -976, - 693, 710, 718, -49, -976, 902, 906, -64, -976, 711, - 907, 720, 912, -70, -976, -976, 81, 799, -976, 721, - -161, -976, -976, 913, 933, 151, -976, 811, 947, -976, - -976, 748, -976, 341, 751, 763, 773, -976, -976, -976, - -976, -976, 780, 781, 784, 788, -976, -976, 326, -976, - -976, -976, -976, 789, 800, 801, 814, -976, 344, -976, - 345, -976, 1042, -976, 1046, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, 346, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, 1051, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, 1052, 1056, -976, -976, -976, -976, - -976, 1053, -976, 347, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, 858, 873, -976, -976, - 874, -976, 42, -976, -976, 1058, -976, -976, -976, -976, - -976, 353, -976, -976, -976, -976, -976, -976, -976, -976, - 879, 357, -976, 722, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, 729, - -976, 1059, 880, -976, 277, -976, -976, -976, -976, -976, - -976, 1061, 881, 1062, 81, -976, -976, -976, -976, -976, - 888, -976, -976, 1063, -976, 890, -976, -976, 1060, -976, - -976, 177, -976, -37, 1060, -976, -976, 1065, 1066, 1067, - -976, 359, -976, -976, -976, -976, -976, -976, -976, 1068, - 882, 891, 892, 1069, -37, -976, 894, -976, -976, -976, - 898, -976, -976, -976 + 408, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, 28, 42, 26, 41, 60, 62, + 80, 86, 99, 104, 110, 132, 142, 153, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, 42, -154, 125, 136, 66, 618, + 219, 170, -21, 315, 81, -100, 422, 129, -980, 119, + 73, 139, 162, 181, -980, 67, -980, -980, -980, -980, + 223, 237, 243, -980, -980, -980, -980, -980, -980, 254, + 263, 288, 289, 291, 305, 306, 307, 309, 342, 352, + -980, 371, 372, 374, 390, 391, -980, -980, -980, 392, + 406, 409, -980, -980, -980, 410, -980, -980, -980, -980, + 415, 416, 417, -980, -980, -980, -980, -980, 421, -980, + -980, -980, -980, -980, -980, 423, 424, 425, -980, -980, + 426, -980, 87, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + 427, -980, 102, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, 428, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, 105, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, 115, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, 183, + 235, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, 323, -980, -980, 429, -980, -980, -980, + 431, -980, -980, 350, 366, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, 433, 434, + -980, -980, -980, -980, 435, 439, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, 128, -980, + -980, -980, 440, -980, -980, 441, -980, 442, 445, -980, + -980, 447, 449, -980, -980, -980, -980, -980, -980, -980, + 178, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, 450, 179, + -980, -980, -980, -980, 42, 42, -980, 249, 453, -980, + -980, 454, 455, 457, 257, 260, 262, 469, 470, 471, + 473, 474, 475, 276, 279, 284, 285, 292, 286, 280, + 294, 295, 297, 302, 482, 303, 304, 287, 298, 308, + 510, 511, 512, 311, 313, 317, 513, 527, 529, 326, + 531, 533, 535, 536, 331, 332, 335, 547, 548, 551, + 553, 554, 351, 558, 559, 561, 565, 569, 570, 367, + 368, 369, 571, 576, -980, 136, -980, 590, 591, 592, + 387, 66, -980, 594, 595, 611, 612, 613, 614, 411, + 616, 620, 621, 618, -980, 622, 219, -980, 623, 624, + 626, 627, 628, 630, 631, 632, -980, 170, -980, 633, + 634, 414, 636, 637, 638, 443, -980, 315, 639, 444, + 446, -980, 81, 645, 646, 34, -980, 451, 647, 648, + 458, 651, 459, 460, 655, 658, 461, 462, 659, 661, + 665, 666, 422, -980, 673, 472, 129, -980, -980, -980, + 674, 672, 686, 687, 688, -980, -980, -980, 489, 499, + 503, 705, 706, 676, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, 507, -980, -980, -980, -980, + -980, -132, 508, 514, -980, -980, -980, 715, 717, 719, + -980, 726, 725, 526, 207, -980, -980, -980, 729, 734, + 736, 737, 731, -980, 738, 739, 740, 741, 542, 543, + -980, -980, -980, 747, 746, -980, 749, 176, 205, -980, + -980, 549, 550, 557, 750, 560, 562, -980, 749, 563, + 751, -980, 564, -980, 749, 566, 567, 568, 572, 573, + 574, 575, -980, 577, 578, -980, 579, 580, 581, -980, + -980, 582, -980, -980, -980, 583, 725, -980, -980, 584, + 585, -980, 586, -980, -980, 13, 593, -980, -980, -132, + 587, 588, 601, -980, 760, -980, -980, 42, 136, 129, + 66, 744, -980, -980, -980, 340, 340, 765, -980, -980, + -980, -980, -980, -980, -980, -980, -980, 769, 770, 771, + 776, -980, -980, -980, -980, -980, -980, -980, -980, 103, + 802, 803, 804, 210, -49, -24, -11, 422, -980, -980, + 815, -143, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, 816, -980, -980, -980, -980, 130, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, 765, -980, 187, + 189, 234, -980, 258, -980, -980, -980, -980, -980, -980, + 820, 824, 825, 826, 827, -980, -980, -980, -980, 828, + 829, -980, 830, 831, 832, 833, -980, -980, -980, -980, + -980, 268, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, 271, -980, + 836, 835, -980, -980, 838, 843, -980, -980, 841, 845, + -980, -980, 847, 846, -980, -980, 848, 853, -980, -980, + -980, -980, -980, -980, 49, -980, -980, -980, -980, -980, + -980, -980, 74, -980, -980, 851, 856, -980, -980, 854, + 858, -980, 859, 860, 861, 863, 864, 865, 277, -980, + -980, -980, -980, -980, -980, -980, 866, 867, 868, -980, + 278, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, 281, -980, -980, -980, 869, -980, 870, -980, + -980, -980, 300, -980, -980, -980, -980, -980, 321, -980, + 83, -980, 871, -980, 327, -980, -980, 669, -980, 872, + 874, -980, -980, -980, -980, 873, 876, -980, -980, -980, + 875, 744, -980, 879, 880, 881, 882, 654, 629, 679, + 670, 680, 885, 886, 887, 888, 685, 689, 890, 690, + 691, 692, 693, 891, 892, 896, 899, 340, -980, -980, + 340, -980, 765, 618, -980, 769, 315, -980, 770, 81, + -980, 771, 733, -980, 776, 103, -980, 240, 802, -980, + 170, -980, 803, -100, -980, 804, 696, 697, 698, 699, + 700, 701, 210, -980, 703, 702, 707, -49, -980, 910, + 913, -24, -980, 708, 916, 713, 919, -11, -980, -980, + 152, 815, -980, 714, -143, -980, -980, 923, 928, 219, + -980, 816, 930, -980, -980, 732, -980, 370, 748, 754, + 766, -980, -980, -980, -980, -980, 783, 784, 787, 791, + -980, -980, 101, -980, -980, -980, -980, 792, 817, 852, + 857, -980, 334, -980, 337, -980, 950, -980, 975, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, 354, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, 1006, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, 1003, 1051, + -980, -980, -980, -980, -980, 1050, -980, 362, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + 862, 877, -980, -980, 878, -980, 42, -980, -980, 1059, + -980, -980, -980, -980, -980, 363, -980, -980, -980, -980, + -980, -980, -980, -980, 883, 364, -980, 749, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, 733, -980, 1061, 884, -980, 240, -980, + -980, -980, -980, -980, -980, 1062, 889, 1063, 152, -980, + -980, -980, -980, -980, 893, -980, -980, 1065, -980, 894, + -980, -980, 1064, -980, -980, 118, -980, -37, 1064, -980, + -980, 1068, 1069, 1070, -980, 365, -980, -980, -980, -980, + -980, -980, -980, 1071, 895, 898, 900, 1072, -37, -980, + 897, -980, -980, -980, 903, -980, -980, -980 }; const short @@ -5119,714 +5129,716 @@ namespace isc { namespace dhcp { 20, 22, 24, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 44, 36, 32, 31, 28, 29, 30, 35, 3, 33, 34, - 59, 5, 65, 7, 187, 9, 372, 11, 580, 13, - 607, 15, 500, 17, 509, 19, 548, 21, 334, 23, - 721, 25, 772, 27, 46, 39, 0, 0, 0, 0, - 0, 609, 0, 511, 550, 0, 0, 0, 48, 0, - 47, 0, 0, 40, 61, 0, 63, 770, 175, 202, - 0, 0, 0, 629, 631, 633, 200, 210, 212, 0, + 59, 5, 65, 7, 189, 9, 374, 11, 582, 13, + 609, 15, 502, 17, 511, 19, 550, 21, 336, 23, + 723, 25, 774, 27, 46, 39, 0, 0, 0, 0, + 0, 611, 0, 513, 552, 0, 0, 0, 48, 0, + 47, 0, 0, 40, 61, 0, 63, 772, 177, 204, + 0, 0, 0, 631, 633, 635, 202, 212, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 144, 0, 0, 0, 0, 0, 153, 160, 162, 0, - 0, 0, 363, 498, 539, 0, 446, 594, 596, 439, - 0, 0, 0, 296, 657, 598, 325, 346, 0, 311, - 688, 702, 719, 166, 168, 0, 0, 782, 824, 0, - 132, 0, 67, 70, 71, 72, 73, 74, 108, 109, - 110, 111, 112, 75, 103, 131, 92, 93, 94, 116, - 117, 118, 119, 120, 121, 122, 123, 114, 115, 124, - 125, 126, 128, 129, 78, 79, 100, 80, 81, 82, - 127, 86, 87, 76, 105, 106, 107, 104, 77, 84, - 85, 98, 99, 101, 95, 96, 97, 83, 88, 89, - 90, 91, 102, 113, 130, 189, 191, 195, 0, 186, - 0, 177, 180, 181, 182, 183, 184, 185, 424, 426, - 428, 571, 422, 430, 0, 434, 432, 653, 421, 377, - 378, 379, 380, 381, 405, 406, 407, 408, 409, 395, - 396, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 0, 374, 384, 400, 401, 402, 385, 387, - 388, 391, 392, 393, 390, 386, 382, 383, 403, 404, - 389, 397, 398, 399, 394, 592, 591, 587, 588, 586, - 0, 582, 585, 589, 590, 651, 639, 641, 645, 643, - 649, 647, 635, 628, 622, 626, 627, 0, 610, 611, - 623, 624, 625, 619, 614, 620, 616, 617, 618, 621, - 615, 0, 529, 263, 0, 533, 531, 536, 0, 525, - 526, 0, 512, 513, 516, 528, 517, 518, 519, 535, - 520, 521, 522, 523, 524, 565, 0, 0, 563, 564, - 567, 568, 0, 551, 552, 555, 556, 557, 558, 559, - 560, 561, 562, 342, 344, 339, 0, 336, 340, 341, - 0, 758, 745, 0, 748, 0, 0, 752, 756, 0, - 0, 762, 764, 766, 768, 743, 741, 742, 0, 723, - 726, 727, 728, 729, 730, 731, 732, 733, 738, 734, - 735, 736, 737, 739, 740, 779, 0, 0, 774, 777, - 778, 45, 50, 0, 37, 43, 0, 64, 60, 0, + 145, 0, 0, 0, 0, 0, 154, 161, 163, 0, + 0, 0, 365, 500, 541, 0, 448, 596, 598, 441, + 0, 0, 0, 298, 659, 600, 327, 348, 0, 313, + 690, 704, 721, 167, 169, 0, 0, 0, 784, 826, + 0, 133, 0, 67, 70, 71, 72, 73, 74, 108, + 109, 110, 111, 112, 75, 103, 132, 92, 93, 94, + 116, 117, 118, 119, 120, 121, 122, 123, 114, 115, + 124, 125, 126, 128, 129, 130, 78, 79, 100, 80, + 81, 82, 127, 86, 87, 76, 105, 106, 107, 104, + 77, 84, 85, 98, 99, 101, 95, 96, 97, 83, + 88, 89, 90, 91, 102, 113, 131, 191, 193, 197, + 0, 188, 0, 179, 182, 183, 184, 185, 186, 187, + 426, 428, 430, 573, 424, 432, 0, 436, 434, 655, + 423, 379, 380, 381, 382, 383, 407, 408, 409, 410, + 411, 397, 398, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 0, 376, 386, 402, 403, 404, + 387, 389, 390, 393, 394, 395, 392, 388, 384, 385, + 405, 406, 391, 399, 400, 401, 396, 594, 593, 589, + 590, 588, 0, 584, 587, 591, 592, 653, 641, 643, + 647, 645, 651, 649, 637, 630, 624, 628, 629, 0, + 612, 613, 625, 626, 627, 621, 616, 622, 618, 619, + 620, 623, 617, 0, 531, 265, 0, 535, 533, 538, + 0, 527, 528, 0, 514, 515, 518, 530, 519, 520, + 521, 537, 522, 523, 524, 525, 526, 567, 0, 0, + 565, 566, 569, 570, 0, 553, 554, 557, 558, 559, + 560, 561, 562, 563, 564, 344, 346, 341, 0, 338, + 342, 343, 0, 760, 747, 0, 750, 0, 0, 754, + 758, 0, 0, 764, 766, 768, 770, 745, 743, 744, + 0, 725, 728, 729, 730, 731, 732, 733, 734, 735, + 740, 736, 737, 738, 739, 741, 742, 781, 0, 0, + 776, 779, 780, 45, 50, 0, 37, 43, 0, 64, + 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, 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, 58, 69, 66, 0, 0, 0, + 0, 181, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 378, 375, 0, 586, 583, 0, 0, + 0, 0, 0, 0, 0, 0, 610, 615, 503, 0, + 0, 0, 0, 0, 0, 0, 512, 517, 0, 0, + 0, 551, 556, 0, 0, 340, 337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 58, 69, 66, 0, 0, 0, 0, 179, 188, + 0, 0, 727, 724, 0, 0, 778, 775, 49, 41, + 0, 0, 0, 0, 0, 148, 149, 150, 0, 0, + 0, 0, 0, 0, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 0, 172, 173, 151, 152, + 153, 0, 0, 0, 165, 166, 171, 0, 0, 0, + 147, 0, 0, 0, 0, 438, 439, 440, 0, 0, + 0, 0, 0, 689, 0, 0, 0, 0, 0, 0, + 174, 175, 176, 0, 0, 68, 0, 0, 0, 201, + 180, 0, 0, 0, 0, 0, 0, 447, 0, 0, + 0, 377, 0, 585, 0, 0, 0, 0, 0, 0, + 0, 0, 614, 0, 0, 529, 0, 0, 0, 540, + 516, 0, 571, 572, 555, 0, 0, 339, 746, 0, + 0, 749, 0, 752, 753, 0, 0, 762, 763, 0, + 0, 0, 0, 726, 0, 783, 777, 0, 0, 0, + 0, 0, 632, 634, 636, 0, 0, 216, 146, 156, + 157, 158, 159, 160, 155, 162, 164, 367, 504, 543, + 450, 38, 597, 599, 443, 444, 445, 446, 442, 0, + 0, 602, 329, 0, 0, 0, 0, 0, 168, 170, + 0, 0, 51, 192, 195, 196, 194, 199, 200, 198, + 427, 429, 431, 575, 425, 433, 437, 435, 0, 595, + 654, 642, 644, 648, 646, 652, 650, 638, 532, 266, + 536, 534, 539, 568, 345, 347, 761, 748, 751, 756, + 757, 755, 759, 765, 767, 769, 771, 216, 42, 0, + 0, 0, 210, 0, 206, 209, 252, 258, 260, 262, + 0, 0, 0, 0, 0, 274, 276, 278, 280, 0, + 0, 284, 0, 0, 0, 0, 290, 292, 294, 296, + 251, 0, 223, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 240, 241, 242, 236, 243, 244, 245, + 237, 238, 239, 246, 247, 248, 249, 250, 0, 221, + 0, 217, 218, 372, 0, 368, 369, 509, 0, 505, + 506, 548, 0, 544, 545, 455, 0, 451, 452, 308, + 309, 310, 311, 312, 0, 300, 303, 304, 305, 306, + 307, 664, 0, 661, 607, 0, 603, 604, 334, 0, + 330, 331, 0, 0, 0, 0, 0, 0, 0, 350, + 353, 354, 355, 356, 357, 358, 0, 0, 0, 323, + 0, 315, 318, 319, 320, 321, 322, 700, 702, 699, + 697, 698, 0, 692, 695, 696, 0, 716, 0, 719, + 712, 713, 0, 706, 709, 710, 711, 714, 0, 789, + 0, 786, 0, 832, 0, 828, 831, 53, 580, 0, + 576, 577, 639, 657, 658, 0, 0, 62, 773, 178, + 0, 208, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 376, 373, 0, 584, 581, 0, 0, 0, 0, 0, - 0, 0, 0, 608, 613, 501, 0, 0, 0, 0, - 0, 0, 0, 510, 515, 0, 0, 0, 549, 554, - 0, 0, 338, 335, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 725, - 722, 0, 0, 776, 773, 49, 41, 0, 0, 0, - 0, 0, 147, 148, 149, 0, 0, 0, 0, 0, - 0, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 0, 171, 172, 150, 151, 152, 0, 0, - 0, 164, 165, 170, 0, 0, 0, 146, 0, 0, - 0, 0, 436, 437, 438, 0, 0, 0, 0, 0, - 687, 0, 0, 0, 0, 0, 0, 173, 174, 0, - 0, 68, 0, 0, 0, 199, 178, 0, 0, 0, - 0, 0, 0, 445, 0, 0, 0, 375, 0, 583, - 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, - 0, 527, 0, 0, 0, 538, 514, 0, 569, 570, - 553, 0, 0, 337, 744, 0, 0, 747, 0, 750, - 751, 0, 0, 760, 761, 0, 0, 0, 0, 724, - 0, 781, 775, 0, 0, 0, 0, 0, 630, 632, - 634, 0, 0, 214, 145, 155, 156, 157, 158, 159, - 154, 161, 163, 365, 502, 541, 448, 38, 595, 597, - 441, 442, 443, 444, 440, 0, 0, 600, 327, 0, - 0, 0, 0, 0, 167, 169, 0, 0, 51, 190, - 193, 194, 192, 197, 198, 196, 425, 427, 429, 573, - 423, 431, 435, 433, 0, 593, 652, 640, 642, 646, - 644, 650, 648, 636, 530, 264, 534, 532, 537, 566, - 343, 345, 759, 746, 749, 754, 755, 753, 757, 763, - 765, 767, 769, 214, 42, 0, 0, 0, 208, 0, - 204, 207, 250, 256, 258, 260, 0, 0, 0, 0, - 0, 272, 274, 276, 278, 0, 0, 282, 0, 0, - 0, 0, 288, 290, 292, 294, 249, 0, 221, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 238, - 239, 240, 234, 241, 242, 243, 235, 236, 237, 244, - 245, 246, 247, 248, 0, 219, 0, 215, 216, 370, - 0, 366, 367, 507, 0, 503, 504, 546, 0, 542, - 543, 453, 0, 449, 450, 306, 307, 308, 309, 310, - 0, 298, 301, 302, 303, 304, 305, 662, 0, 659, - 605, 0, 601, 602, 332, 0, 328, 329, 0, 0, - 0, 0, 0, 0, 0, 348, 351, 352, 353, 354, - 355, 356, 0, 0, 0, 321, 0, 313, 316, 317, - 318, 319, 320, 698, 700, 697, 695, 696, 0, 690, - 693, 694, 0, 714, 0, 717, 710, 711, 0, 704, - 707, 708, 709, 712, 0, 787, 0, 784, 0, 830, - 0, 826, 829, 53, 578, 0, 574, 575, 637, 655, - 656, 0, 0, 62, 771, 176, 0, 206, 203, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 223, 201, 211, 0, 213, 218, 0, - 364, 369, 511, 499, 506, 550, 540, 545, 0, 447, - 452, 300, 297, 664, 661, 658, 609, 599, 604, 0, - 326, 331, 0, 0, 0, 0, 0, 0, 350, 347, - 0, 0, 0, 315, 312, 0, 0, 692, 689, 0, - 0, 0, 0, 706, 703, 720, 0, 786, 783, 0, - 828, 825, 55, 0, 54, 0, 572, 577, 0, 654, - 780, 0, 205, 0, 0, 0, 0, 262, 265, 266, - 267, 268, 0, 0, 0, 0, 280, 281, 0, 269, - 270, 271, 287, 0, 0, 0, 0, 222, 0, 217, - 0, 368, 0, 505, 0, 544, 497, 476, 477, 478, - 461, 462, 481, 482, 483, 484, 485, 464, 465, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 458, 459, 460, 474, 475, 471, 472, 473, 470, 0, - 455, 463, 479, 480, 466, 467, 468, 469, 451, 299, - 684, 0, 679, 680, 681, 682, 683, 672, 673, 677, - 678, 674, 675, 676, 0, 665, 666, 669, 670, 671, - 660, 0, 603, 0, 330, 357, 358, 359, 360, 361, - 362, 349, 322, 323, 324, 314, 0, 0, 691, 713, - 0, 716, 0, 705, 802, 0, 800, 798, 792, 796, - 797, 0, 789, 794, 795, 793, 785, 831, 827, 52, - 57, 0, 576, 0, 209, 252, 253, 254, 255, 251, - 257, 259, 261, 273, 275, 277, 279, 284, 285, 286, - 283, 289, 291, 293, 295, 220, 371, 508, 547, 457, - 454, 0, 0, 663, 668, 606, 333, 699, 701, 715, - 718, 0, 0, 0, 791, 788, 56, 579, 638, 456, - 0, 686, 667, 0, 799, 0, 790, 685, 0, 801, - 807, 0, 804, 0, 806, 803, 817, 0, 0, 0, - 822, 0, 809, 812, 813, 814, 815, 816, 805, 0, - 0, 0, 0, 0, 811, 808, 0, 819, 820, 821, - 0, 810, 818, 823 + 0, 0, 0, 0, 0, 0, 0, 225, 203, 213, + 0, 215, 220, 0, 366, 371, 513, 501, 508, 552, + 542, 547, 0, 449, 454, 302, 299, 666, 663, 660, + 611, 601, 606, 0, 328, 333, 0, 0, 0, 0, + 0, 0, 352, 349, 0, 0, 0, 317, 314, 0, + 0, 694, 691, 0, 0, 0, 0, 708, 705, 722, + 0, 788, 785, 0, 830, 827, 55, 0, 54, 0, + 574, 579, 0, 656, 782, 0, 207, 0, 0, 0, + 0, 264, 267, 268, 269, 270, 0, 0, 0, 0, + 282, 283, 0, 271, 272, 273, 289, 0, 0, 0, + 0, 224, 0, 219, 0, 370, 0, 507, 0, 546, + 499, 478, 479, 480, 463, 464, 483, 484, 485, 486, + 487, 466, 467, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 460, 461, 462, 476, 477, 473, + 474, 475, 472, 0, 457, 465, 481, 482, 468, 469, + 470, 471, 453, 301, 686, 0, 681, 682, 683, 684, + 685, 674, 675, 679, 680, 676, 677, 678, 0, 667, + 668, 671, 672, 673, 662, 0, 605, 0, 332, 359, + 360, 361, 362, 363, 364, 351, 324, 325, 326, 316, + 0, 0, 693, 715, 0, 718, 0, 707, 804, 0, + 802, 800, 794, 798, 799, 0, 791, 796, 797, 795, + 787, 833, 829, 52, 57, 0, 578, 0, 211, 254, + 255, 256, 257, 253, 259, 261, 263, 275, 277, 279, + 281, 286, 287, 288, 285, 291, 293, 295, 297, 222, + 373, 510, 549, 459, 456, 0, 0, 665, 670, 608, + 335, 701, 703, 717, 720, 0, 0, 0, 793, 790, + 56, 581, 640, 458, 0, 688, 669, 0, 801, 0, + 792, 687, 0, 803, 809, 0, 806, 0, 808, 805, + 819, 0, 0, 0, 824, 0, 811, 814, 815, 816, + 817, 818, 807, 0, 0, 0, 0, 0, 813, 810, + 0, 821, 822, 823, 0, 812, 820, 825 }; const short Dhcp4Parser::yypgoto_[] = { - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -54, -976, -557, -976, 213, - -976, -976, -976, -976, -976, -976, -613, -976, -976, -976, - -67, -976, -976, -976, -976, -976, -976, -976, 390, 593, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -54, -980, -563, -980, 402, + -980, -980, -980, -980, -980, -980, -617, -980, -980, -980, + -67, -980, -980, -980, -980, -980, -980, -980, 389, 596, 4, 10, 23, -40, -23, -12, 22, 25, 29, 33, - -976, -976, -976, -976, -976, 35, 40, 43, 45, 46, - 47, -976, 403, 50, -976, 51, -976, 53, 57, 58, - -976, 61, -976, 63, -976, -976, -976, -976, -976, -976, - 391, 594, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, 129, -976, - -976, -976, -976, -976, -976, 313, -976, 103, -976, -680, - 111, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -33, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, 92, -976, -976, -976, -976, - -976, -976, -976, -976, 74, -976, -976, -976, -976, -976, - -976, -976, 89, -976, -976, -976, 93, 561, -976, -976, - -976, -976, -976, -976, -976, 94, -976, -976, -976, -976, - -976, -976, -975, -976, -976, -976, 116, -976, -976, -976, - 122, 595, -976, -976, -976, -976, -976, -976, -976, -976, - -973, -976, -65, -976, 70, -976, 64, 65, 68, 69, - -976, -976, -976, -976, -976, -976, -976, 113, -976, -976, - -103, -46, -976, -976, -976, -976, -976, 123, -976, -976, - -976, 127, -976, 586, -976, -63, -976, -976, -976, -976, - -976, -42, -976, -976, -976, -976, -976, -35, -976, -976, - -976, 126, -976, -976, -976, 130, -976, 590, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, 75, - -976, -976, -976, 76, 622, -976, -976, -51, -976, -8, - -976, -39, -976, -976, -976, 119, -976, -976, -976, 131, - -976, 625, -55, -976, -15, -976, 3, -976, 370, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -964, -976, -976, -976, - -976, -976, 132, -976, -976, -976, -98, -976, -976, -976, - -976, -976, -976, -976, -976, 101, -976, -976, -976, -976, - -976, -976, -976, 97, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, 405, 573, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, -976, -976, -976, - -976, -976, -976, -976, -976, 444, 592, -976, -976, -976, - -976, -976, -976, 96, -976, -976, -100, -976, -976, -976, - -976, -976, -976, -123, -976, -976, -134, -976, -976, -976, - -976, -976, -976, -976, -976, -976, -976, 102, -976 + -980, -980, -980, -980, -980, 35, 40, 43, 45, 46, + 47, -980, 399, 50, -980, 51, -980, 53, 57, 58, + -980, 61, -980, 63, -980, -980, -980, -980, -980, -980, + -980, 393, 589, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, 131, + -980, -980, -980, -980, -980, -980, 310, -980, 97, -980, + -684, 109, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -33, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, 93, -980, -980, -980, + -980, -980, -980, -980, -980, 72, -980, -980, -980, -980, + -980, -980, -980, 88, -980, -980, -980, 89, 556, -980, + -980, -980, -980, -980, -980, -980, 84, -980, -980, -980, + -980, -980, -980, -979, -980, -980, -980, 113, -980, -980, + -980, 112, 599, -980, -980, -980, -980, -980, -980, -980, + -980, -977, -980, -65, -980, 70, -980, 64, 65, 68, + 69, -980, -980, -980, -980, -980, -980, -980, 117, -980, + -980, -114, -46, -980, -980, -980, -980, -980, 126, -980, + -980, -980, 121, -980, 597, -980, -63, -980, -980, -980, + -980, -980, -42, -980, -980, -980, -980, -980, -35, -980, + -980, -980, 122, -980, -980, -980, 114, -980, 598, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + 75, -980, -980, -980, 76, 615, -980, -980, -51, -980, + -8, -980, -39, -980, -980, -980, 116, -980, -980, -980, + 120, -980, 600, -55, -980, -15, -980, 3, -980, 375, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -968, -980, -980, + -980, -980, -980, 124, -980, -980, -980, -99, -980, -980, + -980, -980, -980, -980, -980, -980, 106, -980, -980, -980, + -980, -980, -980, -980, 98, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, 401, 602, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, -980, -980, + -980, -980, -980, -980, -980, -980, 437, 603, -980, -980, + -980, -980, -980, -980, 100, -980, -980, -96, -980, -980, + -980, -980, -980, -980, -119, -980, -980, -135, -980, -980, + -980, -980, -980, -980, -980, -980, -980, -980, 107, -980 }; const short Dhcp4Parser::yydefgoto_[] = { 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 36, 37, 38, 65, 708, - 82, 83, 39, 64, 79, 80, 729, 933, 1033, 1034, - 806, 41, 66, 85, 416, 86, 43, 67, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 442, 165, 166, 167, 168, 169, 170, 171, - 172, 448, 700, 173, 449, 174, 450, 175, 176, 177, - 475, 178, 476, 179, 180, 181, 182, 183, 184, 420, - 220, 221, 45, 68, 222, 484, 223, 485, 732, 224, - 486, 735, 225, 185, 428, 186, 421, 779, 780, 781, - 946, 187, 429, 188, 430, 836, 837, 838, 976, 807, - 808, 809, 949, 1189, 810, 950, 811, 951, 812, 952, - 813, 814, 517, 815, 816, 817, 818, 819, 820, 821, - 822, 958, 823, 959, 824, 960, 825, 961, 826, 827, - 828, 964, 1200, 829, 830, 969, 831, 970, 832, 971, - 833, 972, 189, 465, 860, 861, 862, 863, 864, 865, - 866, 190, 471, 896, 897, 898, 899, 900, 191, 468, - 875, 876, 877, 999, 59, 75, 366, 367, 368, 530, - 369, 531, 192, 469, 884, 885, 886, 887, 888, 889, - 890, 891, 193, 454, 840, 841, 842, 979, 47, 69, - 262, 263, 264, 494, 265, 490, 266, 491, 267, 492, - 268, 495, 269, 498, 270, 497, 194, 195, 196, 197, - 461, 714, 275, 198, 458, 852, 853, 854, 988, 1109, - 1110, 199, 455, 53, 72, 844, 845, 846, 982, 55, - 73, 331, 332, 333, 334, 335, 336, 337, 516, 338, - 520, 339, 519, 340, 341, 521, 342, 200, 456, 848, - 849, 850, 985, 57, 74, 352, 353, 354, 355, 356, - 525, 357, 358, 359, 360, 277, 493, 935, 936, 937, - 1035, 49, 70, 290, 291, 292, 502, 201, 459, 202, - 460, 203, 467, 871, 872, 873, 996, 51, 71, 307, - 308, 309, 204, 425, 205, 426, 206, 427, 313, 512, - 940, 1038, 314, 506, 315, 507, 316, 509, 317, 508, - 318, 511, 319, 510, 320, 505, 284, 499, 941, 207, - 466, 868, 869, 993, 1134, 1135, 1136, 1137, 1138, 1211, - 1139, 208, 209, 472, 908, 909, 910, 1015, 911, 1016, - 210, 473, 918, 919, 920, 921, 1020, 922, 923, 1022, - 211, 474, 61, 76, 388, 389, 390, 391, 536, 392, - 393, 538, 394, 395, 396, 541, 767, 397, 542, 398, - 535, 399, 400, 401, 545, 402, 546, 403, 547, 404, - 548, 212, 419, 63, 77, 407, 408, 409, 551, 410, - 213, 479, 926, 927, 1026, 1171, 1172, 1173, 1174, 1223, - 1175, 1221, 1241, 1242, 1243, 1251, 1252, 1253, 1259, 1254, - 1255, 1256, 1257, 1263, 214, 480, 930, 931, 932 + 23, 24, 25, 26, 27, 36, 37, 38, 65, 712, + 82, 83, 39, 64, 79, 80, 733, 937, 1037, 1038, + 810, 41, 66, 85, 418, 86, 43, 67, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 444, 166, 167, 168, 169, 170, 171, 172, + 173, 450, 704, 174, 451, 175, 452, 176, 177, 178, + 477, 179, 478, 180, 181, 182, 183, 184, 185, 186, + 422, 222, 223, 45, 68, 224, 487, 225, 488, 736, + 226, 489, 739, 227, 187, 430, 188, 423, 783, 784, + 785, 950, 189, 431, 190, 432, 840, 841, 842, 980, + 811, 812, 813, 953, 1193, 814, 954, 815, 955, 816, + 956, 817, 818, 520, 819, 820, 821, 822, 823, 824, + 825, 826, 962, 827, 963, 828, 964, 829, 965, 830, + 831, 832, 968, 1204, 833, 834, 973, 835, 974, 836, + 975, 837, 976, 191, 467, 864, 865, 866, 867, 868, + 869, 870, 192, 473, 900, 901, 902, 903, 904, 193, + 470, 879, 880, 881, 1003, 59, 75, 368, 369, 370, + 533, 371, 534, 194, 471, 888, 889, 890, 891, 892, + 893, 894, 895, 195, 456, 844, 845, 846, 983, 47, + 69, 264, 265, 266, 497, 267, 493, 268, 494, 269, + 495, 270, 498, 271, 501, 272, 500, 196, 197, 198, + 199, 463, 718, 277, 200, 460, 856, 857, 858, 992, + 1113, 1114, 201, 457, 53, 72, 848, 849, 850, 986, + 55, 73, 333, 334, 335, 336, 337, 338, 339, 519, + 340, 523, 341, 522, 342, 343, 524, 344, 202, 458, + 852, 853, 854, 989, 57, 74, 354, 355, 356, 357, + 358, 528, 359, 360, 361, 362, 279, 496, 939, 940, + 941, 1039, 49, 70, 292, 293, 294, 505, 203, 461, + 204, 462, 205, 469, 875, 876, 877, 1000, 51, 71, + 309, 310, 311, 206, 427, 207, 428, 208, 429, 315, + 515, 944, 1042, 316, 509, 317, 510, 318, 512, 319, + 511, 320, 514, 321, 513, 322, 508, 286, 502, 945, + 209, 468, 872, 873, 997, 1138, 1139, 1140, 1141, 1142, + 1215, 1143, 210, 211, 474, 912, 913, 914, 1019, 915, + 1020, 212, 475, 922, 923, 924, 925, 1024, 926, 927, + 1026, 213, 476, 61, 76, 390, 391, 392, 393, 539, + 394, 395, 541, 396, 397, 398, 544, 771, 399, 545, + 400, 538, 401, 402, 403, 548, 404, 549, 405, 550, + 406, 551, 214, 421, 63, 77, 409, 410, 411, 554, + 412, 215, 482, 930, 931, 1030, 1175, 1176, 1177, 1178, + 1227, 1179, 1225, 1245, 1246, 1247, 1255, 1256, 1257, 1263, + 1258, 1259, 1260, 1261, 1267, 216, 483, 934, 935, 936 }; const short Dhcp4Parser::yytable_[] = { - 150, 219, 238, 286, 303, 287, 329, 348, 365, 385, - 78, 350, 834, 1101, 281, 1102, 310, 226, 278, 293, - 305, 742, 343, 361, 1117, 386, 321, 746, 28, 242, - 280, 928, 351, 765, 276, 289, 304, 127, 128, 40, - 330, 349, 707, 127, 128, 149, 243, 29, 42, 30, - 81, 31, 363, 364, 282, 44, 311, 244, 127, 128, - 227, 279, 294, 306, 123, 344, 362, 46, 387, 84, - 417, 557, 283, 239, 312, 418, 413, 215, 216, 240, - 48, 217, 302, 938, 218, 912, 913, 914, 903, 904, - 482, 245, 241, 991, 246, 483, 992, 411, 247, 892, - 893, 894, 248, 488, 249, 707, 50, 994, 489, 250, - 995, 322, 251, 500, 252, 253, 254, 412, 501, 255, - 256, 149, 257, 503, 532, 52, 258, 259, 504, 533, - 260, 54, 261, 271, 272, 56, 915, 273, 274, 549, - 288, 58, 149, 553, 550, 60, 87, 1246, 554, 88, - 1247, 1248, 1249, 1250, 405, 406, 1027, 149, 89, 1028, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 127, - 128, 323, 62, 324, 325, 323, 482, 326, 327, 328, - 1244, 943, 414, 1245, 127, 128, 415, 766, 127, 128, - 695, 696, 697, 698, 878, 879, 880, 881, 882, 883, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 422, 699, 423, 123, 124, 93, - 94, 95, 553, 513, 1101, 488, 1102, 944, 125, 126, - 945, 947, 127, 128, 124, 1117, 948, 129, 32, 33, - 34, 35, 130, 131, 132, 133, 134, 285, 127, 128, - 973, 135, 363, 364, 1164, 974, 1165, 1166, 149, 424, - 973, 136, 1008, 235, 137, 975, 236, 1009, 514, 1013, - 515, 138, 139, 149, 1014, 1017, 140, 149, 431, 141, - 1018, 730, 731, 142, 124, 432, 1068, 323, 345, 324, - 325, 346, 347, 733, 734, 93, 94, 95, 127, 128, - 127, 128, 433, 143, 144, 145, 146, 147, 855, 856, - 857, 858, 295, 859, 434, 435, 148, 436, 296, 297, - 298, 299, 300, 301, 1023, 302, 437, 438, 439, 1024, - 549, 149, 99, 100, 101, 1025, 1030, 973, 500, 1209, - 532, 1031, 1205, 1206, 1210, 1216, 1224, 149, 555, 556, - 503, 1225, 1264, 523, 440, 1227, 441, 1265, 443, 123, - 124, 323, 710, 711, 712, 713, 1185, 1186, 1187, 1188, - 1197, 1198, 1199, 444, 127, 128, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 445, - 1120, 1121, 446, 447, 451, 452, 453, 149, 457, 149, - 462, 463, 464, 470, 477, 150, 478, 481, 487, 496, - 518, 219, 522, 524, 562, 526, 527, 528, 529, 577, - 534, 537, 539, 238, 540, 543, 286, 226, 287, 544, - 552, 558, 559, 560, 561, 281, 563, 303, 564, 278, - 565, 566, 293, 567, 568, 569, 570, 329, 571, 310, - 242, 280, 348, 305, 576, 276, 350, 572, 289, 573, - 574, 575, 582, 343, 578, 588, 579, 243, 361, 304, - 227, 589, 385, 149, 590, 282, 580, 351, 244, 585, - 586, 330, 279, 581, 583, 294, 349, 584, 386, 311, - 594, 587, 591, 283, 239, 592, 306, 593, 595, 596, - 240, 597, 598, 599, 600, 601, 344, 312, 602, 603, - 604, 362, 245, 241, 605, 246, 606, 607, 608, 247, - 609, 610, 611, 248, 612, 249, 613, 614, 615, 616, - 250, 387, 619, 251, 617, 252, 253, 254, 618, 620, - 255, 256, 622, 257, 623, 624, 627, 258, 259, 625, - 628, 260, 629, 261, 271, 272, 630, 631, 273, 274, - 1228, 782, 632, 288, 633, 634, 783, 784, 785, 786, - 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, - 797, 635, 636, 638, 798, 799, 800, 801, 802, 803, - 804, 805, 640, 641, 642, 655, 643, 644, 645, 646, - 647, 649, 650, 652, 653, 654, 657, 150, 651, 219, - 661, 662, 665, 666, 668, 671, 658, 672, 675, 774, - 676, 323, 659, 664, 677, 226, 667, 678, 680, 669, - 91, 92, 93, 94, 95, 683, 684, 685, 670, 686, - 687, 673, 674, 895, 905, 681, 385, 691, 692, 688, - 929, 689, 690, 693, 694, 701, 702, 703, 704, 901, - 906, 916, 386, 705, 706, 709, 715, 30, 227, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 716, - 717, 718, 724, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 719, 228, 229, 230, 720, 124, 127, 128, - 721, 722, 902, 907, 917, 387, 723, 726, 725, 231, - 727, 127, 128, 232, 233, 234, 129, 728, 739, 773, - 768, 130, 131, 132, 744, 736, 235, 737, 778, 236, - 135, 835, 738, 149, 839, 740, 741, 237, 743, 745, - 747, 843, 748, 749, 847, 91, 92, 93, 94, 95, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 750, 851, 751, 752, 867, 753, 383, - 384, 754, 755, 756, 757, 758, 759, 760, 762, 763, - 764, 770, 143, 144, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 870, 874, 925, 149, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 934, 771, - 149, 772, 124, 323, 953, 954, 955, 956, 957, 962, - 963, 965, 966, 967, 968, 1002, 127, 128, 977, 233, - 978, 129, 980, 981, 983, 984, 130, 131, 132, 986, - 987, 235, 989, 990, 236, 997, 998, 1000, 1001, 1032, - 1003, 1004, 237, 1005, 1006, 1007, 1010, 1011, 1012, 1019, - 1021, 1029, 1037, 1047, 1036, 761, 1041, 1040, 1039, 1043, - 1044, 1045, 1046, 1048, 1049, 1050, 1051, 1052, 1053, 1054, - 1055, 1058, 1061, 1063, 1056, 1057, 1059, 1060, 1062, 1064, - 1065, 1066, 1152, 1145, 1146, 1147, 1156, 143, 144, 1148, - 1157, 1160, 238, 1149, 1150, 329, 1162, 1153, 348, 1179, - 1159, 1076, 350, 1103, 281, 1154, 1122, 1161, 278, 303, - 1177, 343, 365, 1114, 361, 149, 1180, 1112, 1131, 242, - 280, 310, 1129, 351, 276, 305, 895, 1127, 1080, 330, - 905, 1183, 349, 1111, 1184, 1100, 243, 1190, 1128, 1167, - 1126, 304, 901, 929, 282, 1081, 906, 244, 286, 1191, - 287, 279, 916, 1115, 344, 1169, 1082, 362, 1132, 1192, - 1113, 311, 283, 239, 293, 1130, 1193, 1194, 306, 240, - 1195, 1116, 1077, 1168, 1196, 1201, 1133, 1123, 1078, 312, - 289, 245, 241, 1124, 246, 902, 1202, 1203, 247, 907, - 1083, 1079, 248, 1084, 249, 917, 1125, 1085, 1170, 250, - 1204, 1086, 251, 1087, 252, 253, 254, 294, 1088, 255, - 256, 1089, 257, 1090, 1091, 1092, 258, 259, 1093, 1094, - 260, 1095, 261, 271, 272, 1096, 1097, 273, 274, 1098, - 1207, 1099, 1105, 1106, 1208, 1212, 1107, 1108, 1104, 1214, - 1213, 1215, 1222, 1230, 1217, 1233, 1235, 1240, 1238, 1260, - 1261, 1262, 1266, 1270, 775, 621, 1042, 777, 769, 1218, - 1219, 1069, 626, 1119, 1067, 1226, 942, 1155, 1234, 1231, - 1144, 1267, 1143, 663, 1237, 637, 1239, 1071, 1268, 1269, - 1272, 1070, 1151, 1118, 1273, 288, 1229, 1073, 1220, 1072, - 656, 1181, 1182, 1075, 939, 1074, 1232, 1142, 1158, 660, - 1163, 1258, 679, 1176, 1236, 639, 1140, 1141, 924, 776, - 1271, 0, 1178, 0, 0, 0, 0, 0, 0, 648, - 0, 0, 1076, 0, 1103, 682, 0, 1122, 0, 0, - 0, 0, 0, 0, 1114, 0, 0, 1167, 1112, 1131, - 0, 0, 0, 1129, 0, 0, 0, 0, 1127, 1080, - 0, 0, 0, 1169, 1111, 0, 1100, 0, 0, 1128, - 0, 1126, 0, 0, 0, 0, 1081, 0, 0, 0, - 0, 1168, 0, 0, 1115, 0, 0, 1082, 0, 1132, - 0, 1113, 0, 0, 0, 0, 1130, 0, 0, 0, - 0, 0, 1116, 1077, 0, 0, 1170, 1133, 1123, 1078, - 0, 0, 0, 0, 1124, 0, 0, 0, 0, 0, - 0, 1083, 1079, 0, 1084, 0, 0, 1125, 1085, 0, - 0, 0, 1086, 0, 1087, 0, 0, 0, 0, 1088, - 0, 0, 1089, 0, 1090, 1091, 1092, 0, 0, 1093, - 1094, 0, 1095, 0, 0, 0, 1096, 1097, 0, 0, - 1098, 0, 1099, 1105, 1106, 0, 0, 1107, 1108, 1104 + 151, 221, 240, 288, 305, 289, 331, 350, 367, 387, + 78, 352, 838, 1105, 283, 1106, 312, 228, 280, 295, + 307, 746, 345, 363, 1121, 388, 323, 750, 28, 244, + 282, 769, 353, 40, 278, 291, 306, 365, 366, 711, + 332, 351, 699, 700, 701, 702, 245, 29, 42, 30, + 932, 31, 995, 81, 284, 996, 313, 246, 127, 128, + 229, 281, 296, 308, 150, 346, 364, 44, 389, 46, + 419, 123, 285, 241, 314, 420, 414, 998, 703, 242, + 999, 217, 218, 127, 128, 219, 1031, 48, 220, 1032, + 485, 247, 243, 50, 248, 486, 127, 128, 249, 896, + 897, 898, 250, 711, 251, 491, 52, 150, 503, 252, + 492, 54, 253, 504, 254, 255, 256, 56, 506, 257, + 258, 1248, 259, 507, 1249, 413, 260, 261, 907, 908, + 262, 535, 263, 273, 274, 84, 536, 275, 276, 58, + 290, 407, 408, 415, 916, 917, 918, 87, 1250, 60, + 88, 1251, 1252, 1253, 1254, 1201, 1202, 1203, 150, 89, + 62, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 416, 365, 366, 127, 128, 325, 347, 326, 327, 348, + 349, 552, 556, 150, 417, 770, 553, 557, 127, 128, + 485, 516, 556, 734, 735, 947, 919, 948, 93, 94, + 95, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 737, 738, 424, 123, 124, + 859, 860, 861, 862, 1105, 863, 1106, 491, 517, 125, + 126, 425, 949, 127, 128, 1121, 325, 426, 129, 32, + 33, 34, 35, 130, 131, 132, 133, 134, 433, 127, + 128, 951, 135, 124, 304, 942, 952, 434, 93, 94, + 95, 977, 136, 150, 977, 137, 978, 127, 128, 979, + 1012, 1017, 138, 139, 1021, 1013, 1018, 140, 150, 1022, + 141, 297, 435, 436, 142, 437, 1072, 298, 299, 300, + 301, 302, 303, 1027, 304, 99, 100, 101, 1028, 438, + 439, 440, 124, 441, 143, 144, 145, 146, 147, 148, + 714, 715, 716, 717, 552, 287, 127, 128, 149, 1029, + 1034, 518, 123, 124, 325, 1035, 1168, 977, 1169, 1170, + 503, 237, 1209, 150, 238, 1210, 442, 127, 128, 324, + 882, 883, 884, 885, 886, 887, 443, 1213, 526, 150, + 558, 559, 1214, 1124, 1125, 535, 1228, 506, 1268, 527, + 1220, 1229, 1231, 1269, 786, 445, 446, 150, 447, 787, + 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, + 798, 799, 800, 801, 448, 449, 453, 802, 803, 804, + 805, 806, 807, 808, 809, 1189, 1190, 1191, 1192, 325, + 454, 326, 327, 455, 459, 328, 329, 330, 151, 464, + 465, 466, 127, 128, 221, 472, 150, 479, 480, 481, + 484, 490, 499, 521, 325, 525, 240, 529, 530, 288, + 228, 289, 532, 531, 537, 540, 542, 150, 283, 543, + 305, 546, 280, 547, 555, 295, 560, 561, 562, 563, + 331, 564, 312, 244, 282, 350, 307, 565, 278, 352, + 566, 291, 567, 568, 569, 570, 345, 571, 572, 573, + 245, 363, 306, 229, 574, 387, 585, 575, 284, 580, + 353, 246, 576, 577, 332, 281, 579, 588, 296, 351, + 578, 388, 313, 581, 582, 583, 285, 241, 589, 308, + 584, 586, 587, 242, 591, 592, 593, 597, 590, 346, + 314, 594, 150, 595, 364, 247, 243, 596, 248, 127, + 128, 598, 249, 599, 600, 601, 250, 602, 251, 603, + 604, 605, 606, 252, 389, 607, 253, 150, 254, 255, + 256, 608, 609, 257, 258, 610, 259, 611, 612, 613, + 260, 261, 614, 615, 262, 616, 263, 273, 274, 617, + 1232, 275, 276, 618, 619, 623, 290, 620, 621, 622, + 624, 372, 373, 374, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 626, 627, 628, 629, 631, 632, + 385, 386, 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 633, 634, 635, 636, 637, + 638, 151, 655, 221, 639, 640, 642, 644, 645, 150, + 646, 647, 648, 778, 649, 650, 651, 653, 654, 228, + 656, 657, 658, 661, 91, 92, 93, 94, 95, 665, + 666, 669, 670, 659, 662, 672, 663, 899, 909, 675, + 387, 668, 676, 679, 933, 680, 671, 673, 674, 681, + 682, 677, 678, 905, 910, 920, 388, 684, 687, 688, + 685, 697, 229, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 689, 690, 691, 692, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 693, 230, 231, 232, + 694, 124, 695, 696, 698, 705, 906, 911, 921, 389, + 707, 706, 708, 233, 709, 127, 128, 234, 235, 236, + 129, 710, 30, 713, 719, 130, 131, 132, 723, 720, + 237, 721, 722, 238, 135, 724, 725, 726, 727, 728, + 729, 239, 730, 731, 732, 743, 740, 741, 748, 91, + 92, 93, 94, 95, 742, 777, 772, 744, 782, 745, + 747, 749, 839, 751, 752, 753, 843, 847, 851, 754, + 755, 756, 757, 855, 758, 759, 760, 761, 762, 763, + 764, 766, 767, 768, 774, 775, 143, 144, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 776, 871, + 874, 878, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 929, 938, 957, 150, 124, 325, 958, 959, + 960, 961, 966, 967, 969, 970, 971, 972, 982, 1052, + 127, 128, 981, 235, 984, 129, 985, 987, 988, 991, + 130, 131, 132, 990, 993, 237, 994, 1001, 238, 1002, + 1004, 1005, 1051, 1006, 1007, 1008, 239, 1009, 1010, 1011, + 1014, 1015, 1016, 1023, 1025, 1033, 1036, 1041, 1040, 1045, + 1054, 1043, 1044, 1047, 1048, 1049, 1050, 1053, 1055, 1056, + 1057, 1058, 1059, 1060, 1062, 1067, 1068, 1061, 1063, 1064, + 1069, 1066, 1065, 1070, 1149, 1150, 1151, 1152, 1153, 1154, + 1157, 143, 144, 1156, 1160, 1158, 240, 1161, 1163, 331, + 1164, 1165, 350, 1166, 1181, 1080, 352, 1107, 283, 1183, + 1126, 1184, 280, 305, 1187, 345, 367, 1118, 363, 1188, + 150, 1116, 1135, 244, 282, 312, 1133, 353, 278, 307, + 899, 1131, 1084, 332, 909, 1194, 351, 1115, 1211, 1104, + 245, 1195, 1132, 1171, 1130, 306, 905, 933, 284, 1085, + 910, 246, 288, 1196, 289, 281, 920, 1119, 346, 1173, + 1086, 364, 1136, 1212, 1117, 313, 285, 241, 295, 1134, + 1197, 1198, 308, 242, 1199, 1120, 1081, 1172, 1200, 1205, + 1137, 1127, 1082, 314, 291, 247, 243, 1128, 248, 906, + 1216, 1217, 249, 911, 1087, 1083, 250, 1088, 251, 921, + 1129, 1089, 1174, 252, 1206, 1090, 253, 1091, 254, 255, + 256, 296, 1092, 257, 258, 1093, 259, 1094, 1095, 1096, + 260, 261, 1097, 1098, 262, 1099, 263, 273, 274, 1100, + 1101, 275, 276, 1102, 1218, 1103, 1109, 1110, 1219, 1207, + 1111, 1112, 1108, 1226, 1208, 1234, 1237, 1239, 765, 1221, + 1242, 1244, 1264, 1265, 1266, 1270, 1274, 779, 773, 1073, + 630, 625, 1046, 781, 1222, 1223, 1071, 946, 1123, 1159, + 1230, 667, 1147, 1148, 1235, 1074, 1155, 1238, 1075, 1233, + 1241, 1243, 641, 1078, 1276, 1271, 1272, 1076, 1273, 290, + 1277, 1122, 1224, 1079, 1077, 1185, 1186, 652, 1146, 1236, + 1145, 643, 1144, 943, 660, 1167, 780, 1162, 928, 1262, + 664, 1180, 1240, 1275, 0, 0, 0, 0, 0, 0, + 0, 1182, 0, 0, 0, 0, 1080, 0, 1107, 0, + 0, 1126, 0, 0, 683, 0, 0, 0, 1118, 686, + 0, 1171, 1116, 1135, 0, 0, 0, 1133, 0, 0, + 0, 0, 1131, 1084, 0, 0, 0, 1173, 1115, 0, + 1104, 0, 0, 1132, 0, 1130, 0, 0, 0, 0, + 1085, 0, 0, 0, 0, 1172, 0, 0, 1119, 0, + 0, 1086, 0, 1136, 0, 1117, 0, 0, 0, 0, + 1134, 0, 0, 0, 0, 0, 1120, 1081, 0, 0, + 1174, 1137, 1127, 1082, 0, 0, 0, 0, 1128, 0, + 0, 0, 0, 0, 0, 1087, 1083, 0, 1088, 0, + 0, 1129, 1089, 0, 0, 0, 1090, 0, 1091, 0, + 0, 0, 0, 1092, 0, 0, 1093, 0, 1094, 1095, + 1096, 0, 0, 1097, 1098, 0, 1099, 0, 0, 0, + 1100, 1101, 0, 0, 1102, 0, 1103, 1109, 1110, 0, + 0, 1111, 1112, 1108 }; const short Dhcp4Parser::yycheck_[] = { 67, 68, 69, 70, 71, 70, 73, 74, 75, 76, - 64, 74, 692, 988, 69, 988, 71, 68, 69, 70, - 71, 634, 73, 74, 988, 76, 72, 640, 0, 69, - 69, 192, 74, 18, 69, 70, 71, 107, 108, 7, - 73, 74, 599, 107, 108, 206, 69, 5, 7, 7, - 206, 9, 137, 138, 69, 7, 71, 69, 107, 108, - 68, 69, 70, 71, 92, 73, 74, 7, 76, 10, - 3, 206, 69, 69, 71, 8, 4, 15, 16, 69, - 7, 19, 134, 135, 22, 155, 156, 157, 152, 153, - 3, 69, 69, 3, 69, 8, 6, 6, 69, 148, - 149, 150, 69, 3, 69, 662, 7, 3, 8, 69, - 6, 34, 69, 3, 69, 69, 69, 3, 8, 69, - 69, 206, 69, 3, 3, 7, 69, 69, 8, 8, - 69, 7, 69, 69, 69, 7, 206, 69, 69, 3, - 70, 7, 206, 3, 8, 7, 11, 184, 8, 14, - 187, 188, 189, 190, 12, 13, 3, 206, 23, 6, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 107, - 108, 94, 7, 96, 97, 94, 3, 100, 101, 102, - 3, 8, 8, 6, 107, 108, 3, 172, 107, 108, - 174, 175, 176, 177, 140, 141, 142, 143, 144, 145, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 4, 209, 4, 92, 93, 28, - 29, 30, 3, 8, 1209, 3, 1209, 8, 103, 104, - 8, 3, 107, 108, 93, 1209, 8, 112, 206, 207, - 208, 209, 117, 118, 119, 120, 121, 106, 107, 108, - 3, 126, 137, 138, 183, 8, 185, 186, 206, 4, - 3, 136, 3, 122, 139, 8, 125, 8, 3, 3, - 8, 146, 147, 206, 8, 3, 151, 206, 4, 154, - 8, 17, 18, 158, 93, 4, 976, 94, 95, 96, - 97, 98, 99, 20, 21, 28, 29, 30, 107, 108, - 107, 108, 4, 178, 179, 180, 181, 182, 127, 128, - 129, 130, 121, 132, 4, 4, 191, 4, 127, 128, - 129, 130, 131, 132, 3, 134, 4, 4, 4, 8, - 3, 206, 65, 66, 67, 8, 3, 3, 3, 3, - 3, 8, 8, 8, 8, 8, 3, 206, 412, 413, - 3, 8, 3, 8, 4, 8, 4, 8, 4, 92, - 93, 94, 113, 114, 115, 116, 35, 36, 37, 38, - 54, 55, 56, 4, 107, 108, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 4, - 123, 124, 4, 4, 4, 4, 4, 206, 4, 206, - 4, 4, 4, 4, 4, 482, 4, 4, 4, 4, - 4, 488, 4, 3, 209, 4, 4, 8, 3, 208, - 4, 4, 4, 500, 4, 4, 503, 488, 503, 4, - 4, 4, 4, 4, 4, 500, 209, 514, 209, 500, - 4, 4, 503, 4, 4, 4, 4, 524, 207, 514, - 500, 500, 529, 514, 209, 500, 529, 207, 503, 207, - 207, 207, 4, 524, 208, 4, 208, 500, 529, 514, - 488, 4, 549, 206, 4, 500, 207, 529, 500, 209, - 209, 524, 500, 207, 207, 503, 529, 207, 549, 514, - 4, 209, 209, 500, 500, 209, 514, 209, 4, 4, - 500, 207, 4, 4, 4, 4, 524, 514, 209, 209, - 209, 529, 500, 500, 4, 500, 4, 4, 4, 500, - 4, 207, 4, 500, 4, 500, 4, 4, 4, 4, - 500, 549, 4, 500, 209, 500, 500, 500, 209, 4, - 500, 500, 4, 500, 4, 4, 4, 500, 500, 209, - 4, 500, 4, 500, 500, 500, 4, 4, 500, 500, - 1183, 34, 4, 503, 207, 4, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 4, 4, 4, 57, 58, 59, 60, 61, 62, - 63, 64, 4, 4, 4, 209, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 684, 207, 686, - 4, 4, 4, 4, 4, 4, 209, 4, 4, 683, - 4, 94, 209, 209, 4, 686, 207, 4, 4, 207, - 26, 27, 28, 29, 30, 4, 7, 7, 207, 7, - 7, 209, 209, 720, 721, 207, 723, 7, 7, 206, - 727, 206, 206, 5, 206, 206, 206, 5, 5, 720, - 721, 722, 723, 5, 5, 206, 5, 7, 686, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 5, - 5, 5, 206, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 7, 89, 90, 91, 7, 93, 107, 108, - 7, 7, 720, 721, 722, 723, 7, 5, 206, 105, - 7, 107, 108, 109, 110, 111, 112, 5, 5, 5, - 173, 117, 118, 119, 7, 206, 122, 206, 24, 125, - 126, 7, 206, 206, 7, 206, 206, 133, 206, 206, - 206, 7, 206, 206, 7, 26, 27, 28, 29, 30, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 206, 7, 206, 206, 7, 206, 178, - 179, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 178, 179, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 7, 7, 7, 206, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 7, 206, - 206, 206, 93, 94, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 107, 108, 6, 110, - 3, 112, 6, 3, 6, 3, 117, 118, 119, 6, - 3, 122, 6, 3, 125, 6, 3, 6, 3, 206, - 4, 4, 133, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 3, 207, 6, 662, 4, 6, 8, 4, - 4, 4, 4, 209, 207, 209, 207, 4, 4, 4, - 4, 4, 209, 4, 207, 207, 207, 207, 207, 4, - 4, 4, 209, 207, 207, 207, 4, 178, 179, 207, - 4, 4, 979, 207, 207, 982, 4, 207, 985, 6, - 209, 988, 985, 988, 979, 207, 993, 207, 979, 996, - 209, 982, 999, 988, 985, 206, 3, 988, 993, 979, - 979, 996, 993, 985, 979, 996, 1013, 993, 988, 982, - 1017, 4, 985, 988, 206, 988, 979, 206, 993, 1026, - 993, 996, 1013, 1030, 979, 988, 1017, 979, 1035, 206, - 1035, 979, 1023, 988, 982, 1026, 988, 985, 993, 206, - 988, 996, 979, 979, 1035, 993, 206, 206, 996, 979, - 206, 988, 988, 1026, 206, 206, 993, 993, 988, 996, - 1035, 979, 979, 993, 979, 1013, 206, 206, 979, 1017, - 988, 988, 979, 988, 979, 1023, 993, 988, 1026, 979, - 206, 988, 979, 988, 979, 979, 979, 1035, 988, 979, - 979, 988, 979, 988, 988, 988, 979, 979, 988, 988, - 979, 988, 979, 979, 979, 988, 988, 979, 979, 988, - 8, 988, 988, 988, 8, 4, 988, 988, 988, 3, - 8, 8, 4, 4, 206, 4, 4, 7, 5, 4, - 4, 4, 4, 4, 684, 482, 947, 686, 675, 206, - 206, 978, 488, 991, 973, 206, 773, 1013, 207, 209, - 1001, 209, 999, 532, 206, 500, 206, 981, 207, 207, - 206, 979, 1008, 990, 206, 1035, 1209, 984, 1162, 982, - 524, 1035, 1037, 987, 744, 985, 1214, 998, 1017, 529, - 1023, 1244, 549, 1027, 1224, 503, 994, 996, 723, 685, - 1264, -1, 1030, -1, -1, -1, -1, -1, -1, 514, - -1, -1, 1209, -1, 1209, 553, -1, 1214, -1, -1, - -1, -1, -1, -1, 1209, -1, -1, 1224, 1209, 1214, - -1, -1, -1, 1214, -1, -1, -1, -1, 1214, 1209, - -1, -1, -1, 1224, 1209, -1, 1209, -1, -1, 1214, - -1, 1214, -1, -1, -1, -1, 1209, -1, -1, -1, - -1, 1224, -1, -1, 1209, -1, -1, 1209, -1, 1214, - -1, 1209, -1, -1, -1, -1, 1214, -1, -1, -1, - -1, -1, 1209, 1209, -1, -1, 1224, 1214, 1214, 1209, - -1, -1, -1, -1, 1214, -1, -1, -1, -1, -1, - -1, 1209, 1209, -1, 1209, -1, -1, 1214, 1209, -1, - -1, -1, 1209, -1, 1209, -1, -1, -1, -1, 1209, - -1, -1, 1209, -1, 1209, 1209, 1209, -1, -1, 1209, - 1209, -1, 1209, -1, -1, -1, 1209, 1209, -1, -1, - 1209, -1, 1209, 1209, 1209, -1, -1, 1209, 1209, 1209 + 64, 74, 696, 992, 69, 992, 71, 68, 69, 70, + 71, 638, 73, 74, 992, 76, 72, 644, 0, 69, + 69, 18, 74, 7, 69, 70, 71, 137, 138, 602, + 73, 74, 174, 175, 176, 177, 69, 5, 7, 7, + 193, 9, 3, 207, 69, 6, 71, 69, 107, 108, + 68, 69, 70, 71, 207, 73, 74, 7, 76, 7, + 3, 92, 69, 69, 71, 8, 3, 3, 210, 69, + 6, 15, 16, 107, 108, 19, 3, 7, 22, 6, + 3, 69, 69, 7, 69, 8, 107, 108, 69, 148, + 149, 150, 69, 666, 69, 3, 7, 207, 3, 69, + 8, 7, 69, 8, 69, 69, 69, 7, 3, 69, + 69, 3, 69, 8, 6, 6, 69, 69, 152, 153, + 69, 3, 69, 69, 69, 10, 8, 69, 69, 7, + 70, 12, 13, 4, 155, 156, 157, 11, 185, 7, + 14, 188, 189, 190, 191, 54, 55, 56, 207, 23, + 7, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 8, 137, 138, 107, 108, 94, 95, 96, 97, 98, + 99, 3, 3, 207, 3, 172, 8, 8, 107, 108, + 3, 8, 3, 17, 18, 8, 207, 8, 28, 29, + 30, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 20, 21, 4, 92, 93, + 127, 128, 129, 130, 1213, 132, 1213, 3, 3, 103, + 104, 4, 8, 107, 108, 1213, 94, 4, 112, 207, + 208, 209, 210, 117, 118, 119, 120, 121, 4, 107, + 108, 3, 126, 93, 134, 135, 8, 4, 28, 29, + 30, 3, 136, 207, 3, 139, 8, 107, 108, 8, + 3, 3, 146, 147, 3, 8, 8, 151, 207, 8, + 154, 121, 4, 4, 158, 4, 980, 127, 128, 129, + 130, 131, 132, 3, 134, 65, 66, 67, 8, 4, + 4, 4, 93, 4, 178, 179, 180, 181, 182, 183, + 113, 114, 115, 116, 3, 106, 107, 108, 192, 8, + 3, 8, 92, 93, 94, 8, 184, 3, 186, 187, + 3, 122, 8, 207, 125, 8, 4, 107, 108, 34, + 140, 141, 142, 143, 144, 145, 4, 3, 8, 207, + 414, 415, 8, 123, 124, 3, 3, 3, 3, 3, + 8, 8, 8, 8, 34, 4, 4, 207, 4, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 4, 4, 4, 57, 58, 59, + 60, 61, 62, 63, 64, 35, 36, 37, 38, 94, + 4, 96, 97, 4, 4, 100, 101, 102, 485, 4, + 4, 4, 107, 108, 491, 4, 207, 4, 4, 4, + 4, 4, 4, 4, 94, 4, 503, 4, 4, 506, + 491, 506, 3, 8, 4, 4, 4, 207, 503, 4, + 517, 4, 503, 4, 4, 506, 207, 4, 4, 4, + 527, 4, 517, 503, 503, 532, 517, 210, 503, 532, + 210, 506, 210, 4, 4, 4, 527, 4, 4, 4, + 503, 532, 517, 491, 208, 552, 4, 208, 503, 209, + 532, 503, 208, 208, 527, 503, 210, 210, 506, 532, + 208, 552, 517, 209, 209, 208, 503, 503, 210, 517, + 208, 208, 208, 503, 4, 4, 4, 4, 210, 527, + 517, 210, 207, 210, 532, 503, 503, 210, 503, 107, + 108, 4, 503, 4, 208, 4, 503, 4, 503, 4, + 4, 210, 210, 503, 552, 210, 503, 207, 503, 503, + 503, 4, 4, 503, 503, 4, 503, 4, 4, 208, + 503, 503, 4, 4, 503, 4, 503, 503, 503, 4, + 1187, 503, 503, 4, 4, 4, 506, 210, 210, 210, + 4, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 4, 4, 4, 210, 4, 4, + 178, 179, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 4, 4, 4, 4, 208, + 4, 688, 208, 690, 4, 4, 4, 4, 4, 207, + 4, 4, 4, 687, 4, 4, 4, 4, 4, 690, + 4, 4, 4, 4, 26, 27, 28, 29, 30, 4, + 4, 4, 4, 210, 210, 4, 210, 724, 725, 4, + 727, 210, 4, 4, 731, 4, 208, 208, 208, 4, + 4, 210, 210, 724, 725, 726, 727, 4, 4, 7, + 208, 5, 690, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 7, 7, 7, 207, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 207, 89, 90, 91, + 207, 93, 7, 7, 207, 207, 724, 725, 726, 727, + 5, 207, 5, 105, 5, 107, 108, 109, 110, 111, + 112, 5, 7, 207, 5, 117, 118, 119, 7, 5, + 122, 5, 5, 125, 126, 7, 7, 7, 7, 207, + 207, 133, 5, 7, 5, 5, 207, 207, 7, 26, + 27, 28, 29, 30, 207, 5, 173, 207, 24, 207, + 207, 207, 7, 207, 207, 207, 7, 7, 7, 207, + 207, 207, 207, 7, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 178, 179, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 207, 7, + 7, 7, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 7, 7, 4, 207, 93, 94, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 3, 210, + 107, 108, 6, 110, 6, 112, 3, 6, 3, 3, + 117, 118, 119, 6, 6, 122, 3, 6, 125, 3, + 6, 3, 208, 4, 4, 4, 133, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 207, 3, 6, 4, + 210, 8, 6, 4, 4, 4, 4, 208, 208, 4, + 4, 4, 4, 208, 4, 4, 4, 208, 208, 208, + 4, 208, 210, 4, 208, 208, 208, 208, 208, 208, + 208, 178, 179, 210, 4, 208, 983, 4, 210, 986, + 4, 208, 989, 4, 210, 992, 989, 992, 983, 6, + 997, 3, 983, 1000, 4, 986, 1003, 992, 989, 207, + 207, 992, 997, 983, 983, 1000, 997, 989, 983, 1000, + 1017, 997, 992, 986, 1021, 207, 989, 992, 8, 992, + 983, 207, 997, 1030, 997, 1000, 1017, 1034, 983, 992, + 1021, 983, 1039, 207, 1039, 983, 1027, 992, 986, 1030, + 992, 989, 997, 8, 992, 1000, 983, 983, 1039, 997, + 207, 207, 1000, 983, 207, 992, 992, 1030, 207, 207, + 997, 997, 992, 1000, 1039, 983, 983, 997, 983, 1017, + 4, 8, 983, 1021, 992, 992, 983, 992, 983, 1027, + 997, 992, 1030, 983, 207, 992, 983, 992, 983, 983, + 983, 1039, 992, 983, 983, 992, 983, 992, 992, 992, + 983, 983, 992, 992, 983, 992, 983, 983, 983, 992, + 992, 983, 983, 992, 3, 992, 992, 992, 8, 207, + 992, 992, 992, 4, 207, 4, 4, 4, 666, 207, + 5, 7, 4, 4, 4, 4, 4, 688, 679, 982, + 491, 485, 951, 690, 207, 207, 977, 777, 995, 1017, + 207, 535, 1003, 1005, 210, 983, 1012, 208, 985, 1213, + 207, 207, 503, 989, 207, 210, 208, 986, 208, 1039, + 207, 994, 1166, 991, 988, 1039, 1041, 517, 1002, 1218, + 1000, 506, 998, 748, 527, 1027, 689, 1021, 727, 1248, + 532, 1031, 1228, 1268, -1, -1, -1, -1, -1, -1, + -1, 1034, -1, -1, -1, -1, 1213, -1, 1213, -1, + -1, 1218, -1, -1, 552, -1, -1, -1, 1213, 556, + -1, 1228, 1213, 1218, -1, -1, -1, 1218, -1, -1, + -1, -1, 1218, 1213, -1, -1, -1, 1228, 1213, -1, + 1213, -1, -1, 1218, -1, 1218, -1, -1, -1, -1, + 1213, -1, -1, -1, -1, 1228, -1, -1, 1213, -1, + -1, 1213, -1, 1218, -1, 1213, -1, -1, -1, -1, + 1218, -1, -1, -1, -1, -1, 1213, 1213, -1, -1, + 1228, 1218, 1218, 1213, -1, -1, -1, -1, 1218, -1, + -1, -1, -1, -1, -1, 1213, 1213, -1, 1213, -1, + -1, 1218, 1213, -1, -1, -1, 1213, -1, 1213, -1, + -1, -1, -1, 1213, -1, -1, 1213, -1, 1213, 1213, + 1213, -1, -1, 1213, 1213, -1, 1213, -1, -1, -1, + 1213, 1213, -1, -1, 1213, -1, 1213, 1213, 1213, -1, + -1, 1213, 1213, 1213 }; const short Dhcp4Parser::yystos_[] = { - 0, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 0, 5, - 7, 9, 206, 207, 208, 209, 225, 226, 227, 232, - 7, 241, 7, 246, 7, 292, 7, 408, 7, 491, - 7, 507, 7, 443, 7, 449, 7, 473, 7, 384, - 7, 572, 7, 603, 233, 228, 242, 247, 293, 409, - 492, 508, 444, 450, 474, 385, 573, 604, 225, 234, - 235, 206, 230, 231, 10, 243, 245, 11, 14, 23, + 0, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 0, 5, + 7, 9, 207, 208, 209, 210, 226, 227, 228, 233, + 7, 242, 7, 247, 7, 294, 7, 410, 7, 493, + 7, 509, 7, 445, 7, 451, 7, 475, 7, 386, + 7, 574, 7, 605, 234, 229, 243, 248, 295, 411, + 494, 510, 446, 452, 476, 387, 575, 606, 226, 235, + 236, 207, 231, 232, 10, 244, 246, 11, 14, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 92, 93, 103, 104, 107, 108, 112, 117, 118, 119, 120, 121, 126, 136, 139, 146, 147, - 151, 154, 158, 178, 179, 180, 181, 182, 191, 206, - 240, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 263, 264, 265, 266, 267, - 268, 269, 270, 273, 275, 277, 278, 279, 281, 283, - 284, 285, 286, 287, 288, 303, 305, 311, 313, 362, - 371, 378, 392, 402, 426, 427, 428, 429, 433, 441, - 467, 497, 499, 501, 512, 514, 516, 539, 551, 552, - 560, 570, 601, 610, 634, 15, 16, 19, 22, 240, - 290, 291, 294, 296, 299, 302, 497, 499, 89, 90, - 91, 105, 109, 110, 111, 122, 125, 133, 240, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 265, - 266, 267, 268, 269, 270, 273, 275, 277, 278, 279, - 281, 283, 410, 411, 412, 414, 416, 418, 420, 422, - 424, 426, 427, 428, 429, 432, 467, 485, 497, 499, - 501, 512, 514, 516, 536, 106, 240, 422, 424, 467, - 493, 494, 495, 497, 499, 121, 127, 128, 129, 130, - 131, 132, 134, 240, 467, 497, 499, 509, 510, 511, - 512, 514, 516, 518, 522, 524, 526, 528, 530, 532, - 534, 441, 34, 94, 96, 97, 100, 101, 102, 240, - 331, 451, 452, 453, 454, 455, 456, 457, 459, 461, - 463, 464, 466, 497, 499, 95, 98, 99, 240, 331, - 455, 461, 475, 476, 477, 478, 479, 481, 482, 483, - 484, 497, 499, 137, 138, 240, 386, 387, 388, 390, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 178, 179, 240, 497, 499, 574, 575, - 576, 577, 579, 580, 582, 583, 584, 587, 589, 591, - 592, 593, 595, 597, 599, 12, 13, 605, 606, 607, - 609, 6, 3, 4, 8, 3, 244, 3, 8, 602, - 289, 306, 4, 4, 4, 513, 515, 517, 304, 312, - 314, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 262, 4, 4, 4, 4, 4, 271, 274, - 276, 4, 4, 4, 403, 442, 468, 4, 434, 498, - 500, 430, 4, 4, 4, 363, 540, 502, 379, 393, - 4, 372, 553, 561, 571, 280, 282, 4, 4, 611, - 635, 4, 3, 8, 295, 297, 300, 4, 3, 8, - 415, 417, 419, 486, 413, 421, 4, 425, 423, 537, - 3, 8, 496, 3, 8, 535, 523, 525, 529, 527, - 533, 531, 519, 8, 3, 8, 458, 332, 4, 462, - 460, 465, 4, 8, 3, 480, 4, 4, 8, 3, - 389, 391, 3, 8, 4, 590, 578, 4, 581, 4, - 4, 585, 588, 4, 4, 594, 596, 598, 600, 3, - 8, 608, 4, 3, 8, 225, 225, 206, 4, 4, - 4, 4, 209, 209, 209, 4, 4, 4, 4, 4, - 4, 207, 207, 207, 207, 207, 209, 208, 208, 208, - 207, 207, 4, 207, 207, 209, 209, 209, 4, 4, - 4, 209, 209, 209, 4, 4, 4, 207, 4, 4, - 4, 4, 209, 209, 209, 4, 4, 4, 4, 4, - 207, 4, 4, 4, 4, 4, 4, 209, 209, 4, - 4, 249, 4, 4, 4, 209, 291, 4, 4, 4, - 4, 4, 4, 207, 4, 4, 4, 411, 4, 494, - 4, 4, 4, 4, 4, 4, 4, 4, 511, 4, - 4, 207, 4, 4, 4, 209, 453, 4, 209, 209, - 477, 4, 4, 387, 209, 4, 4, 207, 4, 207, - 207, 4, 4, 209, 209, 4, 4, 4, 4, 575, - 4, 207, 606, 4, 7, 7, 7, 7, 206, 206, - 206, 7, 7, 5, 206, 174, 175, 176, 177, 209, - 272, 206, 206, 5, 5, 5, 5, 227, 229, 206, - 113, 114, 115, 116, 431, 5, 5, 5, 5, 7, - 7, 7, 7, 7, 206, 206, 5, 7, 5, 236, - 17, 18, 298, 20, 21, 301, 206, 206, 206, 5, - 206, 206, 236, 206, 7, 206, 236, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 229, 206, 206, 206, 18, 172, 586, 173, 272, - 206, 206, 206, 5, 225, 248, 605, 290, 24, 307, - 308, 309, 34, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 57, 58, - 59, 60, 61, 62, 63, 64, 240, 319, 320, 321, - 324, 326, 328, 330, 331, 333, 334, 335, 336, 337, - 338, 339, 340, 342, 344, 346, 348, 349, 350, 353, - 354, 356, 358, 360, 319, 7, 315, 316, 317, 7, - 404, 405, 406, 7, 445, 446, 447, 7, 469, 470, - 471, 7, 435, 436, 437, 127, 128, 129, 130, 132, - 364, 365, 366, 367, 368, 369, 370, 7, 541, 542, - 7, 503, 504, 505, 7, 380, 381, 382, 140, 141, - 142, 143, 144, 145, 394, 395, 396, 397, 398, 399, - 400, 401, 148, 149, 150, 240, 373, 374, 375, 376, - 377, 497, 499, 152, 153, 240, 497, 499, 554, 555, - 556, 558, 155, 156, 157, 206, 497, 499, 562, 563, - 564, 565, 567, 568, 574, 7, 612, 613, 192, 240, - 636, 637, 638, 237, 7, 487, 488, 489, 135, 518, - 520, 538, 315, 8, 8, 8, 310, 3, 8, 322, - 325, 327, 329, 4, 4, 4, 4, 4, 341, 343, - 345, 347, 4, 4, 351, 4, 4, 4, 4, 355, - 357, 359, 361, 3, 8, 8, 318, 6, 3, 407, - 6, 3, 448, 6, 3, 472, 6, 3, 438, 6, - 3, 3, 6, 543, 3, 6, 506, 6, 3, 383, - 6, 3, 4, 4, 4, 4, 4, 4, 3, 8, - 4, 4, 4, 3, 8, 557, 559, 3, 8, 4, - 566, 4, 569, 3, 8, 8, 614, 3, 6, 4, - 3, 8, 206, 238, 239, 490, 6, 3, 521, 8, - 6, 4, 308, 4, 4, 4, 4, 207, 209, 207, - 209, 207, 4, 4, 4, 4, 207, 207, 4, 207, - 207, 209, 207, 4, 4, 4, 4, 320, 319, 317, - 410, 406, 451, 447, 475, 471, 240, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 265, 266, 267, - 268, 269, 270, 273, 275, 277, 278, 279, 281, 283, - 331, 402, 420, 422, 424, 426, 427, 428, 429, 439, - 440, 467, 497, 499, 512, 514, 516, 536, 437, 365, - 123, 124, 240, 250, 251, 252, 331, 441, 467, 497, - 499, 512, 514, 516, 544, 545, 546, 547, 548, 550, - 542, 509, 505, 386, 382, 207, 207, 207, 207, 207, - 207, 395, 209, 207, 207, 374, 4, 4, 555, 209, - 4, 207, 4, 563, 183, 185, 186, 240, 331, 497, - 499, 615, 616, 617, 618, 620, 613, 209, 637, 6, - 3, 493, 489, 4, 206, 35, 36, 37, 38, 323, - 206, 206, 206, 206, 206, 206, 206, 54, 55, 56, - 352, 206, 206, 206, 206, 8, 8, 8, 8, 3, - 8, 549, 4, 8, 3, 8, 8, 206, 206, 206, - 225, 621, 4, 619, 3, 8, 206, 8, 236, 440, - 4, 209, 546, 4, 207, 4, 616, 206, 5, 206, - 7, 622, 623, 624, 3, 6, 184, 187, 188, 189, - 190, 625, 626, 627, 629, 630, 631, 632, 623, 628, - 4, 4, 4, 633, 3, 8, 4, 209, 207, 207, - 4, 626, 206, 206 + 151, 154, 158, 178, 179, 180, 181, 182, 183, 192, + 207, 241, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 264, 265, 266, 267, + 268, 269, 270, 271, 274, 276, 278, 279, 280, 282, + 284, 285, 286, 287, 288, 289, 290, 305, 307, 313, + 315, 364, 373, 380, 394, 404, 428, 429, 430, 431, + 435, 443, 469, 499, 501, 503, 514, 516, 518, 541, + 553, 554, 562, 572, 603, 612, 636, 15, 16, 19, + 22, 241, 292, 293, 296, 298, 301, 304, 499, 501, + 89, 90, 91, 105, 109, 110, 111, 122, 125, 133, + 241, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 266, 267, 268, 269, 270, 271, 274, 276, 278, + 279, 280, 282, 284, 412, 413, 414, 416, 418, 420, + 422, 424, 426, 428, 429, 430, 431, 434, 469, 487, + 499, 501, 503, 514, 516, 518, 538, 106, 241, 424, + 426, 469, 495, 496, 497, 499, 501, 121, 127, 128, + 129, 130, 131, 132, 134, 241, 469, 499, 501, 511, + 512, 513, 514, 516, 518, 520, 524, 526, 528, 530, + 532, 534, 536, 443, 34, 94, 96, 97, 100, 101, + 102, 241, 333, 453, 454, 455, 456, 457, 458, 459, + 461, 463, 465, 466, 468, 499, 501, 95, 98, 99, + 241, 333, 457, 463, 477, 478, 479, 480, 481, 483, + 484, 485, 486, 499, 501, 137, 138, 241, 388, 389, + 390, 392, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 178, 179, 241, 499, 501, + 576, 577, 578, 579, 581, 582, 584, 585, 586, 589, + 591, 593, 594, 595, 597, 599, 601, 12, 13, 607, + 608, 609, 611, 6, 3, 4, 8, 3, 245, 3, + 8, 604, 291, 308, 4, 4, 4, 515, 517, 519, + 306, 314, 316, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 263, 4, 4, 4, 4, 4, + 272, 275, 277, 4, 4, 4, 405, 444, 470, 4, + 436, 500, 502, 432, 4, 4, 4, 365, 542, 504, + 381, 395, 4, 374, 555, 563, 573, 281, 283, 4, + 4, 4, 613, 637, 4, 3, 8, 297, 299, 302, + 4, 3, 8, 417, 419, 421, 488, 415, 423, 4, + 427, 425, 539, 3, 8, 498, 3, 8, 537, 525, + 527, 531, 529, 535, 533, 521, 8, 3, 8, 460, + 334, 4, 464, 462, 467, 4, 8, 3, 482, 4, + 4, 8, 3, 391, 393, 3, 8, 4, 592, 580, + 4, 583, 4, 4, 587, 590, 4, 4, 596, 598, + 600, 602, 3, 8, 610, 4, 3, 8, 226, 226, + 207, 4, 4, 4, 4, 210, 210, 210, 4, 4, + 4, 4, 4, 4, 208, 208, 208, 208, 208, 210, + 209, 209, 209, 208, 208, 4, 208, 208, 210, 210, + 210, 4, 4, 4, 210, 210, 210, 4, 4, 4, + 208, 4, 4, 4, 4, 210, 210, 210, 4, 4, + 4, 4, 4, 208, 4, 4, 4, 4, 4, 4, + 210, 210, 210, 4, 4, 250, 4, 4, 4, 210, + 293, 4, 4, 4, 4, 4, 4, 208, 4, 4, + 4, 413, 4, 496, 4, 4, 4, 4, 4, 4, + 4, 4, 513, 4, 4, 208, 4, 4, 4, 210, + 455, 4, 210, 210, 479, 4, 4, 389, 210, 4, + 4, 208, 4, 208, 208, 4, 4, 210, 210, 4, + 4, 4, 4, 577, 4, 208, 608, 4, 7, 7, + 7, 7, 207, 207, 207, 7, 7, 5, 207, 174, + 175, 176, 177, 210, 273, 207, 207, 5, 5, 5, + 5, 228, 230, 207, 113, 114, 115, 116, 433, 5, + 5, 5, 5, 7, 7, 7, 7, 7, 207, 207, + 5, 7, 5, 237, 17, 18, 300, 20, 21, 303, + 207, 207, 207, 5, 207, 207, 237, 207, 7, 207, + 237, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 230, 207, 207, 207, 18, + 172, 588, 173, 273, 207, 207, 207, 5, 226, 249, + 607, 292, 24, 309, 310, 311, 34, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 57, 58, 59, 60, 61, 62, 63, 64, + 241, 321, 322, 323, 326, 328, 330, 332, 333, 335, + 336, 337, 338, 339, 340, 341, 342, 344, 346, 348, + 350, 351, 352, 355, 356, 358, 360, 362, 321, 7, + 317, 318, 319, 7, 406, 407, 408, 7, 447, 448, + 449, 7, 471, 472, 473, 7, 437, 438, 439, 127, + 128, 129, 130, 132, 366, 367, 368, 369, 370, 371, + 372, 7, 543, 544, 7, 505, 506, 507, 7, 382, + 383, 384, 140, 141, 142, 143, 144, 145, 396, 397, + 398, 399, 400, 401, 402, 403, 148, 149, 150, 241, + 375, 376, 377, 378, 379, 499, 501, 152, 153, 241, + 499, 501, 556, 557, 558, 560, 155, 156, 157, 207, + 499, 501, 564, 565, 566, 567, 569, 570, 576, 7, + 614, 615, 193, 241, 638, 639, 640, 238, 7, 489, + 490, 491, 135, 520, 522, 540, 317, 8, 8, 8, + 312, 3, 8, 324, 327, 329, 331, 4, 4, 4, + 4, 4, 343, 345, 347, 349, 4, 4, 353, 4, + 4, 4, 4, 357, 359, 361, 363, 3, 8, 8, + 320, 6, 3, 409, 6, 3, 450, 6, 3, 474, + 6, 3, 440, 6, 3, 3, 6, 545, 3, 6, + 508, 6, 3, 385, 6, 3, 4, 4, 4, 4, + 4, 4, 3, 8, 4, 4, 4, 3, 8, 559, + 561, 3, 8, 4, 568, 4, 571, 3, 8, 8, + 616, 3, 6, 4, 3, 8, 207, 239, 240, 492, + 6, 3, 523, 8, 6, 4, 310, 4, 4, 4, + 4, 208, 210, 208, 210, 208, 4, 4, 4, 4, + 208, 208, 4, 208, 208, 210, 208, 4, 4, 4, + 4, 322, 321, 319, 412, 408, 453, 449, 477, 473, + 241, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 266, 267, 268, 269, 270, 271, 274, 276, 278, + 279, 280, 282, 284, 333, 404, 422, 424, 426, 428, + 429, 430, 431, 441, 442, 469, 499, 501, 514, 516, + 518, 538, 439, 367, 123, 124, 241, 251, 252, 253, + 333, 443, 469, 499, 501, 514, 516, 518, 546, 547, + 548, 549, 550, 552, 544, 511, 507, 388, 384, 208, + 208, 208, 208, 208, 208, 397, 210, 208, 208, 376, + 4, 4, 557, 210, 4, 208, 4, 565, 184, 186, + 187, 241, 333, 499, 501, 617, 618, 619, 620, 622, + 615, 210, 639, 6, 3, 495, 491, 4, 207, 35, + 36, 37, 38, 325, 207, 207, 207, 207, 207, 207, + 207, 54, 55, 56, 354, 207, 207, 207, 207, 8, + 8, 8, 8, 3, 8, 551, 4, 8, 3, 8, + 8, 207, 207, 207, 226, 623, 4, 621, 3, 8, + 207, 8, 237, 442, 4, 210, 548, 4, 208, 4, + 618, 207, 5, 207, 7, 624, 625, 626, 3, 6, + 185, 188, 189, 190, 191, 627, 628, 629, 631, 632, + 633, 634, 625, 630, 4, 4, 4, 635, 3, 8, + 4, 210, 208, 208, 4, 628, 207, 207 }; const short Dhcp4Parser::yyr1_[] = { - 0, 210, 212, 211, 213, 211, 214, 211, 215, 211, - 216, 211, 217, 211, 218, 211, 219, 211, 220, 211, - 221, 211, 222, 211, 223, 211, 224, 211, 225, 225, - 225, 225, 225, 225, 225, 226, 228, 227, 229, 230, - 230, 231, 231, 231, 233, 232, 234, 234, 235, 235, - 235, 237, 236, 238, 238, 239, 239, 239, 240, 242, - 241, 244, 243, 243, 245, 247, 246, 248, 248, 248, - 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 262, 261, 263, 264, 265, 266, - 267, 268, 269, 271, 270, 272, 272, 272, 272, 272, - 274, 273, 276, 275, 277, 278, 280, 279, 282, 281, - 283, 284, 285, 286, 287, 289, 288, 290, 290, 290, - 291, 291, 291, 291, 291, 291, 291, 293, 292, 295, - 294, 297, 296, 298, 298, 300, 299, 301, 301, 302, - 304, 303, 306, 305, 307, 307, 307, 308, 310, 309, - 312, 311, 314, 313, 315, 315, 316, 316, 316, 318, - 317, 319, 319, 319, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 322, 321, 323, 323, 323, 323, 325, 324, 327, 326, - 329, 328, 330, 332, 331, 333, 334, 335, 336, 337, - 338, 339, 341, 340, 343, 342, 345, 344, 347, 346, - 348, 349, 351, 350, 352, 352, 352, 353, 355, 354, - 357, 356, 359, 358, 361, 360, 363, 362, 364, 364, - 364, 365, 365, 365, 365, 365, 366, 367, 368, 369, - 370, 372, 371, 373, 373, 373, 374, 374, 374, 374, - 374, 374, 375, 376, 377, 379, 378, 380, 380, 381, - 381, 381, 383, 382, 385, 384, 386, 386, 386, 386, - 387, 387, 389, 388, 391, 390, 393, 392, 394, 394, - 394, 395, 395, 395, 395, 395, 395, 396, 397, 398, - 399, 400, 401, 403, 402, 404, 404, 405, 405, 405, - 407, 406, 409, 408, 410, 410, 410, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 413, 412, 415, 414, 417, 416, 419, 418, - 421, 420, 423, 422, 425, 424, 426, 427, 428, 430, - 429, 431, 431, 431, 431, 432, 434, 433, 435, 435, - 436, 436, 436, 438, 437, 439, 439, 439, 440, 440, - 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, - 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, - 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, - 440, 440, 440, 440, 440, 440, 440, 440, 442, 441, - 444, 443, 445, 445, 446, 446, 446, 448, 447, 450, - 449, 451, 451, 452, 452, 452, 453, 453, 453, 453, - 453, 453, 453, 453, 453, 453, 454, 455, 456, 458, - 457, 460, 459, 462, 461, 463, 465, 464, 466, 468, - 467, 469, 469, 470, 470, 470, 472, 471, 474, 473, - 475, 475, 476, 476, 476, 477, 477, 477, 477, 477, - 477, 477, 477, 477, 478, 480, 479, 481, 482, 483, - 484, 486, 485, 487, 487, 488, 488, 488, 490, 489, - 492, 491, 493, 493, 493, 494, 494, 494, 494, 494, - 494, 494, 496, 495, 498, 497, 500, 499, 502, 501, - 503, 503, 504, 504, 504, 506, 505, 508, 507, 509, - 509, 510, 510, 510, 511, 511, 511, 511, 511, 511, - 511, 511, 511, 511, 511, 511, 511, 511, 511, 513, - 512, 515, 514, 517, 516, 519, 518, 521, 520, 523, + 0, 211, 213, 212, 214, 212, 215, 212, 216, 212, + 217, 212, 218, 212, 219, 212, 220, 212, 221, 212, + 222, 212, 223, 212, 224, 212, 225, 212, 226, 226, + 226, 226, 226, 226, 226, 227, 229, 228, 230, 231, + 231, 232, 232, 232, 234, 233, 235, 235, 236, 236, + 236, 238, 237, 239, 239, 240, 240, 240, 241, 243, + 242, 245, 244, 244, 246, 248, 247, 249, 249, 249, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 263, 262, 264, 265, 266, + 267, 268, 269, 270, 272, 271, 273, 273, 273, 273, + 273, 275, 274, 277, 276, 278, 279, 281, 280, 283, + 282, 284, 285, 286, 287, 288, 289, 291, 290, 292, + 292, 292, 293, 293, 293, 293, 293, 293, 293, 295, + 294, 297, 296, 299, 298, 300, 300, 302, 301, 303, + 303, 304, 306, 305, 308, 307, 309, 309, 309, 310, + 312, 311, 314, 313, 316, 315, 317, 317, 318, 318, + 318, 320, 319, 321, 321, 321, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 324, 323, 325, 325, 325, 325, 327, 326, + 329, 328, 331, 330, 332, 334, 333, 335, 336, 337, + 338, 339, 340, 341, 343, 342, 345, 344, 347, 346, + 349, 348, 350, 351, 353, 352, 354, 354, 354, 355, + 357, 356, 359, 358, 361, 360, 363, 362, 365, 364, + 366, 366, 366, 367, 367, 367, 367, 367, 368, 369, + 370, 371, 372, 374, 373, 375, 375, 375, 376, 376, + 376, 376, 376, 376, 377, 378, 379, 381, 380, 382, + 382, 383, 383, 383, 385, 384, 387, 386, 388, 388, + 388, 388, 389, 389, 391, 390, 393, 392, 395, 394, + 396, 396, 396, 397, 397, 397, 397, 397, 397, 398, + 399, 400, 401, 402, 403, 405, 404, 406, 406, 407, + 407, 407, 409, 408, 411, 410, 412, 412, 412, 413, + 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, + 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, + 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, + 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, + 413, 413, 413, 413, 415, 414, 417, 416, 419, 418, + 421, 420, 423, 422, 425, 424, 427, 426, 428, 429, + 430, 432, 431, 433, 433, 433, 433, 434, 436, 435, + 437, 437, 438, 438, 438, 440, 439, 441, 441, 441, + 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, + 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, + 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, + 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, + 444, 443, 446, 445, 447, 447, 448, 448, 448, 450, + 449, 452, 451, 453, 453, 454, 454, 454, 455, 455, + 455, 455, 455, 455, 455, 455, 455, 455, 456, 457, + 458, 460, 459, 462, 461, 464, 463, 465, 467, 466, + 468, 470, 469, 471, 471, 472, 472, 472, 474, 473, + 476, 475, 477, 477, 478, 478, 478, 479, 479, 479, + 479, 479, 479, 479, 479, 479, 480, 482, 481, 483, + 484, 485, 486, 488, 487, 489, 489, 490, 490, 490, + 492, 491, 494, 493, 495, 495, 495, 496, 496, 496, + 496, 496, 496, 496, 498, 497, 500, 499, 502, 501, + 504, 503, 505, 505, 506, 506, 506, 508, 507, 510, + 509, 511, 511, 512, 512, 512, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 515, 514, 517, 516, 519, 518, 521, 520, 523, 522, 525, 524, 527, 526, 529, 528, 531, 530, 533, - 532, 535, 534, 537, 536, 538, 538, 540, 539, 541, - 541, 541, 543, 542, 544, 544, 545, 545, 545, 546, - 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, - 546, 546, 546, 547, 549, 548, 550, 551, 553, 552, - 554, 554, 554, 555, 555, 555, 555, 555, 557, 556, - 559, 558, 561, 560, 562, 562, 562, 563, 563, 563, - 563, 563, 563, 564, 566, 565, 567, 569, 568, 571, - 570, 573, 572, 574, 574, 574, 575, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 576, 578, 577, 579, 581, 580, - 582, 583, 585, 584, 586, 586, 588, 587, 590, 589, - 591, 592, 594, 593, 596, 595, 598, 597, 600, 599, - 602, 601, 604, 603, 605, 605, 605, 606, 606, 608, - 607, 609, 611, 610, 612, 612, 612, 614, 613, 615, - 615, 615, 616, 616, 616, 616, 616, 616, 616, 617, - 619, 618, 621, 620, 622, 622, 622, 624, 623, 625, - 625, 625, 626, 626, 626, 626, 626, 628, 627, 629, - 630, 631, 633, 632, 635, 634, 636, 636, 636, 637, - 637, 638 + 532, 535, 534, 537, 536, 539, 538, 540, 540, 542, + 541, 543, 543, 543, 545, 544, 546, 546, 547, 547, + 547, 548, 548, 548, 548, 548, 548, 548, 548, 548, + 548, 548, 548, 548, 548, 549, 551, 550, 552, 553, + 555, 554, 556, 556, 556, 557, 557, 557, 557, 557, + 559, 558, 561, 560, 563, 562, 564, 564, 564, 565, + 565, 565, 565, 565, 565, 566, 568, 567, 569, 571, + 570, 573, 572, 575, 574, 576, 576, 576, 577, 577, + 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, + 577, 577, 577, 577, 577, 577, 578, 580, 579, 581, + 583, 582, 584, 585, 587, 586, 588, 588, 590, 589, + 592, 591, 593, 594, 596, 595, 598, 597, 600, 599, + 602, 601, 604, 603, 606, 605, 607, 607, 607, 608, + 608, 610, 609, 611, 613, 612, 614, 614, 614, 616, + 615, 617, 617, 617, 618, 618, 618, 618, 618, 618, + 618, 619, 621, 620, 623, 622, 624, 624, 624, 626, + 625, 627, 627, 627, 628, 628, 628, 628, 628, 630, + 629, 631, 632, 633, 635, 634, 637, 636, 638, 638, + 638, 639, 639, 640 }; const signed char @@ -5845,77 +5857,77 @@ namespace isc { namespace dhcp { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 0, 4, 3, 3, 3, 3, - 3, 3, 3, 0, 4, 1, 1, 1, 1, 1, - 0, 4, 0, 4, 3, 3, 0, 4, 0, 4, - 3, 3, 3, 3, 3, 0, 6, 1, 3, 2, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, - 4, 0, 4, 1, 1, 0, 4, 1, 1, 3, - 0, 6, 0, 6, 1, 3, 2, 1, 0, 4, - 0, 6, 0, 6, 0, 1, 1, 3, 2, 0, - 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 0, 4, 3, 3, 3, + 3, 3, 3, 3, 0, 4, 1, 1, 1, 1, + 1, 0, 4, 0, 4, 3, 3, 0, 4, 0, + 4, 3, 3, 3, 3, 3, 3, 0, 6, 1, + 3, 2, 1, 1, 1, 1, 1, 1, 1, 0, + 4, 0, 4, 0, 4, 1, 1, 0, 4, 1, + 1, 3, 0, 6, 0, 6, 1, 3, 2, 1, + 0, 4, 0, 6, 0, 6, 0, 1, 1, 3, + 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 4, 1, 1, 1, 1, 0, 4, 0, 4, - 0, 4, 3, 0, 4, 3, 3, 3, 3, 3, - 3, 3, 0, 4, 0, 4, 0, 4, 0, 4, - 3, 3, 0, 4, 1, 1, 1, 3, 0, 4, - 0, 4, 0, 4, 0, 4, 0, 6, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 6, 1, 3, 2, 1, 1, 1, 1, - 1, 1, 3, 3, 3, 0, 6, 0, 1, 1, + 1, 1, 0, 4, 1, 1, 1, 1, 0, 4, + 0, 4, 0, 4, 3, 0, 4, 3, 3, 3, + 3, 3, 3, 3, 0, 4, 0, 4, 0, 4, + 0, 4, 3, 3, 0, 4, 1, 1, 1, 3, + 0, 4, 0, 4, 0, 4, 0, 4, 0, 6, + 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 6, 1, 3, 2, 1, 1, + 1, 1, 1, 1, 3, 3, 3, 0, 6, 0, + 1, 1, 3, 2, 0, 4, 0, 4, 1, 3, + 2, 1, 1, 1, 0, 4, 0, 4, 0, 6, + 1, 3, 2, 1, 1, 1, 1, 1, 1, 3, + 3, 3, 3, 3, 3, 0, 6, 0, 1, 1, 3, 2, 0, 4, 0, 4, 1, 3, 2, 1, - 1, 1, 0, 4, 0, 4, 0, 6, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 3, 3, 3, - 3, 3, 3, 0, 6, 0, 1, 1, 3, 2, - 0, 4, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 4, 0, 4, 0, 4, 3, 3, 3, 0, - 4, 1, 1, 1, 1, 3, 0, 6, 0, 1, - 1, 3, 2, 0, 4, 1, 3, 2, 1, 1, + 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, + 0, 4, 0, 4, 0, 4, 0, 4, 3, 3, + 3, 0, 4, 1, 1, 1, 1, 3, 0, 6, + 0, 1, 1, 3, 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 6, - 0, 4, 0, 1, 1, 3, 2, 0, 4, 0, - 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 0, - 4, 0, 4, 0, 4, 1, 0, 4, 3, 0, - 6, 0, 1, 1, 3, 2, 0, 4, 0, 4, - 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 4, 1, 1, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 6, 0, 4, 0, 1, 1, 3, 2, 0, + 4, 0, 4, 0, 1, 1, 3, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 1, 0, 4, 0, 4, 0, 4, 1, 0, 4, 3, 0, 6, 0, 1, 1, 3, 2, 0, 4, - 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 0, 4, 0, 4, 0, 6, - 0, 1, 1, 3, 2, 0, 4, 0, 4, 0, - 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 0, 6, 1, 1, 0, 6, 1, - 3, 2, 0, 4, 0, 1, 1, 3, 2, 1, + 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 4, 1, + 1, 3, 3, 0, 6, 0, 1, 1, 3, 2, + 0, 4, 0, 4, 1, 3, 2, 1, 1, 1, + 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, + 0, 6, 0, 1, 1, 3, 2, 0, 4, 0, + 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 3, 3, 0, 6, - 1, 3, 2, 1, 1, 1, 1, 1, 0, 4, - 0, 4, 0, 6, 1, 3, 2, 1, 1, 1, - 1, 1, 1, 3, 0, 4, 3, 0, 4, 0, - 6, 0, 4, 1, 3, 2, 1, 1, 1, 1, + 1, 0, 4, 0, 4, 0, 4, 0, 4, 0, + 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, + 4, 0, 4, 0, 4, 0, 6, 1, 1, 0, + 6, 1, 3, 2, 0, 4, 0, 1, 1, 3, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 4, 3, 3, + 0, 6, 1, 3, 2, 1, 1, 1, 1, 1, + 0, 4, 0, 4, 0, 6, 1, 3, 2, 1, + 1, 1, 1, 1, 1, 3, 0, 4, 3, 0, + 4, 0, 6, 0, 4, 1, 3, 2, 1, 1, 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, 6, 0, 4, 1, 3, 2, 1, 1, 0, - 6, 3, 0, 6, 1, 3, 2, 0, 4, 1, - 3, 2, 1, 1, 1, 1, 1, 1, 1, 3, - 0, 4, 0, 6, 1, 3, 2, 0, 4, 1, - 3, 2, 1, 1, 1, 1, 1, 0, 4, 3, - 3, 3, 0, 4, 0, 6, 1, 3, 2, 1, - 1, 3 + 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, 6, 0, 4, 1, 3, 2, 1, + 1, 0, 6, 3, 0, 6, 1, 3, 2, 0, + 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 1, 3, 0, 4, 0, 6, 1, 3, 2, 0, + 4, 1, 3, 2, 1, 1, 1, 1, 1, 0, + 4, 3, 3, 3, 0, 4, 0, 6, 1, 3, + 2, 1, 1, 3 }; @@ -5983,12 +5995,13 @@ namespace isc { namespace dhcp { "\"replace-client-name\"", "\"generated-prefix\"", "\"tcp\"", "\"JSON\"", "\"when-present\"", "\"never\"", "\"always\"", "\"when-not-present\"", "\"hostname-char-set\"", "\"hostname-char-replacement\"", - "\"ip-reservations-unique\"", "\"reservations-lookup-first\"", - "\"loggers\"", "\"output_options\"", "\"output\"", "\"debuglevel\"", - "\"severity\"", "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"", - "\"compatibility\"", "\"lenient-option-parsing\"", "TOPLEVEL_JSON", - "TOPLEVEL_DHCP4", "SUB_DHCP4", "SUB_INTERFACES4", "SUB_SUBNET4", - "SUB_POOL4", "SUB_RESERVATION", "SUB_OPTION_DEFS", "SUB_OPTION_DEF", + "\"early-global-reservations-lookup\"", "\"ip-reservations-unique\"", + "\"reservations-lookup-first\"", "\"loggers\"", "\"output_options\"", + "\"output\"", "\"debuglevel\"", "\"severity\"", "\"flush\"", + "\"maxsize\"", "\"maxver\"", "\"pattern\"", "\"compatibility\"", + "\"lenient-option-parsing\"", "TOPLEVEL_JSON", "TOPLEVEL_DHCP4", + "SUB_DHCP4", "SUB_INTERFACES4", "SUB_SUBNET4", "SUB_POOL4", + "SUB_RESERVATION", "SUB_OPTION_DEFS", "SUB_OPTION_DEF", "SUB_OPTION_DATA", "SUB_HOOKS_LIBRARY", "SUB_DHCP_DDNS", "SUB_CONFIG_CONTROL", "\"constant string\"", "\"integer\"", "\"floating point\"", "\"boolean\"", "$accept", "start", "$@1", "$@2", @@ -6010,20 +6023,20 @@ namespace isc { namespace dhcp { "ddns_use_conflict_resolution", "hostname_char_set", "$@24", "hostname_char_replacement", "$@25", "store_extended_info", "statistic_default_sample_count", "statistic_default_sample_age", - "ip_reservations_unique", "reservations_lookup_first", - "interfaces_config", "$@26", "interfaces_config_params", - "interfaces_config_param", "sub_interfaces4", "$@27", "interfaces_list", - "$@28", "dhcp_socket_type", "$@29", "socket_type", "outbound_interface", - "$@30", "outbound_interface_value", "re_detect", "lease_database", - "$@31", "sanity_checks", "$@32", "sanity_checks_params", - "sanity_checks_param", "lease_checks", "$@33", "hosts_database", "$@34", - "hosts_databases", "$@35", "database_list", "not_empty_database_list", - "database", "$@36", "database_map_params", "database_map_param", - "database_type", "$@37", "db_type", "user", "$@38", "password", "$@39", - "host", "$@40", "port", "name", "$@41", "persist", "lfc_interval", - "readonly", "connect_timeout", "request_timeout", "tcp_keepalive", - "tcp_nodelay", "contact_points", "$@42", "keyspace", "$@43", - "consistency", "$@44", "serial_consistency", "$@45", + "early_global_reservations_lookup", "ip_reservations_unique", + "reservations_lookup_first", "interfaces_config", "$@26", + "interfaces_config_params", "interfaces_config_param", "sub_interfaces4", + "$@27", "interfaces_list", "$@28", "dhcp_socket_type", "$@29", + "socket_type", "outbound_interface", "$@30", "outbound_interface_value", + "re_detect", "lease_database", "$@31", "sanity_checks", "$@32", + "sanity_checks_params", "sanity_checks_param", "lease_checks", "$@33", + "hosts_database", "$@34", "hosts_databases", "$@35", "database_list", + "not_empty_database_list", "database", "$@36", "database_map_params", + "database_map_param", "database_type", "$@37", "db_type", "user", "$@38", + "password", "$@39", "host", "$@40", "port", "name", "$@41", "persist", + "lfc_interval", "readonly", "connect_timeout", "request_timeout", + "tcp_keepalive", "tcp_nodelay", "contact_points", "$@42", "keyspace", + "$@43", "consistency", "$@44", "serial_consistency", "$@45", "max_reconnect_tries", "reconnect_wait_time", "on_fail", "$@46", "on_fail_mode", "max_row_errors", "trust_anchor", "$@47", "cert_file", "$@48", "key_file", "$@49", "cipher_list", "$@50", @@ -6106,90 +6119,90 @@ namespace isc { namespace dhcp { const short Dhcp4Parser::yyrline_[] = { - 0, 299, 299, 299, 300, 300, 301, 301, 302, 302, - 303, 303, 304, 304, 305, 305, 306, 306, 307, 307, - 308, 308, 309, 309, 310, 310, 311, 311, 319, 320, - 321, 322, 323, 324, 325, 328, 333, 333, 344, 347, - 348, 351, 356, 362, 367, 367, 374, 375, 378, 382, - 386, 392, 392, 399, 400, 403, 407, 411, 421, 430, - 430, 445, 445, 459, 462, 468, 468, 477, 478, 479, - 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 551, 557, 563, 569, 575, 581, 587, - 593, 599, 605, 611, 617, 617, 626, 632, 638, 644, - 650, 656, 662, 668, 668, 677, 680, 683, 686, 689, - 695, 695, 704, 704, 713, 719, 725, 725, 734, 734, - 743, 749, 755, 761, 767, 773, 773, 785, 786, 787, - 792, 793, 794, 795, 796, 797, 798, 801, 801, 810, - 810, 821, 821, 829, 830, 833, 833, 841, 843, 847, - 854, 854, 867, 867, 878, 879, 880, 885, 887, 887, - 906, 906, 919, 919, 930, 931, 934, 935, 936, 941, - 941, 951, 952, 953, 958, 959, 960, 961, 962, 963, - 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, - 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, - 986, 986, 994, 995, 996, 997, 1000, 1000, 1009, 1009, - 1018, 1018, 1027, 1033, 1033, 1042, 1048, 1054, 1060, 1066, - 1072, 1078, 1084, 1084, 1093, 1093, 1102, 1102, 1111, 1111, - 1120, 1126, 1132, 1132, 1140, 1141, 1142, 1145, 1151, 1151, - 1160, 1160, 1169, 1169, 1178, 1178, 1187, 1187, 1198, 1199, - 1200, 1205, 1206, 1207, 1208, 1209, 1212, 1217, 1222, 1227, - 1232, 1239, 1239, 1252, 1253, 1254, 1259, 1260, 1261, 1262, - 1263, 1264, 1267, 1273, 1279, 1285, 1285, 1296, 1297, 1300, - 1301, 1302, 1307, 1307, 1317, 1317, 1327, 1328, 1329, 1332, - 1335, 1336, 1339, 1339, 1348, 1348, 1357, 1357, 1369, 1370, - 1371, 1376, 1377, 1378, 1379, 1380, 1381, 1384, 1390, 1396, - 1402, 1408, 1414, 1423, 1423, 1437, 1438, 1441, 1442, 1443, - 1452, 1452, 1478, 1478, 1489, 1490, 1491, 1497, 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, 1525, 1526, 1527, 1528, 1529, - 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, - 1540, 1541, 1544, 1544, 1553, 1553, 1562, 1562, 1571, 1571, - 1580, 1580, 1589, 1589, 1598, 1598, 1609, 1615, 1621, 1627, - 1627, 1635, 1636, 1637, 1638, 1641, 1649, 1649, 1661, 1662, - 1666, 1667, 1668, 1673, 1673, 1681, 1682, 1683, 1688, 1689, - 1690, 1691, 1692, 1693, 1694, 1695, 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, 1723, 1724, 1725, 1726, 1727, 1734, 1734, - 1748, 1748, 1757, 1758, 1761, 1762, 1763, 1770, 1770, 1785, - 1785, 1799, 1800, 1803, 1804, 1805, 1810, 1811, 1812, 1813, - 1814, 1815, 1816, 1817, 1818, 1819, 1822, 1824, 1830, 1832, - 1832, 1841, 1841, 1850, 1850, 1859, 1861, 1861, 1870, 1880, - 1880, 1893, 1894, 1899, 1900, 1901, 1908, 1908, 1920, 1920, - 1932, 1933, 1938, 1939, 1940, 1947, 1948, 1949, 1950, 1951, - 1952, 1953, 1954, 1955, 1958, 1960, 1960, 1969, 1971, 1973, - 1979, 1988, 1988, 2001, 2002, 2005, 2006, 2007, 2012, 2012, - 2022, 2022, 2032, 2033, 2034, 2039, 2040, 2041, 2042, 2043, - 2044, 2045, 2048, 2048, 2057, 2057, 2082, 2082, 2112, 2112, - 2123, 2124, 2127, 2128, 2129, 2134, 2134, 2143, 2143, 2152, - 2153, 2156, 2157, 2158, 2164, 2165, 2166, 2167, 2168, 2169, - 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2181, - 2181, 2190, 2190, 2199, 2199, 2208, 2208, 2217, 2217, 2228, - 2228, 2237, 2237, 2246, 2246, 2255, 2255, 2264, 2264, 2273, - 2273, 2282, 2282, 2296, 2296, 2307, 2308, 2314, 2314, 2325, - 2326, 2327, 2332, 2332, 2342, 2343, 2346, 2347, 2348, 2353, - 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363, - 2364, 2365, 2366, 2369, 2371, 2371, 2380, 2388, 2396, 2396, - 2407, 2408, 2409, 2414, 2415, 2416, 2417, 2418, 2421, 2421, - 2430, 2430, 2442, 2442, 2455, 2456, 2457, 2462, 2463, 2464, - 2465, 2466, 2467, 2470, 2476, 2476, 2485, 2491, 2491, 2501, - 2501, 2514, 2514, 2524, 2525, 2526, 2531, 2532, 2533, 2534, - 2535, 2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, - 2545, 2546, 2547, 2548, 2551, 2557, 2557, 2566, 2572, 2572, - 2581, 2587, 2593, 2593, 2602, 2603, 2606, 2606, 2616, 2616, - 2626, 2633, 2640, 2640, 2649, 2649, 2659, 2659, 2669, 2669, - 2681, 2681, 2693, 2693, 2703, 2704, 2705, 2711, 2712, 2715, - 2715, 2726, 2734, 2734, 2747, 2748, 2749, 2755, 2755, 2763, - 2764, 2765, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2779, - 2785, 2785, 2794, 2794, 2805, 2806, 2807, 2812, 2812, 2820, - 2821, 2822, 2827, 2828, 2829, 2830, 2831, 2834, 2834, 2843, - 2849, 2855, 2861, 2861, 2870, 2870, 2881, 2882, 2883, 2888, - 2889, 2892 + 0, 300, 300, 300, 301, 301, 302, 302, 303, 303, + 304, 304, 305, 305, 306, 306, 307, 307, 308, 308, + 309, 309, 310, 310, 311, 311, 312, 312, 320, 321, + 322, 323, 324, 325, 326, 329, 334, 334, 345, 348, + 349, 352, 357, 363, 368, 368, 375, 376, 379, 383, + 387, 393, 393, 400, 401, 404, 408, 412, 422, 431, + 431, 446, 446, 460, 463, 469, 469, 478, 479, 480, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 553, 559, 565, 571, 577, 583, + 589, 595, 601, 607, 613, 619, 619, 628, 634, 640, + 646, 652, 658, 664, 670, 670, 679, 682, 685, 688, + 691, 697, 697, 706, 706, 715, 721, 727, 727, 736, + 736, 745, 751, 757, 763, 769, 775, 781, 781, 793, + 794, 795, 800, 801, 802, 803, 804, 805, 806, 809, + 809, 818, 818, 829, 829, 837, 838, 841, 841, 849, + 851, 855, 862, 862, 875, 875, 886, 887, 888, 893, + 895, 895, 914, 914, 927, 927, 938, 939, 942, 943, + 944, 949, 949, 959, 960, 961, 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, 994, 994, 1002, 1003, 1004, 1005, 1008, 1008, + 1017, 1017, 1026, 1026, 1035, 1041, 1041, 1050, 1056, 1062, + 1068, 1074, 1080, 1086, 1092, 1092, 1101, 1101, 1110, 1110, + 1119, 1119, 1128, 1134, 1140, 1140, 1148, 1149, 1150, 1153, + 1159, 1159, 1168, 1168, 1177, 1177, 1186, 1186, 1195, 1195, + 1206, 1207, 1208, 1213, 1214, 1215, 1216, 1217, 1220, 1225, + 1230, 1235, 1240, 1247, 1247, 1260, 1261, 1262, 1267, 1268, + 1269, 1270, 1271, 1272, 1275, 1281, 1287, 1293, 1293, 1304, + 1305, 1308, 1309, 1310, 1315, 1315, 1325, 1325, 1335, 1336, + 1337, 1340, 1343, 1344, 1347, 1347, 1356, 1356, 1365, 1365, + 1377, 1378, 1379, 1384, 1385, 1386, 1387, 1388, 1389, 1392, + 1398, 1404, 1410, 1416, 1422, 1431, 1431, 1445, 1446, 1449, + 1450, 1451, 1460, 1460, 1486, 1486, 1497, 1498, 1499, 1505, + 1506, 1507, 1508, 1509, 1510, 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, + 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, + 1546, 1547, 1548, 1549, 1552, 1552, 1561, 1561, 1570, 1570, + 1579, 1579, 1588, 1588, 1597, 1597, 1606, 1606, 1617, 1623, + 1629, 1635, 1635, 1643, 1644, 1645, 1646, 1649, 1657, 1657, + 1669, 1670, 1674, 1675, 1676, 1681, 1681, 1689, 1690, 1691, + 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, 1723, 1724, 1725, + 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, + 1742, 1742, 1756, 1756, 1765, 1766, 1769, 1770, 1771, 1778, + 1778, 1793, 1793, 1807, 1808, 1811, 1812, 1813, 1818, 1819, + 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1830, 1832, + 1838, 1840, 1840, 1849, 1849, 1858, 1858, 1867, 1869, 1869, + 1878, 1888, 1888, 1901, 1902, 1907, 1908, 1909, 1916, 1916, + 1928, 1928, 1940, 1941, 1946, 1947, 1948, 1955, 1956, 1957, + 1958, 1959, 1960, 1961, 1962, 1963, 1966, 1968, 1968, 1977, + 1979, 1981, 1987, 1996, 1996, 2009, 2010, 2013, 2014, 2015, + 2020, 2020, 2030, 2030, 2040, 2041, 2042, 2047, 2048, 2049, + 2050, 2051, 2052, 2053, 2056, 2056, 2065, 2065, 2090, 2090, + 2120, 2120, 2131, 2132, 2135, 2136, 2137, 2142, 2142, 2151, + 2151, 2160, 2161, 2164, 2165, 2166, 2172, 2173, 2174, 2175, + 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, + 2186, 2189, 2189, 2198, 2198, 2207, 2207, 2216, 2216, 2225, + 2225, 2236, 2236, 2245, 2245, 2254, 2254, 2263, 2263, 2272, + 2272, 2281, 2281, 2290, 2290, 2304, 2304, 2315, 2316, 2322, + 2322, 2333, 2334, 2335, 2340, 2340, 2350, 2351, 2354, 2355, + 2356, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, + 2370, 2371, 2372, 2373, 2374, 2377, 2379, 2379, 2388, 2396, + 2404, 2404, 2415, 2416, 2417, 2422, 2423, 2424, 2425, 2426, + 2429, 2429, 2438, 2438, 2450, 2450, 2463, 2464, 2465, 2470, + 2471, 2472, 2473, 2474, 2475, 2478, 2484, 2484, 2493, 2499, + 2499, 2509, 2509, 2522, 2522, 2532, 2533, 2534, 2539, 2540, + 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550, + 2551, 2552, 2553, 2554, 2555, 2556, 2559, 2565, 2565, 2574, + 2580, 2580, 2589, 2595, 2601, 2601, 2610, 2611, 2614, 2614, + 2624, 2624, 2634, 2641, 2648, 2648, 2657, 2657, 2667, 2667, + 2677, 2677, 2689, 2689, 2701, 2701, 2711, 2712, 2713, 2719, + 2720, 2723, 2723, 2734, 2742, 2742, 2755, 2756, 2757, 2763, + 2763, 2771, 2772, 2773, 2778, 2779, 2780, 2781, 2782, 2783, + 2784, 2787, 2793, 2793, 2802, 2802, 2813, 2814, 2815, 2820, + 2820, 2828, 2829, 2830, 2835, 2836, 2837, 2838, 2839, 2842, + 2842, 2851, 2857, 2863, 2869, 2869, 2878, 2878, 2889, 2890, + 2891, 2896, 2897, 2900 }; void @@ -6222,9 +6235,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 6226 "dhcp4_parser.cc" +#line 6239 "dhcp4_parser.cc" -#line 2898 "dhcp4_parser.yy" +#line 2906 "dhcp4_parser.yy" void diff --git a/src/bin/dhcp4/dhcp4_parser.h b/src/bin/dhcp4/dhcp4_parser.h index d865c54e77..4b69d7801d 100644 --- a/src/bin/dhcp4/dhcp4_parser.h +++ b/src/bin/dhcp4/dhcp4_parser.h @@ -676,36 +676,37 @@ namespace isc { namespace dhcp { TOKEN_WHEN_NOT_PRESENT = 432, // "when-not-present" TOKEN_HOSTNAME_CHAR_SET = 433, // "hostname-char-set" TOKEN_HOSTNAME_CHAR_REPLACEMENT = 434, // "hostname-char-replacement" - TOKEN_IP_RESERVATIONS_UNIQUE = 435, // "ip-reservations-unique" - TOKEN_RESERVATIONS_LOOKUP_FIRST = 436, // "reservations-lookup-first" - TOKEN_LOGGERS = 437, // "loggers" - TOKEN_OUTPUT_OPTIONS = 438, // "output_options" - TOKEN_OUTPUT = 439, // "output" - TOKEN_DEBUGLEVEL = 440, // "debuglevel" - TOKEN_SEVERITY = 441, // "severity" - TOKEN_FLUSH = 442, // "flush" - TOKEN_MAXSIZE = 443, // "maxsize" - TOKEN_MAXVER = 444, // "maxver" - TOKEN_PATTERN = 445, // "pattern" - TOKEN_COMPATIBILITY = 446, // "compatibility" - TOKEN_LENIENT_OPTION_PARSING = 447, // "lenient-option-parsing" - TOKEN_TOPLEVEL_JSON = 448, // TOPLEVEL_JSON - TOKEN_TOPLEVEL_DHCP4 = 449, // TOPLEVEL_DHCP4 - TOKEN_SUB_DHCP4 = 450, // SUB_DHCP4 - TOKEN_SUB_INTERFACES4 = 451, // SUB_INTERFACES4 - TOKEN_SUB_SUBNET4 = 452, // SUB_SUBNET4 - TOKEN_SUB_POOL4 = 453, // SUB_POOL4 - TOKEN_SUB_RESERVATION = 454, // SUB_RESERVATION - TOKEN_SUB_OPTION_DEFS = 455, // SUB_OPTION_DEFS - TOKEN_SUB_OPTION_DEF = 456, // SUB_OPTION_DEF - TOKEN_SUB_OPTION_DATA = 457, // SUB_OPTION_DATA - TOKEN_SUB_HOOKS_LIBRARY = 458, // SUB_HOOKS_LIBRARY - TOKEN_SUB_DHCP_DDNS = 459, // SUB_DHCP_DDNS - TOKEN_SUB_CONFIG_CONTROL = 460, // SUB_CONFIG_CONTROL - TOKEN_STRING = 461, // "constant string" - TOKEN_INTEGER = 462, // "integer" - TOKEN_FLOAT = 463, // "floating point" - TOKEN_BOOLEAN = 464 // "boolean" + TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 435, // "early-global-reservations-lookup" + TOKEN_IP_RESERVATIONS_UNIQUE = 436, // "ip-reservations-unique" + TOKEN_RESERVATIONS_LOOKUP_FIRST = 437, // "reservations-lookup-first" + TOKEN_LOGGERS = 438, // "loggers" + TOKEN_OUTPUT_OPTIONS = 439, // "output_options" + TOKEN_OUTPUT = 440, // "output" + TOKEN_DEBUGLEVEL = 441, // "debuglevel" + TOKEN_SEVERITY = 442, // "severity" + TOKEN_FLUSH = 443, // "flush" + TOKEN_MAXSIZE = 444, // "maxsize" + TOKEN_MAXVER = 445, // "maxver" + TOKEN_PATTERN = 446, // "pattern" + TOKEN_COMPATIBILITY = 447, // "compatibility" + TOKEN_LENIENT_OPTION_PARSING = 448, // "lenient-option-parsing" + TOKEN_TOPLEVEL_JSON = 449, // TOPLEVEL_JSON + TOKEN_TOPLEVEL_DHCP4 = 450, // TOPLEVEL_DHCP4 + TOKEN_SUB_DHCP4 = 451, // SUB_DHCP4 + TOKEN_SUB_INTERFACES4 = 452, // SUB_INTERFACES4 + TOKEN_SUB_SUBNET4 = 453, // SUB_SUBNET4 + TOKEN_SUB_POOL4 = 454, // SUB_POOL4 + TOKEN_SUB_RESERVATION = 455, // SUB_RESERVATION + TOKEN_SUB_OPTION_DEFS = 456, // SUB_OPTION_DEFS + TOKEN_SUB_OPTION_DEF = 457, // SUB_OPTION_DEF + TOKEN_SUB_OPTION_DATA = 458, // SUB_OPTION_DATA + TOKEN_SUB_HOOKS_LIBRARY = 459, // SUB_HOOKS_LIBRARY + TOKEN_SUB_DHCP_DDNS = 460, // SUB_DHCP_DDNS + TOKEN_SUB_CONFIG_CONTROL = 461, // SUB_CONFIG_CONTROL + TOKEN_STRING = 462, // "constant string" + TOKEN_INTEGER = 463, // "integer" + TOKEN_FLOAT = 464, // "floating point" + TOKEN_BOOLEAN = 465 // "boolean" }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -722,7 +723,7 @@ namespace isc { namespace dhcp { { enum symbol_kind_type { - YYNTOKENS = 210, ///< Number of tokens. + YYNTOKENS = 211, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -904,465 +905,467 @@ namespace isc { namespace dhcp { S_WHEN_NOT_PRESENT = 177, // "when-not-present" S_HOSTNAME_CHAR_SET = 178, // "hostname-char-set" S_HOSTNAME_CHAR_REPLACEMENT = 179, // "hostname-char-replacement" - S_IP_RESERVATIONS_UNIQUE = 180, // "ip-reservations-unique" - S_RESERVATIONS_LOOKUP_FIRST = 181, // "reservations-lookup-first" - S_LOGGERS = 182, // "loggers" - S_OUTPUT_OPTIONS = 183, // "output_options" - S_OUTPUT = 184, // "output" - S_DEBUGLEVEL = 185, // "debuglevel" - S_SEVERITY = 186, // "severity" - S_FLUSH = 187, // "flush" - S_MAXSIZE = 188, // "maxsize" - S_MAXVER = 189, // "maxver" - S_PATTERN = 190, // "pattern" - S_COMPATIBILITY = 191, // "compatibility" - S_LENIENT_OPTION_PARSING = 192, // "lenient-option-parsing" - S_TOPLEVEL_JSON = 193, // TOPLEVEL_JSON - S_TOPLEVEL_DHCP4 = 194, // TOPLEVEL_DHCP4 - S_SUB_DHCP4 = 195, // SUB_DHCP4 - S_SUB_INTERFACES4 = 196, // SUB_INTERFACES4 - S_SUB_SUBNET4 = 197, // SUB_SUBNET4 - S_SUB_POOL4 = 198, // SUB_POOL4 - S_SUB_RESERVATION = 199, // SUB_RESERVATION - S_SUB_OPTION_DEFS = 200, // SUB_OPTION_DEFS - S_SUB_OPTION_DEF = 201, // SUB_OPTION_DEF - S_SUB_OPTION_DATA = 202, // SUB_OPTION_DATA - S_SUB_HOOKS_LIBRARY = 203, // SUB_HOOKS_LIBRARY - S_SUB_DHCP_DDNS = 204, // SUB_DHCP_DDNS - S_SUB_CONFIG_CONTROL = 205, // SUB_CONFIG_CONTROL - S_STRING = 206, // "constant string" - S_INTEGER = 207, // "integer" - S_FLOAT = 208, // "floating point" - S_BOOLEAN = 209, // "boolean" - S_YYACCEPT = 210, // $accept - S_start = 211, // start - S_212_1 = 212, // $@1 - S_213_2 = 213, // $@2 - S_214_3 = 214, // $@3 - S_215_4 = 215, // $@4 - S_216_5 = 216, // $@5 - S_217_6 = 217, // $@6 - S_218_7 = 218, // $@7 - S_219_8 = 219, // $@8 - S_220_9 = 220, // $@9 - S_221_10 = 221, // $@10 - S_222_11 = 222, // $@11 - S_223_12 = 223, // $@12 - S_224_13 = 224, // $@13 - S_value = 225, // value - S_sub_json = 226, // sub_json - S_map2 = 227, // map2 - S_228_14 = 228, // $@14 - S_map_value = 229, // map_value - S_map_content = 230, // map_content - S_not_empty_map = 231, // not_empty_map - S_list_generic = 232, // list_generic - S_233_15 = 233, // $@15 - S_list_content = 234, // list_content - S_not_empty_list = 235, // not_empty_list - S_list_strings = 236, // list_strings - S_237_16 = 237, // $@16 - S_list_strings_content = 238, // list_strings_content - S_not_empty_list_strings = 239, // not_empty_list_strings - S_unknown_map_entry = 240, // unknown_map_entry - S_syntax_map = 241, // syntax_map - S_242_17 = 242, // $@17 - S_global_object = 243, // global_object - S_244_18 = 244, // $@18 - S_global_object_comma = 245, // global_object_comma - S_sub_dhcp4 = 246, // sub_dhcp4 - S_247_19 = 247, // $@19 - S_global_params = 248, // global_params - S_global_param = 249, // global_param - S_valid_lifetime = 250, // valid_lifetime - S_min_valid_lifetime = 251, // min_valid_lifetime - S_max_valid_lifetime = 252, // max_valid_lifetime - S_renew_timer = 253, // renew_timer - S_rebind_timer = 254, // rebind_timer - S_calculate_tee_times = 255, // calculate_tee_times - S_t1_percent = 256, // t1_percent - S_t2_percent = 257, // t2_percent - S_cache_threshold = 258, // cache_threshold - S_cache_max_age = 259, // cache_max_age - S_decline_probation_period = 260, // decline_probation_period - S_server_tag = 261, // server_tag - S_262_20 = 262, // $@20 - S_parked_packet_limit = 263, // parked_packet_limit - S_echo_client_id = 264, // echo_client_id - S_match_client_id = 265, // match_client_id - S_authoritative = 266, // authoritative - S_ddns_send_updates = 267, // ddns_send_updates - S_ddns_override_no_update = 268, // ddns_override_no_update - S_ddns_override_client_update = 269, // ddns_override_client_update - S_ddns_replace_client_name = 270, // ddns_replace_client_name - S_271_21 = 271, // $@21 - S_ddns_replace_client_name_value = 272, // ddns_replace_client_name_value - S_ddns_generated_prefix = 273, // ddns_generated_prefix - S_274_22 = 274, // $@22 - S_ddns_qualifying_suffix = 275, // ddns_qualifying_suffix - S_276_23 = 276, // $@23 - S_ddns_update_on_renew = 277, // ddns_update_on_renew - S_ddns_use_conflict_resolution = 278, // ddns_use_conflict_resolution - S_hostname_char_set = 279, // hostname_char_set - S_280_24 = 280, // $@24 - S_hostname_char_replacement = 281, // hostname_char_replacement - S_282_25 = 282, // $@25 - S_store_extended_info = 283, // store_extended_info - S_statistic_default_sample_count = 284, // statistic_default_sample_count - S_statistic_default_sample_age = 285, // statistic_default_sample_age - S_ip_reservations_unique = 286, // ip_reservations_unique - S_reservations_lookup_first = 287, // reservations_lookup_first - S_interfaces_config = 288, // interfaces_config - S_289_26 = 289, // $@26 - S_interfaces_config_params = 290, // interfaces_config_params - S_interfaces_config_param = 291, // interfaces_config_param - S_sub_interfaces4 = 292, // sub_interfaces4 - S_293_27 = 293, // $@27 - S_interfaces_list = 294, // interfaces_list - S_295_28 = 295, // $@28 - S_dhcp_socket_type = 296, // dhcp_socket_type - S_297_29 = 297, // $@29 - S_socket_type = 298, // socket_type - S_outbound_interface = 299, // outbound_interface - S_300_30 = 300, // $@30 - S_outbound_interface_value = 301, // outbound_interface_value - S_re_detect = 302, // re_detect - S_lease_database = 303, // lease_database - S_304_31 = 304, // $@31 - S_sanity_checks = 305, // sanity_checks - S_306_32 = 306, // $@32 - S_sanity_checks_params = 307, // sanity_checks_params - S_sanity_checks_param = 308, // sanity_checks_param - S_lease_checks = 309, // lease_checks - S_310_33 = 310, // $@33 - S_hosts_database = 311, // hosts_database - S_312_34 = 312, // $@34 - S_hosts_databases = 313, // hosts_databases - S_314_35 = 314, // $@35 - S_database_list = 315, // database_list - S_not_empty_database_list = 316, // not_empty_database_list - S_database = 317, // database - S_318_36 = 318, // $@36 - S_database_map_params = 319, // database_map_params - S_database_map_param = 320, // database_map_param - S_database_type = 321, // database_type - S_322_37 = 322, // $@37 - S_db_type = 323, // db_type - S_user = 324, // user - S_325_38 = 325, // $@38 - S_password = 326, // password - S_327_39 = 327, // $@39 - S_host = 328, // host - S_329_40 = 329, // $@40 - S_port = 330, // port - S_name = 331, // name - S_332_41 = 332, // $@41 - S_persist = 333, // persist - S_lfc_interval = 334, // lfc_interval - S_readonly = 335, // readonly - S_connect_timeout = 336, // connect_timeout - S_request_timeout = 337, // request_timeout - S_tcp_keepalive = 338, // tcp_keepalive - S_tcp_nodelay = 339, // tcp_nodelay - S_contact_points = 340, // contact_points - S_341_42 = 341, // $@42 - S_keyspace = 342, // keyspace - S_343_43 = 343, // $@43 - S_consistency = 344, // consistency - S_345_44 = 345, // $@44 - S_serial_consistency = 346, // serial_consistency - S_347_45 = 347, // $@45 - S_max_reconnect_tries = 348, // max_reconnect_tries - S_reconnect_wait_time = 349, // reconnect_wait_time - S_on_fail = 350, // on_fail - S_351_46 = 351, // $@46 - S_on_fail_mode = 352, // on_fail_mode - S_max_row_errors = 353, // max_row_errors - S_trust_anchor = 354, // trust_anchor - S_355_47 = 355, // $@47 - S_cert_file = 356, // cert_file - S_357_48 = 357, // $@48 - S_key_file = 358, // key_file - S_359_49 = 359, // $@49 - S_cipher_list = 360, // cipher_list - S_361_50 = 361, // $@50 - S_host_reservation_identifiers = 362, // host_reservation_identifiers - S_363_51 = 363, // $@51 - S_host_reservation_identifiers_list = 364, // host_reservation_identifiers_list - S_host_reservation_identifier = 365, // host_reservation_identifier - S_duid_id = 366, // duid_id - S_hw_address_id = 367, // hw_address_id - S_circuit_id = 368, // circuit_id - S_client_id = 369, // client_id - S_flex_id = 370, // flex_id - S_dhcp_multi_threading = 371, // dhcp_multi_threading - S_372_52 = 372, // $@52 - S_multi_threading_params = 373, // multi_threading_params - S_multi_threading_param = 374, // multi_threading_param - S_enable_multi_threading = 375, // enable_multi_threading - S_thread_pool_size = 376, // thread_pool_size - S_packet_queue_size = 377, // packet_queue_size - S_hooks_libraries = 378, // hooks_libraries - S_379_53 = 379, // $@53 - S_hooks_libraries_list = 380, // hooks_libraries_list - S_not_empty_hooks_libraries_list = 381, // not_empty_hooks_libraries_list - S_hooks_library = 382, // hooks_library - S_383_54 = 383, // $@54 - S_sub_hooks_library = 384, // sub_hooks_library - S_385_55 = 385, // $@55 - S_hooks_params = 386, // hooks_params - S_hooks_param = 387, // hooks_param - S_library = 388, // library - S_389_56 = 389, // $@56 - S_parameters = 390, // parameters - S_391_57 = 391, // $@57 - S_expired_leases_processing = 392, // expired_leases_processing - S_393_58 = 393, // $@58 - S_expired_leases_params = 394, // expired_leases_params - S_expired_leases_param = 395, // expired_leases_param - S_reclaim_timer_wait_time = 396, // reclaim_timer_wait_time - S_flush_reclaimed_timer_wait_time = 397, // flush_reclaimed_timer_wait_time - S_hold_reclaimed_time = 398, // hold_reclaimed_time - S_max_reclaim_leases = 399, // max_reclaim_leases - S_max_reclaim_time = 400, // max_reclaim_time - S_unwarned_reclaim_cycles = 401, // unwarned_reclaim_cycles - S_subnet4_list = 402, // subnet4_list - S_403_59 = 403, // $@59 - S_subnet4_list_content = 404, // subnet4_list_content - S_not_empty_subnet4_list = 405, // not_empty_subnet4_list - S_subnet4 = 406, // subnet4 - S_407_60 = 407, // $@60 - S_sub_subnet4 = 408, // sub_subnet4 - S_409_61 = 409, // $@61 - S_subnet4_params = 410, // subnet4_params - S_subnet4_param = 411, // subnet4_param - S_subnet = 412, // subnet - S_413_62 = 413, // $@62 - S_subnet_4o6_interface = 414, // subnet_4o6_interface - S_415_63 = 415, // $@63 - S_subnet_4o6_interface_id = 416, // subnet_4o6_interface_id - S_417_64 = 417, // $@64 - S_subnet_4o6_subnet = 418, // subnet_4o6_subnet - S_419_65 = 419, // $@65 - S_interface = 420, // interface - S_421_66 = 421, // $@66 - S_client_class = 422, // client_class - S_423_67 = 423, // $@67 - S_require_client_classes = 424, // require_client_classes - S_425_68 = 425, // $@68 - S_reservations_global = 426, // reservations_global - S_reservations_in_subnet = 427, // reservations_in_subnet - S_reservations_out_of_pool = 428, // reservations_out_of_pool - S_reservation_mode = 429, // reservation_mode - S_430_69 = 430, // $@69 - S_hr_mode = 431, // hr_mode - S_id = 432, // id - S_shared_networks = 433, // shared_networks - S_434_70 = 434, // $@70 - S_shared_networks_content = 435, // shared_networks_content - S_shared_networks_list = 436, // shared_networks_list - S_shared_network = 437, // shared_network - S_438_71 = 438, // $@71 - S_shared_network_params = 439, // shared_network_params - S_shared_network_param = 440, // shared_network_param - S_option_def_list = 441, // option_def_list - S_442_72 = 442, // $@72 - S_sub_option_def_list = 443, // sub_option_def_list - S_444_73 = 444, // $@73 - S_option_def_list_content = 445, // option_def_list_content - S_not_empty_option_def_list = 446, // not_empty_option_def_list - S_option_def_entry = 447, // option_def_entry - S_448_74 = 448, // $@74 - S_sub_option_def = 449, // sub_option_def - S_450_75 = 450, // $@75 - S_option_def_params = 451, // option_def_params - S_not_empty_option_def_params = 452, // not_empty_option_def_params - S_option_def_param = 453, // option_def_param - S_option_def_name = 454, // option_def_name - S_code = 455, // code - S_option_def_code = 456, // option_def_code - S_option_def_type = 457, // option_def_type - S_458_76 = 458, // $@76 - S_option_def_record_types = 459, // option_def_record_types - S_460_77 = 460, // $@77 - S_space = 461, // space - S_462_78 = 462, // $@78 - S_option_def_space = 463, // option_def_space - S_option_def_encapsulate = 464, // option_def_encapsulate - S_465_79 = 465, // $@79 - S_option_def_array = 466, // option_def_array - S_option_data_list = 467, // option_data_list - S_468_80 = 468, // $@80 - S_option_data_list_content = 469, // option_data_list_content - S_not_empty_option_data_list = 470, // not_empty_option_data_list - S_option_data_entry = 471, // option_data_entry - S_472_81 = 472, // $@81 - S_sub_option_data = 473, // sub_option_data - S_474_82 = 474, // $@82 - S_option_data_params = 475, // option_data_params - S_not_empty_option_data_params = 476, // not_empty_option_data_params - S_option_data_param = 477, // option_data_param - S_option_data_name = 478, // option_data_name - S_option_data_data = 479, // option_data_data - S_480_83 = 480, // $@83 - S_option_data_code = 481, // option_data_code - S_option_data_space = 482, // option_data_space - S_option_data_csv_format = 483, // option_data_csv_format - S_option_data_always_send = 484, // option_data_always_send - S_pools_list = 485, // pools_list - S_486_84 = 486, // $@84 - S_pools_list_content = 487, // pools_list_content - S_not_empty_pools_list = 488, // not_empty_pools_list - S_pool_list_entry = 489, // pool_list_entry - S_490_85 = 490, // $@85 - S_sub_pool4 = 491, // sub_pool4 - S_492_86 = 492, // $@86 - S_pool_params = 493, // pool_params - S_pool_param = 494, // pool_param - S_pool_entry = 495, // pool_entry - S_496_87 = 496, // $@87 - S_user_context = 497, // user_context - S_498_88 = 498, // $@88 - S_comment = 499, // comment - S_500_89 = 500, // $@89 - S_reservations = 501, // reservations - S_502_90 = 502, // $@90 - S_reservations_list = 503, // reservations_list - S_not_empty_reservations_list = 504, // not_empty_reservations_list - S_reservation = 505, // reservation - S_506_91 = 506, // $@91 - S_sub_reservation = 507, // sub_reservation - S_508_92 = 508, // $@92 - S_reservation_params = 509, // reservation_params - S_not_empty_reservation_params = 510, // not_empty_reservation_params - S_reservation_param = 511, // reservation_param - S_next_server = 512, // next_server - S_513_93 = 513, // $@93 - S_server_hostname = 514, // server_hostname - S_515_94 = 515, // $@94 - S_boot_file_name = 516, // boot_file_name - S_517_95 = 517, // $@95 - S_ip_address = 518, // ip_address - S_519_96 = 519, // $@96 - S_ip_addresses = 520, // ip_addresses - S_521_97 = 521, // $@97 - S_duid = 522, // duid - S_523_98 = 523, // $@98 - S_hw_address = 524, // hw_address - S_525_99 = 525, // $@99 - S_client_id_value = 526, // client_id_value - S_527_100 = 527, // $@100 - S_circuit_id_value = 528, // circuit_id_value - S_529_101 = 529, // $@101 - S_flex_id_value = 530, // flex_id_value - S_531_102 = 531, // $@102 - S_hostname = 532, // hostname - S_533_103 = 533, // $@103 - S_reservation_client_classes = 534, // reservation_client_classes - S_535_104 = 535, // $@104 - S_relay = 536, // relay - S_537_105 = 537, // $@105 - S_relay_map = 538, // relay_map - S_client_classes = 539, // client_classes - S_540_106 = 540, // $@106 - S_client_classes_list = 541, // client_classes_list - S_client_class_entry = 542, // client_class_entry - S_543_107 = 543, // $@107 - S_client_class_params = 544, // client_class_params - S_not_empty_client_class_params = 545, // not_empty_client_class_params - S_client_class_param = 546, // client_class_param - S_client_class_name = 547, // client_class_name - S_client_class_test = 548, // client_class_test - S_549_108 = 549, // $@108 - S_only_if_required = 550, // only_if_required - S_dhcp4o6_port = 551, // dhcp4o6_port - S_control_socket = 552, // control_socket - S_553_109 = 553, // $@109 - S_control_socket_params = 554, // control_socket_params - S_control_socket_param = 555, // control_socket_param - S_control_socket_type = 556, // control_socket_type - S_557_110 = 557, // $@110 - S_control_socket_name = 558, // control_socket_name - S_559_111 = 559, // $@111 - S_dhcp_queue_control = 560, // dhcp_queue_control - S_561_112 = 561, // $@112 - S_queue_control_params = 562, // queue_control_params - S_queue_control_param = 563, // queue_control_param - S_enable_queue = 564, // enable_queue - S_queue_type = 565, // queue_type - S_566_113 = 566, // $@113 - S_capacity = 567, // capacity - S_arbitrary_map_entry = 568, // arbitrary_map_entry - S_569_114 = 569, // $@114 - S_dhcp_ddns = 570, // dhcp_ddns - S_571_115 = 571, // $@115 - S_sub_dhcp_ddns = 572, // sub_dhcp_ddns - S_573_116 = 573, // $@116 - S_dhcp_ddns_params = 574, // dhcp_ddns_params - S_dhcp_ddns_param = 575, // dhcp_ddns_param - S_enable_updates = 576, // enable_updates - S_server_ip = 577, // server_ip - S_578_117 = 578, // $@117 - S_server_port = 579, // server_port - S_sender_ip = 580, // sender_ip - S_581_118 = 581, // $@118 - S_sender_port = 582, // sender_port - S_max_queue_size = 583, // max_queue_size - S_ncr_protocol = 584, // ncr_protocol - S_585_119 = 585, // $@119 - S_ncr_protocol_value = 586, // ncr_protocol_value - S_ncr_format = 587, // ncr_format - S_588_120 = 588, // $@120 - S_dep_qualifying_suffix = 589, // dep_qualifying_suffix - S_590_121 = 590, // $@121 - S_dep_override_no_update = 591, // dep_override_no_update - S_dep_override_client_update = 592, // dep_override_client_update - S_dep_replace_client_name = 593, // dep_replace_client_name - S_594_122 = 594, // $@122 - S_dep_generated_prefix = 595, // dep_generated_prefix - S_596_123 = 596, // $@123 - S_dep_hostname_char_set = 597, // dep_hostname_char_set - S_598_124 = 598, // $@124 - S_dep_hostname_char_replacement = 599, // dep_hostname_char_replacement - S_600_125 = 600, // $@125 - S_config_control = 601, // config_control - S_602_126 = 602, // $@126 - S_sub_config_control = 603, // sub_config_control - S_604_127 = 604, // $@127 - S_config_control_params = 605, // config_control_params - S_config_control_param = 606, // config_control_param - S_config_databases = 607, // config_databases - S_608_128 = 608, // $@128 - S_config_fetch_wait_time = 609, // config_fetch_wait_time - S_loggers = 610, // loggers - S_611_129 = 611, // $@129 - S_loggers_entries = 612, // loggers_entries - S_logger_entry = 613, // logger_entry - S_614_130 = 614, // $@130 - S_logger_params = 615, // logger_params - S_logger_param = 616, // logger_param - S_debuglevel = 617, // debuglevel - S_severity = 618, // severity - S_619_131 = 619, // $@131 - S_output_options_list = 620, // output_options_list - S_621_132 = 621, // $@132 - S_output_options_list_content = 622, // output_options_list_content - S_output_entry = 623, // output_entry - S_624_133 = 624, // $@133 - S_output_params_list = 625, // output_params_list - S_output_params = 626, // output_params - S_output = 627, // output - S_628_134 = 628, // $@134 - S_flush = 629, // flush - S_maxsize = 630, // maxsize - S_maxver = 631, // maxver - S_pattern = 632, // pattern - S_633_135 = 633, // $@135 - S_compatibility = 634, // compatibility - S_635_136 = 635, // $@136 - S_compatibility_params = 636, // compatibility_params - S_compatibility_param = 637, // compatibility_param - S_lenient_option_parsing = 638 // lenient_option_parsing + S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 180, // "early-global-reservations-lookup" + S_IP_RESERVATIONS_UNIQUE = 181, // "ip-reservations-unique" + S_RESERVATIONS_LOOKUP_FIRST = 182, // "reservations-lookup-first" + S_LOGGERS = 183, // "loggers" + S_OUTPUT_OPTIONS = 184, // "output_options" + S_OUTPUT = 185, // "output" + S_DEBUGLEVEL = 186, // "debuglevel" + S_SEVERITY = 187, // "severity" + S_FLUSH = 188, // "flush" + S_MAXSIZE = 189, // "maxsize" + S_MAXVER = 190, // "maxver" + S_PATTERN = 191, // "pattern" + S_COMPATIBILITY = 192, // "compatibility" + S_LENIENT_OPTION_PARSING = 193, // "lenient-option-parsing" + S_TOPLEVEL_JSON = 194, // TOPLEVEL_JSON + S_TOPLEVEL_DHCP4 = 195, // TOPLEVEL_DHCP4 + S_SUB_DHCP4 = 196, // SUB_DHCP4 + S_SUB_INTERFACES4 = 197, // SUB_INTERFACES4 + S_SUB_SUBNET4 = 198, // SUB_SUBNET4 + S_SUB_POOL4 = 199, // SUB_POOL4 + S_SUB_RESERVATION = 200, // SUB_RESERVATION + S_SUB_OPTION_DEFS = 201, // SUB_OPTION_DEFS + S_SUB_OPTION_DEF = 202, // SUB_OPTION_DEF + S_SUB_OPTION_DATA = 203, // SUB_OPTION_DATA + S_SUB_HOOKS_LIBRARY = 204, // SUB_HOOKS_LIBRARY + S_SUB_DHCP_DDNS = 205, // SUB_DHCP_DDNS + S_SUB_CONFIG_CONTROL = 206, // SUB_CONFIG_CONTROL + S_STRING = 207, // "constant string" + S_INTEGER = 208, // "integer" + S_FLOAT = 209, // "floating point" + S_BOOLEAN = 210, // "boolean" + S_YYACCEPT = 211, // $accept + S_start = 212, // start + S_213_1 = 213, // $@1 + S_214_2 = 214, // $@2 + S_215_3 = 215, // $@3 + S_216_4 = 216, // $@4 + S_217_5 = 217, // $@5 + S_218_6 = 218, // $@6 + S_219_7 = 219, // $@7 + S_220_8 = 220, // $@8 + S_221_9 = 221, // $@9 + S_222_10 = 222, // $@10 + S_223_11 = 223, // $@11 + S_224_12 = 224, // $@12 + S_225_13 = 225, // $@13 + S_value = 226, // value + S_sub_json = 227, // sub_json + S_map2 = 228, // map2 + S_229_14 = 229, // $@14 + S_map_value = 230, // map_value + S_map_content = 231, // map_content + S_not_empty_map = 232, // not_empty_map + S_list_generic = 233, // list_generic + S_234_15 = 234, // $@15 + S_list_content = 235, // list_content + S_not_empty_list = 236, // not_empty_list + S_list_strings = 237, // list_strings + S_238_16 = 238, // $@16 + S_list_strings_content = 239, // list_strings_content + S_not_empty_list_strings = 240, // not_empty_list_strings + S_unknown_map_entry = 241, // unknown_map_entry + S_syntax_map = 242, // syntax_map + S_243_17 = 243, // $@17 + S_global_object = 244, // global_object + S_245_18 = 245, // $@18 + S_global_object_comma = 246, // global_object_comma + S_sub_dhcp4 = 247, // sub_dhcp4 + S_248_19 = 248, // $@19 + S_global_params = 249, // global_params + S_global_param = 250, // global_param + S_valid_lifetime = 251, // valid_lifetime + S_min_valid_lifetime = 252, // min_valid_lifetime + S_max_valid_lifetime = 253, // max_valid_lifetime + S_renew_timer = 254, // renew_timer + S_rebind_timer = 255, // rebind_timer + S_calculate_tee_times = 256, // calculate_tee_times + S_t1_percent = 257, // t1_percent + S_t2_percent = 258, // t2_percent + S_cache_threshold = 259, // cache_threshold + S_cache_max_age = 260, // cache_max_age + S_decline_probation_period = 261, // decline_probation_period + S_server_tag = 262, // server_tag + S_263_20 = 263, // $@20 + S_parked_packet_limit = 264, // parked_packet_limit + S_echo_client_id = 265, // echo_client_id + S_match_client_id = 266, // match_client_id + S_authoritative = 267, // authoritative + S_ddns_send_updates = 268, // ddns_send_updates + S_ddns_override_no_update = 269, // ddns_override_no_update + S_ddns_override_client_update = 270, // ddns_override_client_update + S_ddns_replace_client_name = 271, // ddns_replace_client_name + S_272_21 = 272, // $@21 + S_ddns_replace_client_name_value = 273, // ddns_replace_client_name_value + S_ddns_generated_prefix = 274, // ddns_generated_prefix + S_275_22 = 275, // $@22 + S_ddns_qualifying_suffix = 276, // ddns_qualifying_suffix + S_277_23 = 277, // $@23 + S_ddns_update_on_renew = 278, // ddns_update_on_renew + S_ddns_use_conflict_resolution = 279, // ddns_use_conflict_resolution + S_hostname_char_set = 280, // hostname_char_set + S_281_24 = 281, // $@24 + S_hostname_char_replacement = 282, // hostname_char_replacement + S_283_25 = 283, // $@25 + S_store_extended_info = 284, // store_extended_info + S_statistic_default_sample_count = 285, // statistic_default_sample_count + S_statistic_default_sample_age = 286, // statistic_default_sample_age + S_early_global_reservations_lookup = 287, // early_global_reservations_lookup + S_ip_reservations_unique = 288, // ip_reservations_unique + S_reservations_lookup_first = 289, // reservations_lookup_first + S_interfaces_config = 290, // interfaces_config + S_291_26 = 291, // $@26 + S_interfaces_config_params = 292, // interfaces_config_params + S_interfaces_config_param = 293, // interfaces_config_param + S_sub_interfaces4 = 294, // sub_interfaces4 + S_295_27 = 295, // $@27 + S_interfaces_list = 296, // interfaces_list + S_297_28 = 297, // $@28 + S_dhcp_socket_type = 298, // dhcp_socket_type + S_299_29 = 299, // $@29 + S_socket_type = 300, // socket_type + S_outbound_interface = 301, // outbound_interface + S_302_30 = 302, // $@30 + S_outbound_interface_value = 303, // outbound_interface_value + S_re_detect = 304, // re_detect + S_lease_database = 305, // lease_database + S_306_31 = 306, // $@31 + S_sanity_checks = 307, // sanity_checks + S_308_32 = 308, // $@32 + S_sanity_checks_params = 309, // sanity_checks_params + S_sanity_checks_param = 310, // sanity_checks_param + S_lease_checks = 311, // lease_checks + S_312_33 = 312, // $@33 + S_hosts_database = 313, // hosts_database + S_314_34 = 314, // $@34 + S_hosts_databases = 315, // hosts_databases + S_316_35 = 316, // $@35 + S_database_list = 317, // database_list + S_not_empty_database_list = 318, // not_empty_database_list + S_database = 319, // database + S_320_36 = 320, // $@36 + S_database_map_params = 321, // database_map_params + S_database_map_param = 322, // database_map_param + S_database_type = 323, // database_type + S_324_37 = 324, // $@37 + S_db_type = 325, // db_type + S_user = 326, // user + S_327_38 = 327, // $@38 + S_password = 328, // password + S_329_39 = 329, // $@39 + S_host = 330, // host + S_331_40 = 331, // $@40 + S_port = 332, // port + S_name = 333, // name + S_334_41 = 334, // $@41 + S_persist = 335, // persist + S_lfc_interval = 336, // lfc_interval + S_readonly = 337, // readonly + S_connect_timeout = 338, // connect_timeout + S_request_timeout = 339, // request_timeout + S_tcp_keepalive = 340, // tcp_keepalive + S_tcp_nodelay = 341, // tcp_nodelay + S_contact_points = 342, // contact_points + S_343_42 = 343, // $@42 + S_keyspace = 344, // keyspace + S_345_43 = 345, // $@43 + S_consistency = 346, // consistency + S_347_44 = 347, // $@44 + S_serial_consistency = 348, // serial_consistency + S_349_45 = 349, // $@45 + S_max_reconnect_tries = 350, // max_reconnect_tries + S_reconnect_wait_time = 351, // reconnect_wait_time + S_on_fail = 352, // on_fail + S_353_46 = 353, // $@46 + S_on_fail_mode = 354, // on_fail_mode + S_max_row_errors = 355, // max_row_errors + S_trust_anchor = 356, // trust_anchor + S_357_47 = 357, // $@47 + S_cert_file = 358, // cert_file + S_359_48 = 359, // $@48 + S_key_file = 360, // key_file + S_361_49 = 361, // $@49 + S_cipher_list = 362, // cipher_list + S_363_50 = 363, // $@50 + S_host_reservation_identifiers = 364, // host_reservation_identifiers + S_365_51 = 365, // $@51 + S_host_reservation_identifiers_list = 366, // host_reservation_identifiers_list + S_host_reservation_identifier = 367, // host_reservation_identifier + S_duid_id = 368, // duid_id + S_hw_address_id = 369, // hw_address_id + S_circuit_id = 370, // circuit_id + S_client_id = 371, // client_id + S_flex_id = 372, // flex_id + S_dhcp_multi_threading = 373, // dhcp_multi_threading + S_374_52 = 374, // $@52 + S_multi_threading_params = 375, // multi_threading_params + S_multi_threading_param = 376, // multi_threading_param + S_enable_multi_threading = 377, // enable_multi_threading + S_thread_pool_size = 378, // thread_pool_size + S_packet_queue_size = 379, // packet_queue_size + S_hooks_libraries = 380, // hooks_libraries + S_381_53 = 381, // $@53 + S_hooks_libraries_list = 382, // hooks_libraries_list + S_not_empty_hooks_libraries_list = 383, // not_empty_hooks_libraries_list + S_hooks_library = 384, // hooks_library + S_385_54 = 385, // $@54 + S_sub_hooks_library = 386, // sub_hooks_library + S_387_55 = 387, // $@55 + S_hooks_params = 388, // hooks_params + S_hooks_param = 389, // hooks_param + S_library = 390, // library + S_391_56 = 391, // $@56 + S_parameters = 392, // parameters + S_393_57 = 393, // $@57 + S_expired_leases_processing = 394, // expired_leases_processing + S_395_58 = 395, // $@58 + S_expired_leases_params = 396, // expired_leases_params + S_expired_leases_param = 397, // expired_leases_param + S_reclaim_timer_wait_time = 398, // reclaim_timer_wait_time + S_flush_reclaimed_timer_wait_time = 399, // flush_reclaimed_timer_wait_time + S_hold_reclaimed_time = 400, // hold_reclaimed_time + S_max_reclaim_leases = 401, // max_reclaim_leases + S_max_reclaim_time = 402, // max_reclaim_time + S_unwarned_reclaim_cycles = 403, // unwarned_reclaim_cycles + S_subnet4_list = 404, // subnet4_list + S_405_59 = 405, // $@59 + S_subnet4_list_content = 406, // subnet4_list_content + S_not_empty_subnet4_list = 407, // not_empty_subnet4_list + S_subnet4 = 408, // subnet4 + S_409_60 = 409, // $@60 + S_sub_subnet4 = 410, // sub_subnet4 + S_411_61 = 411, // $@61 + S_subnet4_params = 412, // subnet4_params + S_subnet4_param = 413, // subnet4_param + S_subnet = 414, // subnet + S_415_62 = 415, // $@62 + S_subnet_4o6_interface = 416, // subnet_4o6_interface + S_417_63 = 417, // $@63 + S_subnet_4o6_interface_id = 418, // subnet_4o6_interface_id + S_419_64 = 419, // $@64 + S_subnet_4o6_subnet = 420, // subnet_4o6_subnet + S_421_65 = 421, // $@65 + S_interface = 422, // interface + S_423_66 = 423, // $@66 + S_client_class = 424, // client_class + S_425_67 = 425, // $@67 + S_require_client_classes = 426, // require_client_classes + S_427_68 = 427, // $@68 + S_reservations_global = 428, // reservations_global + S_reservations_in_subnet = 429, // reservations_in_subnet + S_reservations_out_of_pool = 430, // reservations_out_of_pool + S_reservation_mode = 431, // reservation_mode + S_432_69 = 432, // $@69 + S_hr_mode = 433, // hr_mode + S_id = 434, // id + S_shared_networks = 435, // shared_networks + S_436_70 = 436, // $@70 + S_shared_networks_content = 437, // shared_networks_content + S_shared_networks_list = 438, // shared_networks_list + S_shared_network = 439, // shared_network + S_440_71 = 440, // $@71 + S_shared_network_params = 441, // shared_network_params + S_shared_network_param = 442, // shared_network_param + S_option_def_list = 443, // option_def_list + S_444_72 = 444, // $@72 + S_sub_option_def_list = 445, // sub_option_def_list + S_446_73 = 446, // $@73 + S_option_def_list_content = 447, // option_def_list_content + S_not_empty_option_def_list = 448, // not_empty_option_def_list + S_option_def_entry = 449, // option_def_entry + S_450_74 = 450, // $@74 + S_sub_option_def = 451, // sub_option_def + S_452_75 = 452, // $@75 + S_option_def_params = 453, // option_def_params + S_not_empty_option_def_params = 454, // not_empty_option_def_params + S_option_def_param = 455, // option_def_param + S_option_def_name = 456, // option_def_name + S_code = 457, // code + S_option_def_code = 458, // option_def_code + S_option_def_type = 459, // option_def_type + S_460_76 = 460, // $@76 + S_option_def_record_types = 461, // option_def_record_types + S_462_77 = 462, // $@77 + S_space = 463, // space + S_464_78 = 464, // $@78 + S_option_def_space = 465, // option_def_space + S_option_def_encapsulate = 466, // option_def_encapsulate + S_467_79 = 467, // $@79 + S_option_def_array = 468, // option_def_array + S_option_data_list = 469, // option_data_list + S_470_80 = 470, // $@80 + S_option_data_list_content = 471, // option_data_list_content + S_not_empty_option_data_list = 472, // not_empty_option_data_list + S_option_data_entry = 473, // option_data_entry + S_474_81 = 474, // $@81 + S_sub_option_data = 475, // sub_option_data + S_476_82 = 476, // $@82 + S_option_data_params = 477, // option_data_params + S_not_empty_option_data_params = 478, // not_empty_option_data_params + S_option_data_param = 479, // option_data_param + S_option_data_name = 480, // option_data_name + S_option_data_data = 481, // option_data_data + S_482_83 = 482, // $@83 + S_option_data_code = 483, // option_data_code + S_option_data_space = 484, // option_data_space + S_option_data_csv_format = 485, // option_data_csv_format + S_option_data_always_send = 486, // option_data_always_send + S_pools_list = 487, // pools_list + S_488_84 = 488, // $@84 + S_pools_list_content = 489, // pools_list_content + S_not_empty_pools_list = 490, // not_empty_pools_list + S_pool_list_entry = 491, // pool_list_entry + S_492_85 = 492, // $@85 + S_sub_pool4 = 493, // sub_pool4 + S_494_86 = 494, // $@86 + S_pool_params = 495, // pool_params + S_pool_param = 496, // pool_param + S_pool_entry = 497, // pool_entry + S_498_87 = 498, // $@87 + S_user_context = 499, // user_context + S_500_88 = 500, // $@88 + S_comment = 501, // comment + S_502_89 = 502, // $@89 + S_reservations = 503, // reservations + S_504_90 = 504, // $@90 + S_reservations_list = 505, // reservations_list + S_not_empty_reservations_list = 506, // not_empty_reservations_list + S_reservation = 507, // reservation + S_508_91 = 508, // $@91 + S_sub_reservation = 509, // sub_reservation + S_510_92 = 510, // $@92 + S_reservation_params = 511, // reservation_params + S_not_empty_reservation_params = 512, // not_empty_reservation_params + S_reservation_param = 513, // reservation_param + S_next_server = 514, // next_server + S_515_93 = 515, // $@93 + S_server_hostname = 516, // server_hostname + S_517_94 = 517, // $@94 + S_boot_file_name = 518, // boot_file_name + S_519_95 = 519, // $@95 + S_ip_address = 520, // ip_address + S_521_96 = 521, // $@96 + S_ip_addresses = 522, // ip_addresses + S_523_97 = 523, // $@97 + S_duid = 524, // duid + S_525_98 = 525, // $@98 + S_hw_address = 526, // hw_address + S_527_99 = 527, // $@99 + S_client_id_value = 528, // client_id_value + S_529_100 = 529, // $@100 + S_circuit_id_value = 530, // circuit_id_value + S_531_101 = 531, // $@101 + S_flex_id_value = 532, // flex_id_value + S_533_102 = 533, // $@102 + S_hostname = 534, // hostname + S_535_103 = 535, // $@103 + S_reservation_client_classes = 536, // reservation_client_classes + S_537_104 = 537, // $@104 + S_relay = 538, // relay + S_539_105 = 539, // $@105 + S_relay_map = 540, // relay_map + S_client_classes = 541, // client_classes + S_542_106 = 542, // $@106 + S_client_classes_list = 543, // client_classes_list + S_client_class_entry = 544, // client_class_entry + S_545_107 = 545, // $@107 + S_client_class_params = 546, // client_class_params + S_not_empty_client_class_params = 547, // not_empty_client_class_params + S_client_class_param = 548, // client_class_param + S_client_class_name = 549, // client_class_name + S_client_class_test = 550, // client_class_test + S_551_108 = 551, // $@108 + S_only_if_required = 552, // only_if_required + S_dhcp4o6_port = 553, // dhcp4o6_port + S_control_socket = 554, // control_socket + S_555_109 = 555, // $@109 + S_control_socket_params = 556, // control_socket_params + S_control_socket_param = 557, // control_socket_param + S_control_socket_type = 558, // control_socket_type + S_559_110 = 559, // $@110 + S_control_socket_name = 560, // control_socket_name + S_561_111 = 561, // $@111 + S_dhcp_queue_control = 562, // dhcp_queue_control + S_563_112 = 563, // $@112 + S_queue_control_params = 564, // queue_control_params + S_queue_control_param = 565, // queue_control_param + S_enable_queue = 566, // enable_queue + S_queue_type = 567, // queue_type + S_568_113 = 568, // $@113 + S_capacity = 569, // capacity + S_arbitrary_map_entry = 570, // arbitrary_map_entry + S_571_114 = 571, // $@114 + S_dhcp_ddns = 572, // dhcp_ddns + S_573_115 = 573, // $@115 + S_sub_dhcp_ddns = 574, // sub_dhcp_ddns + S_575_116 = 575, // $@116 + S_dhcp_ddns_params = 576, // dhcp_ddns_params + S_dhcp_ddns_param = 577, // dhcp_ddns_param + S_enable_updates = 578, // enable_updates + S_server_ip = 579, // server_ip + S_580_117 = 580, // $@117 + S_server_port = 581, // server_port + S_sender_ip = 582, // sender_ip + S_583_118 = 583, // $@118 + S_sender_port = 584, // sender_port + S_max_queue_size = 585, // max_queue_size + S_ncr_protocol = 586, // ncr_protocol + S_587_119 = 587, // $@119 + S_ncr_protocol_value = 588, // ncr_protocol_value + S_ncr_format = 589, // ncr_format + S_590_120 = 590, // $@120 + S_dep_qualifying_suffix = 591, // dep_qualifying_suffix + S_592_121 = 592, // $@121 + S_dep_override_no_update = 593, // dep_override_no_update + S_dep_override_client_update = 594, // dep_override_client_update + S_dep_replace_client_name = 595, // dep_replace_client_name + S_596_122 = 596, // $@122 + S_dep_generated_prefix = 597, // dep_generated_prefix + S_598_123 = 598, // $@123 + S_dep_hostname_char_set = 599, // dep_hostname_char_set + S_600_124 = 600, // $@124 + S_dep_hostname_char_replacement = 601, // dep_hostname_char_replacement + S_602_125 = 602, // $@125 + S_config_control = 603, // config_control + S_604_126 = 604, // $@126 + S_sub_config_control = 605, // sub_config_control + S_606_127 = 606, // $@127 + S_config_control_params = 607, // config_control_params + S_config_control_param = 608, // config_control_param + S_config_databases = 609, // config_databases + S_610_128 = 610, // $@128 + S_config_fetch_wait_time = 611, // config_fetch_wait_time + S_loggers = 612, // loggers + S_613_129 = 613, // $@129 + S_loggers_entries = 614, // loggers_entries + S_logger_entry = 615, // logger_entry + S_616_130 = 616, // $@130 + S_logger_params = 617, // logger_params + S_logger_param = 618, // logger_param + S_debuglevel = 619, // debuglevel + S_severity = 620, // severity + S_621_131 = 621, // $@131 + S_output_options_list = 622, // output_options_list + S_623_132 = 623, // $@132 + S_output_options_list_content = 624, // output_options_list_content + S_output_entry = 625, // output_entry + S_626_133 = 626, // $@133 + S_output_params_list = 627, // output_params_list + S_output_params = 628, // output_params + S_output = 629, // output + S_630_134 = 630, // $@134 + S_flush = 631, // flush + S_maxsize = 632, // maxsize + S_maxver = 633, // maxver + S_pattern = 634, // pattern + S_635_135 = 635, // $@135 + S_compatibility = 636, // compatibility + S_637_136 = 637, // $@136 + S_compatibility_params = 638, // compatibility_params + S_compatibility_param = 639, // compatibility_param + S_lenient_option_parsing = 640 // lenient_option_parsing }; }; @@ -4472,6 +4475,21 @@ switch (yykind) #if 201103L <= YY_CPLUSPLUS static symbol_type + make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (location_type l) + { + return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, std::move (l)); + } +#else + static + symbol_type + make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (const location_type& l) + { + return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type make_IP_RESERVATIONS_UNIQUE (location_type l) { return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l)); @@ -5249,8 +5267,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 1279, ///< Last index in yytable_. - yynnts_ = 429, ///< Number of nonterminal symbols. + yylast_ = 1283, ///< Last index in yytable_. + yynnts_ = 430, ///< Number of nonterminal symbols. yyfinal_ = 28 ///< Termination state number. }; @@ -5316,10 +5334,10 @@ switch (yykind) 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209 + 205, 206, 207, 208, 209, 210 }; // Last valid token kind. - const int code_max = 464; + const int code_max = 465; if (t <= 0) return symbol_kind::S_YYEOF; @@ -5492,7 +5510,7 @@ switch (yykind) #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 5496 "dhcp4_parser.h" +#line 5514 "dhcp4_parser.h" diff --git a/src/bin/dhcp4/location.hh b/src/bin/dhcp4/location.hh index 860fbfa0c9..6ad5b0db7a 100644 --- a/src/bin/dhcp4/location.hh +++ b/src/bin/dhcp4/location.hh @@ -1,3 +1,4 @@ +// Generated 202202042039 // A Bison parser, made by GNU Bison 3.8.2. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp6/dhcp6_lexer.cc b/src/bin/dhcp6/dhcp6_lexer.cc index a3d535f420..13bfc42733 100644 --- a/src/bin/dhcp6/dhcp6_lexer.cc +++ b/src/bin/dhcp6/dhcp6_lexer.cc @@ -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 225 -#define YY_END_OF_BUFFER 226 +#define YY_NUM_RULES 226 +#define YY_END_OF_BUFFER 227 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,35 +700,35 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[2093] = +static const flex_int16_t yy_accept[2125] = { 0, - 218, 218, 0, 0, 0, 0, 0, 0, 0, 0, - 226, 224, 10, 11, 224, 1, 218, 215, 218, 218, - 224, 217, 216, 224, 224, 224, 224, 224, 211, 212, - 224, 224, 224, 213, 214, 5, 5, 5, 224, 224, - 224, 10, 11, 0, 0, 206, 0, 0, 0, 0, + 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, + 227, 225, 10, 11, 225, 1, 219, 216, 219, 219, + 225, 218, 217, 225, 225, 225, 225, 225, 212, 213, + 225, 225, 225, 214, 215, 5, 5, 5, 225, 225, + 225, 10, 11, 0, 0, 207, 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, 218, 218, - 0, 217, 218, 3, 2, 6, 0, 218, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 9, 0, 207, + 0, 0, 0, 0, 0, 0, 0, 1, 219, 219, + 0, 218, 219, 3, 2, 6, 0, 219, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 9, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 210, 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, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, - 0, 0, 0, 8, 0, 0, 176, 0, 0, 177, + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 8, 0, 0, 176, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 208, 210, 0, + 177, 0, 0, 0, 0, 0, 0, 0, 209, 211, 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, 123, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 123, 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, @@ -736,115 +736,116 @@ static const flex_int16_t yy_accept[2093] = 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, 223, 221, 0, 220, 219, - 0, 0, 0, 0, 0, 175, 0, 28, 0, 27, - 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, + 0, 0, 0, 0, 0, 0, 0, 224, 222, 0, + 221, 220, 0, 0, 0, 0, 0, 175, 0, 28, + 0, 27, 0, 0, 130, 0, 0, 0, 0, 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, 0, - 0, 0, 0, 0, 127, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 127, 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, 222, 219, - 0, 0, 0, 0, 29, 0, 31, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, - 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, - 0, 0, 0, 0, 0, 160, 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, 223, 220, 0, 0, 0, 0, 29, 0, 31, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 134, 0, 0, 0, 0, 0, 0, 0, 0, 108, + 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, + 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, 0, 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 117, 0, 59, 0, 0, 0, 0, + 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 117, 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, 0, 0, 0, 0, - 155, 0, 180, 0, 51, 0, 56, 0, 0, 0, - 0, 37, 34, 33, 0, 0, 0, 168, 0, 0, + 0, 0, 0, 0, 155, 0, 180, 0, 51, 0, + 56, 0, 0, 0, 0, 37, 34, 33, 0, 0, + 0, 168, 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, 146, 0, 0, + 0, 0, 0, 0, 0, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 146, 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, 53, 0, 0, 32, + 0, 53, 0, 0, 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, + 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 35, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, + 0, 0, 0, 0, 129, 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, 148, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 112, 0, 0, + 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 112, 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, 120, 0, 0, 0, + 0, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, + 0, 0, 0, 119, 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, 163, + 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 173, 143, - 0, 0, 0, 0, 0, 0, 0, 147, 52, 0, - 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 149, 0, 60, 0, 0, 0, + 0, 0, 0, 0, 0, 173, 143, 0, 0, 0, + 0, 0, 0, 0, 147, 52, 0, 0, 0, 0, + 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 149, 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, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, + 0, 0, 0, 0, 200, 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, 126, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, - 0, 0, 0, 0, 0, 79, 63, 0, 0, 0, + 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, + 0, 0, 0, 79, 63, 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, 57, 111, 0, 0, 0, 159, 0, 0, - 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 57, 111, 0, 0, 0, 159, 0, 0, 0, 0, + 50, 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, 0, 0, 0, 0, - 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, + 151, 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, 201, 0, 0, + 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, + 0, 0, 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 121, 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, 41, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 16, 0, 0, 0, 174, - 14, 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, 0, 174, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, - 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 161, 178, 0, 40, 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 161, 178, 0, 40, 0, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 105, 0, 0, 0, 0, 0, 172, 0, 54, 0, 113, 0, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -853,86 +854,88 @@ static const flex_int16_t yy_accept[2093] = 0, 0, 0, 0, 0, 109, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, - 0, 0, 0, 135, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 106, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 87, 0, 0, 0, 0, 0, 0, 17, 0, 0, - 15, 0, 196, 195, 0, 0, 0, 0, 73, 0, - 0, 0, 0, 0, 0, 30, 0, 0, 0, 154, + 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 106, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 122, 0, 158, 0, 43, 0, 0, - - 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, - 124, 88, 0, 0, 166, 0, 0, 0, 0, 0, - 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 77, 0, 118, 0, 0, 142, 0, 0, - 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, - 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 87, 0, 0, 0, 0, 0, 0, 17, 0, + 0, 15, 0, 196, 195, 0, 0, 0, 0, 73, + 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, + 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 189, 0, 0, 198, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 122, 0, 158, 0, 43, + 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, + 0, 0, 124, 88, 0, 0, 166, 0, 0, 0, + 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 77, 0, 118, 0, 0, 142, + 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, + 0, 0, 0, 0, 181, 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, 0, 0, 0, - 0, 0, 72, 0, 0, 0, 0, 0, 0, 152, - 47, 0, 0, 0, 74, 194, 38, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, - 0, 0, 44, 0, 0, 18, 0, 0, 0, 76, - 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, + 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, + 0, 0, 152, 47, 0, 0, 0, 74, 194, 38, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 0, 44, 0, 0, 18, + 0, 0, 0, 76, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 84, 0, 141, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 114, 0, 0, 0, 0, 0, 171, 0, 0, 0, - 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 104, 0, 68, 0, 0, 0, 36, - 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, - - 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, - 0, 69, 0, 0, 192, 0, 0, 0, 0, 0, - 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 25, 39, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, - 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 84, 0, 141, 0, + 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 114, 0, 0, 0, 0, + 0, 171, 0, 0, 0, 46, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, + 68, 0, 0, 0, 36, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 186, 0, 86, 0, - 85, 0, 21, 0, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 65, 0, 0, 0, 0, 138, + 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 115, 0, 0, 185, 0, 0, 0, 0, 0, 75, - 0, 0, 91, 0, 66, 0, 23, 0, 131, 0, - 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, - 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, + 125, 0, 0, 0, 0, 0, 0, 69, 0, 0, + 192, 0, 0, 0, 0, 0, 0, 0, 0, 94, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 25, 39, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 70, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 197, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 186, 0, 86, 0, 85, 0, + 21, 0, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 65, 0, 0, 0, 0, 138, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, + 0, 0, 185, 0, 0, 0, 0, 0, 75, 0, + 0, 91, 0, 66, 0, 23, 0, 131, 0, 0, + 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, + 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 49, 0, 0, 99, 0, 0, 0, 191, 0, 0, - 0, 0, 202, 205, 83, 82, 22, 0, 136, 153, - 132, 0, 0, 0, 0, 0, 95, 0, 0, 0, - 0, 0, 0, 0, 183, 0, 0, 0, 188, 0, - 97, 0, 89, 0, 0, 0, 0, 0, 133, 0, - 0, 0, 182, 0, 0, 26, 203, 0, 0, 0, - 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, - 0, 101, 0, 137, 93, 0, 0, 0, 0, 92, - 184, 0 + 0, 70, 0, 0, 0, 98, 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, 49, 0, 0, 99, 0, 0, 0, 0, 191, + 0, 0, 0, 0, 203, 206, 83, 82, 22, 0, + 136, 153, 132, 0, 0, 0, 0, 0, 95, 0, + 0, 0, 0, 0, 0, 0, 0, 183, 0, 0, + 0, 188, 0, 97, 0, 89, 0, 0, 0, 0, + 0, 0, 133, 0, 0, 0, 0, 182, 0, 0, + 26, 204, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 96, 0, 0, 0, 0, 0, 0, 101, 0, + 0, 137, 93, 0, 0, 0, 0, 0, 0, 92, + 0, 184, 202, 0 } ; static const YY_CHAR yy_ec[256] = @@ -979,270 +982,274 @@ static const YY_CHAR yy_meta[74] = 1, 1, 1 } ; -static const flex_int16_t yy_base[2101] = +static const flex_int16_t yy_base[2133] = { 0, 0, 72, 21, 31, 43, 51, 54, 60, 91, 99, - 2482, 2483, 34, 2478, 145, 0, 207, 2483, 214, 221, - 13, 228, 2483, 2458, 118, 25, 2, 6, 2483, 2483, - 73, 11, 17, 2483, 2483, 2483, 104, 2466, 2419, 0, - 2456, 108, 2473, 24, 256, 2483, 67, 2422, 2442, 84, - 75, 2442, 88, 226, 91, 89, 284, 196, 206, 279, - 203, 235, 197, 60, 216, 2422, 286, 288, 253, 300, - 314, 2405, 223, 319, 366, 329, 2424, 0, 380, 388, - 417, 425, 394, 2483, 0, 2483, 431, 439, 219, 269, - 229, 299, 313, 310, 2483, 2421, 2462, 2483, 346, 2483, - - 445, 322, 2419, 2460, 326, 10, 362, 383, 352, 421, - 428, 433, 2459, 0, 506, 423, 2401, 413, 2400, 2401, - 2407, 418, 2403, 2392, 2393, 2398, 370, 2408, 2391, 2400, - 327, 172, 321, 2394, 2392, 408, 2381, 2439, 419, 2384, - 2437, 2377, 239, 2398, 2398, 2392, 416, 2385, 2383, 2384, - 2376, 2381, 2375, 427, 2386, 460, 2371, 2370, 2384, 434, - 2422, 2369, 442, 2381, 440, 2369, 502, 2370, 476, 2382, - 2379, 2380, 293, 2378, 2413, 2412, 439, 2358, 2358, 2362, - 441, 2358, 2350, 2367, 2359, 0, 445, 462, 451, 478, - 484, 468, 2358, 2483, 480, 2353, 2483, 480, 506, 2483, - - 2407, 501, 2406, 510, 2405, 508, 2404, 2483, 2483, 554, - 2403, 539, 2362, 2354, 2358, 2359, 2339, 2350, 2352, 2351, - 515, 524, 2394, 2388, 2352, 2333, 2330, 2338, 2344, 2332, - 2346, 2342, 2343, 2343, 2338, 2330, 2332, 2316, 2320, 2333, - 2335, 2332, 2324, 2314, 2317, 2331, 2483, 2317, 2325, 80, - 534, 2310, 2319, 2361, 2308, 2318, 2358, 547, 2317, 2356, - 2301, 2303, 2314, 2352, 547, 2356, 2310, 2290, 2305, 280, - 2295, 2301, 490, 2292, 2290, 2293, 2289, 2295, 2286, 2285, - 2298, 2291, 2281, 2292, 2296, 2295, 2289, 527, 2296, 2291, - 2283, 2273, 2288, 2283, 2287, 532, 2285, 2271, 2277, 2284, - - 2266, 464, 2271, 2268, 2267, 584, 2262, 2276, 2275, 565, - 2274, 2277, 2259, 2267, 566, 2483, 2483, 567, 2483, 2483, - 2254, 550, 2301, 569, 2312, 2483, 571, 2483, 2311, 2483, - 2305, 621, 2483, 571, 2245, 2264, 2247, 2264, 2300, 2260, - 2250, 2302, 2257, 2260, 2251, 2254, 2249, 561, 2483, 2251, - 602, 2290, 2248, 2245, 2246, 610, 2250, 2290, 2238, 2233, - 2230, 2226, 2228, 2279, 2236, 2225, 2241, 2275, 2221, 617, - 2234, 2234, 2217, 2218, 2231, 2229, 2227, 2216, 2226, 2225, - 2220, 2227, 2222, 2207, 589, 2216, 2219, 2214, 564, 2213, - 2209, 2259, 571, 591, 2483, 2218, 2252, 2202, 2201, 2194, - - 2196, 2208, 2199, 2206, 2187, 2204, 2193, 2198, 624, 2245, - 2198, 603, 2195, 2198, 2198, 2196, 2185, 2185, 2197, 596, - 2172, 2173, 2194, 608, 2176, 2173, 2187, 2190, 2185, 2171, - 2183, 2182, 2181, 2176, 2218, 2178, 2177, 2176, 2175, 584, - 2218, 2177, 2216, 2156, 2214, 2156, 654, 2169, 2483, 2483, - 2168, 597, 2210, 2209, 2483, 2208, 2483, 632, 680, 637, - 2207, 2201, 2154, 2156, 2158, 2145, 2142, 2483, 2147, 2140, - 2152, 2155, 2138, 2153, 2140, 2139, 2483, 2149, 623, 2140, - 2137, 2149, 628, 2134, 2136, 2483, 2142, 2127, 2129, 2140, - 2138, 2133, 668, 2140, 2128, 2121, 2172, 2483, 2119, 2135, - - 2169, 2173, 2129, 2123, 2125, 2126, 2110, 2119, 2126, 2160, - 2111, 2110, 2105, 2104, 2106, 2102, 2098, 632, 2117, 2091, - 2098, 2103, 2096, 2112, 2146, 2150, 2483, 2095, 2091, 2147, - 2098, 2097, 2091, 2098, 2083, 2093, 2081, 2095, 2095, 2083, - 2079, 2081, 2076, 2483, 2133, 2483, 2075, 2074, 2067, 2084, - 2123, 2122, 2067, 2072, 2081, 2075, 2069, 2078, 703, 2115, - 2077, 2060, 2060, 2055, 2051, 2057, 2062, 652, 2064, 2068, - 2051, 2109, 2050, 2050, 2101, 2046, 2047, 2046, 2058, 2047, - 2483, 2057, 2483, 2094, 2483, 2045, 2483, 2055, 2091, 2051, - 2094, 2483, 2483, 2483, 651, 675, 706, 2483, 655, 2053, - - 2033, 2043, 2085, 2084, 2029, 2039, 2081, 2026, 2025, 2024, - 2031, 2024, 2032, 2035, 2017, 2017, 2032, 2031, 638, 2030, - 2029, 2013, 2028, 2010, 2057, 2024, 2062, 2006, 2008, 2020, - 2020, 2019, 2483, 2004, 2001, 2059, 2014, 2006, 2012, 2003, - 2011, 2483, 1996, 2007, 2011, 1993, 2005, 1997, 2005, 375, - 1987, 1986, 1980, 1985, 1982, 1997, 1996, 1997, 1976, 1986, - 1992, 2035, 1990, 1989, 1981, 1972, 2483, 1973, 1975, 2483, - 1977, 1982, 2021, 2020, 16, 1981, 2018, 1963, 2016, 1963, - 1966, 1967, 1958, 2483, 1972, 1958, 710, 1950, 1954, 1970, - 1967, 1959, 2004, 1956, 1963, 2001, 2483, 1947, 1945, 1959, - - 1943, 1957, 1960, 1994, 1993, 1992, 1939, 1990, 1935, 1988, - 1987, 2483, 1932, 1946, 1945, 716, 1946, 1945, 1942, 1942, - 1979, 1943, 1938, 1927, 1929, 2483, 2483, 681, 673, 1921, - 1934, 88, 184, 414, 490, 552, 562, 612, 595, 684, - 667, 630, 708, 713, 667, 673, 678, 689, 694, 680, - 683, 694, 694, 678, 736, 698, 690, 700, 740, 703, - 695, 697, 701, 707, 747, 753, 712, 713, 2483, 716, - 711, 702, 717, 722, 719, 716, 723, 722, 710, 724, - 725, 723, 731, 767, 729, 774, 775, 719, 732, 718, - 728, 775, 733, 783, 2483, 784, 740, 738, 740, 736, - - 730, 790, 786, 749, 738, 2483, 740, 751, 740, 753, - 743, 756, 800, 743, 802, 745, 760, 2483, 754, 748, - 759, 744, 755, 768, 747, 753, 808, 772, 756, 756, - 769, 813, 814, 815, 762, 780, 775, 782, 781, 778, - 763, 775, 776, 783, 773, 771, 2483, 836, 794, 795, - 785, 797, 787, 790, 801, 792, 798, 842, 818, 805, - 787, 794, 808, 853, 810, 807, 805, 2483, 809, 804, - 819, 816, 802, 809, 808, 806, 825, 822, 823, 811, - 818, 819, 828, 832, 868, 830, 820, 834, 820, 819, - 825, 881, 822, 823, 829, 845, 828, 882, 837, 2483, - - 847, 847, 840, 851, 849, 894, 836, 838, 853, 854, - 842, 840, 902, 903, 860, 846, 852, 850, 2483, 2483, - 866, 865, 866, 871, 859, 869, 871, 2483, 2483, 871, - 873, 860, 878, 865, 2483, 863, 881, 868, 868, 919, - 866, 870, 888, 929, 2483, 930, 2483, 875, 889, 889, - 934, 882, 881, 885, 879, 939, 892, 882, 883, 879, - 889, 893, 904, 888, 906, 901, 903, 896, 898, 899, - 895, 912, 902, 917, 958, 915, 920, 897, 920, 906, - 905, 2483, 912, 913, 928, 918, 916, 929, 967, 914, - 929, 947, 955, 924, 973, 935, 975, 2483, 981, 924, - - 943, 933, 932, 927, 928, 940, 947, 936, 937, 933, - 951, 937, 938, 948, 957, 993, 941, 959, 952, 947, - 1000, 1006, 963, 954, 2483, 958, 966, 968, 953, 969, - 959, 971, 965, 1012, 978, 962, 963, 2483, 979, 982, - 965, 967, 1025, 968, 987, 2483, 2483, 986, 989, 976, - 971, 989, 977, 1030, 988, 984, 981, 1034, 983, 1036, - 998, 984, 1002, 1001, 987, 1002, 994, 990, 1008, 1007, - 994, 1011, 2483, 2483, 1003, 1050, 1003, 2483, 1011, 1014, - 1007, 1060, 2483, 1010, 1015, 1059, 1010, 1011, 1023, 1017, - 1021, 1019, 1017, 1028, 1073, 1017, 1022, 1019, 1077, 1078, - - 1022, 1034, 2483, 1022, 1030, 1029, 1080, 1022, 1043, 1029, - 1030, 1039, 1051, 1038, 1046, 1037, 1051, 1052, 1068, 1073, - 1055, 1060, 1043, 1043, 2483, 1044, 1046, 1057, 1047, 1067, - 1066, 1057, 1046, 1063, 1070, 1113, 1055, 1075, 1068, 1072, - 1076, 1059, 1076, 1067, 1122, 1069, 1073, 2483, 1122, 1071, - 1070, 1070, 1091, 1088, 1128, 1077, 1095, 1096, 1082, 1090, - 1099, 1079, 1094, 1101, 1143, 1144, 2483, 1097, 1146, 1147, - 1089, 1099, 1109, 1093, 1113, 1096, 1098, 1098, 1105, 1114, - 1102, 1109, 1104, 1111, 1123, 1164, 1111, 1110, 1127, 1168, - 1118, 1122, 1120, 1118, 1113, 1174, 1125, 1176, 1126, 1178, - - 1174, 1180, 1133, 2483, 1138, 1131, 1122, 1141, 1135, 1130, - 1140, 1137, 1142, 1139, 1151, 2483, 1135, 1137, 1132, 2483, - 2483, 1138, 1198, 1137, 1156, 1157, 1159, 1198, 1151, 1205, - 1206, 1159, 1144, 1158, 1156, 1167, 1149, 1154, 1193, 1184, - 1216, 1171, 1171, 1175, 1220, 1163, 1163, 1166, 1183, 1178, - 1182, 1227, 1175, 1179, 2483, 1176, 1172, 1189, 1169, 1190, - 1180, 1231, 1185, 2483, 1198, 1196, 1199, 1183, 1196, 1201, - 1187, 1247, 1200, 1205, 1192, 1203, 1195, 1201, 1197, 1215, - 1216, 1217, 2483, 2483, 1215, 2483, 1217, 2483, 1202, 1213, - 1204, 1223, 1216, 1214, 1266, 1223, 1220, 1264, 1228, 1217, - - 1224, 1229, 1226, 1232, 2483, 1225, 1217, 1278, 2483, 1279, - 1226, 1233, 1277, 1239, 2483, 1240, 2483, 1237, 2483, 1228, - 2483, 1228, 1231, 1245, 1250, 1233, 1244, 1293, 1250, 1251, - 1252, 1292, 1248, 1299, 1252, 1296, 1302, 2483, 1249, 1304, - 1305, 1262, 1263, 1265, 2483, 2483, 1248, 1310, 1306, 1255, - 1271, 1255, 1267, 1286, 1317, 2483, 1274, 1265, 1276, 2483, - 1321, 1258, 1269, 1284, 1320, 1272, 2483, 1268, 1284, 1272, - 1286, 1287, 1284, 1328, 1291, 1281, 1291, 1297, 1285, 1285, - 1340, 1336, 1342, 1299, 2483, 1302, 1301, 1303, 1296, 1305, - 1307, 1304, 1294, 1297, 1297, 1356, 1303, 1358, 1305, 1360, - - 1303, 1308, 1363, 2483, 1321, 1301, 1316, 1309, 1312, 1325, - 1328, 1327, 1325, 1374, 1328, 2483, 2483, 1324, 1334, 1319, - 1375, 1322, 1337, 1323, 1384, 1385, 1329, 1339, 1388, 1345, - 2483, 1337, 1337, 1339, 1341, 1394, 1337, 2483, 1338, 1356, - 2483, 1340, 2483, 2483, 1356, 1339, 1359, 1360, 2483, 1347, - 1406, 1356, 1408, 1357, 1389, 2483, 1411, 1361, 1408, 2483, - 1356, 1415, 1365, 1359, 1356, 1359, 1362, 1362, 1358, 1380, - 1419, 1372, 1384, 1387, 1375, 1378, 1371, 1431, 1379, 2483, - 1375, 2483, 1377, 1436, 1389, 1380, 1395, 1395, 1398, 1398, - 1395, 1439, 1401, 2483, 1393, 2483, 1394, 2483, 1404, 1396, - - 2483, 1445, 1407, 1408, 1405, 1449, 1397, 1412, 1452, 1414, - 1406, 2483, 1403, 1403, 1409, 1408, 1406, 1460, 1422, 1422, - 2483, 2483, 1463, 1410, 2483, 1427, 1412, 1412, 1414, 1420, - 2483, 1429, 1476, 1419, 1425, 1418, 1432, 1444, 1437, 1443, - 1487, 1440, 2483, 1449, 2483, 1446, 1465, 2483, 1449, 1434, - 1494, 2483, 1495, 1452, 1457, 1439, 1499, 1500, 1501, 1497, - 1461, 1458, 1454, 1447, 1502, 1460, 1461, 2483, 1451, 1464, - 1512, 2483, 1450, 1510, 1473, 1469, 1514, 1462, 1467, 1465, - 1524, 1480, 1468, 1527, 1523, 1478, 1530, 1491, 1480, 1474, - 1534, 1476, 1485, 1478, 1492, 1495, 1540, 1482, 1499, 1495, - - 1493, 1486, 1501, 1485, 1543, 1544, 1545, 1492, 1547, 1510, - 1503, 1502, 1502, 1497, 2483, 1514, 1506, 1512, 1503, 1502, - 1504, 1559, 2483, 1500, 1518, 1567, 1537, 1569, 1522, 2483, - 2483, 1513, 1524, 1573, 2483, 2483, 2483, 1519, 1524, 1522, - 1572, 1530, 1535, 1523, 1539, 1529, 1527, 1528, 2483, 1586, - 1532, 1583, 1526, 1531, 1592, 1540, 1550, 1551, 2483, 1597, - 1550, 1594, 2483, 1545, 1553, 2483, 1544, 1559, 1547, 2483, - 1557, 1558, 1559, 1608, 1566, 2483, 1605, 1571, 1547, 1565, - 1566, 1567, 1576, 1558, 1564, 1566, 1620, 1579, 1578, 1569, - 1619, 1571, 1567, 1574, 1569, 1570, 1630, 1580, 1632, 1585, - - 1590, 1583, 2483, 1636, 2483, 1585, 1638, 1580, 2483, 1583, - 1593, 1637, 1585, 1600, 1587, 1602, 1588, 1595, 1595, 1606, - 2483, 1600, 1595, 1594, 1654, 1607, 2483, 1651, 1602, 1599, - 2483, 1613, 1600, 1621, 1617, 1619, 1664, 1617, 1614, 1622, - 1616, 2483, 1669, 1610, 1612, 1628, 1621, 1622, 1612, 1628, - 1629, 1623, 1639, 2483, 1629, 1681, 1641, 1625, 1634, 1680, - 1644, 1639, 1688, 2483, 1630, 2483, 1637, 1691, 1687, 2483, - 1649, 2483, 1689, 1651, 1652, 1637, 1638, 1646, 1700, 1648, - 1697, 1698, 1653, 1665, 1662, 1653, 1660, 2483, 1657, 1662, - 1660, 1712, 1713, 1661, 1658, 1672, 1659, 2483, 1674, 1675, - - 1676, 1677, 2483, 1667, 1679, 1724, 1677, 1682, 1727, 1669, - 1677, 1671, 1679, 1692, 2483, 1693, 1674, 1675, 1682, 1673, - 1685, 2483, 1734, 1695, 2483, 1699, 1684, 1684, 1699, 1692, - 1691, 1702, 1689, 2483, 1705, 1693, 1696, 1752, 1710, 1701, - 1713, 1704, 1713, 1715, 1719, 2483, 2483, 1712, 1703, 1703, - 1763, 1706, 1765, 1707, 1767, 1725, 1769, 2483, 1711, 1771, - 2483, 1767, 1729, 1726, 1731, 1718, 1726, 1737, 1724, 1735, - 1781, 1722, 1725, 1730, 1721, 1786, 1739, 1740, 1730, 1747, - 1746, 1787, 1731, 1750, 1751, 2483, 1748, 1797, 1754, 1755, - 1800, 1757, 1760, 1747, 1756, 1757, 2483, 1806, 2483, 1759, - - 2483, 1768, 2483, 1809, 2483, 1751, 1811, 1758, 1813, 1756, - 1815, 1763, 1812, 1813, 2483, 1775, 1780, 1821, 1780, 2483, - 1771, 1761, 1820, 1786, 1779, 1775, 1829, 1772, 1774, 1779, - 2483, 1775, 1777, 2483, 1782, 1792, 1777, 1785, 1787, 2483, - 1788, 1782, 2483, 1794, 2483, 1790, 2483, 1800, 2483, 1801, - 1801, 1792, 1848, 1797, 2483, 1799, 1807, 1852, 1793, 1795, - 1792, 1816, 2483, 1803, 1810, 1813, 1802, 1856, 1803, 1811, - 1820, 1819, 1822, 1823, 1824, 1817, 1812, 1813, 1813, 1825, - 1820, 2483, 1820, 1832, 1877, 2483, 1823, 1835, 1880, 1829, - 1831, 1829, 1884, 1837, 1824, 1839, 1844, 1889, 1890, 1891, - - 1892, 1893, 1850, 1895, 1896, 1897, 1841, 1845, 1849, 1843, - 2483, 1859, 1903, 2483, 1860, 1845, 1863, 2483, 1854, 1868, - 1864, 1857, 2483, 2483, 2483, 2483, 2483, 1911, 2483, 2483, - 2483, 1854, 1862, 1870, 1915, 1876, 2483, 1917, 1859, 1919, - 1874, 1873, 1874, 1864, 2483, 1865, 1925, 1921, 2483, 1868, - 2483, 1880, 2483, 1929, 1871, 1887, 1932, 1933, 2483, 1894, - 1891, 1883, 2483, 1933, 1882, 2483, 2483, 1894, 1887, 1942, - 1890, 1885, 1887, 1902, 1887, 2483, 1948, 1901, 1950, 1951, - 1899, 2483, 1901, 2483, 2483, 1895, 1911, 1956, 1957, 2483, - 2483, 2483, 1963, 1966, 1969, 1970, 1972, 1975, 1978, 1981 - + 2514, 2515, 34, 2510, 145, 0, 207, 2515, 214, 221, + 13, 228, 2515, 2490, 118, 25, 2, 6, 2515, 2515, + 73, 11, 17, 2515, 2515, 2515, 104, 2498, 2451, 0, + 2488, 108, 2505, 24, 256, 2515, 67, 2454, 2474, 84, + 75, 2474, 88, 226, 91, 89, 284, 196, 206, 279, + 203, 235, 197, 60, 216, 2454, 286, 288, 253, 300, + 314, 2437, 223, 319, 366, 329, 2456, 0, 380, 388, + 417, 425, 394, 2515, 0, 2515, 431, 439, 219, 269, + 229, 299, 313, 310, 2515, 2453, 2494, 2515, 346, 2515, + + 445, 322, 2451, 2492, 326, 10, 362, 383, 352, 421, + 428, 433, 2491, 0, 506, 423, 2433, 413, 2432, 2433, + 2439, 418, 2435, 2424, 2425, 2430, 370, 2440, 2423, 2432, + 2422, 327, 172, 321, 2425, 2423, 408, 2412, 2470, 419, + 2415, 2468, 2408, 239, 2429, 2429, 2423, 416, 2416, 2414, + 2415, 2407, 2412, 2406, 427, 2417, 460, 2402, 2401, 2415, + 434, 2453, 2400, 442, 2412, 440, 2400, 502, 2401, 476, + 2413, 2410, 2411, 293, 2409, 2444, 2443, 439, 2389, 2389, + 2393, 441, 2389, 2381, 2398, 2390, 0, 445, 462, 451, + 478, 484, 468, 2389, 2515, 480, 2384, 2515, 480, 506, + + 2515, 2438, 501, 2437, 510, 2436, 508, 2435, 2515, 2515, + 554, 2434, 539, 2393, 2385, 2389, 2390, 2370, 2381, 2383, + 2382, 515, 524, 2425, 2419, 2383, 2364, 2361, 2369, 2375, + 2363, 2377, 2373, 2364, 2373, 2373, 2368, 2360, 2362, 2346, + 2350, 2363, 2365, 2362, 2354, 2344, 2347, 2361, 2515, 2347, + 2355, 80, 534, 2340, 2349, 2391, 2338, 2348, 2388, 547, + 2347, 2386, 2331, 2333, 2344, 2382, 547, 2386, 2340, 2320, + 2335, 280, 2325, 2331, 490, 2322, 2320, 2323, 2319, 2325, + 2316, 2315, 2328, 2321, 2311, 2322, 2326, 2325, 2319, 527, + 2326, 2321, 2313, 2303, 2318, 2313, 2317, 532, 2315, 2301, + + 2307, 2314, 2296, 464, 2301, 2298, 2297, 584, 2292, 2306, + 2305, 565, 2304, 2307, 2289, 2297, 566, 2515, 2515, 567, + 2515, 2515, 2284, 550, 2331, 569, 2342, 2515, 571, 2515, + 2341, 2515, 2335, 621, 2515, 571, 2275, 2294, 2277, 2294, + 2330, 2290, 2280, 2332, 2287, 2290, 2281, 2284, 2279, 561, + 2515, 2281, 602, 2320, 2278, 2275, 2276, 610, 2280, 2320, + 2255, 2267, 2262, 2259, 2255, 2257, 2308, 2265, 2254, 2270, + 2304, 2250, 617, 2263, 2263, 2246, 2247, 2260, 2258, 2256, + 2245, 2255, 2254, 2249, 2256, 2251, 2236, 589, 2245, 2248, + 2243, 564, 2242, 2238, 2288, 571, 591, 2515, 2247, 2281, + + 2231, 2230, 2223, 2225, 2237, 2228, 2235, 2216, 2233, 2222, + 2227, 624, 2274, 2227, 603, 2224, 2227, 2227, 2225, 2214, + 2214, 2226, 596, 2201, 2202, 2223, 608, 2205, 2202, 2216, + 2219, 2214, 2200, 2212, 2211, 2210, 2205, 2247, 2207, 2206, + 2205, 2204, 584, 2247, 2206, 2245, 2185, 2243, 2185, 654, + 2198, 2515, 2515, 2197, 597, 2239, 2238, 2515, 2237, 2515, + 632, 680, 637, 2236, 2230, 2183, 2185, 2187, 2174, 2171, + 2515, 2176, 2169, 2181, 2184, 2167, 2182, 2169, 2168, 2515, + 2178, 623, 2169, 2166, 2178, 628, 2163, 2165, 2515, 2210, + 2170, 2155, 2157, 2168, 2166, 2161, 668, 2168, 2156, 2149, + + 2200, 2515, 2147, 2163, 2197, 2201, 2157, 2151, 2153, 2154, + 2138, 2147, 2154, 2188, 2139, 2138, 2133, 2132, 2134, 2130, + 2126, 632, 2145, 2119, 2126, 2131, 2124, 2140, 2174, 2178, + 2515, 2123, 2119, 2175, 2126, 2125, 2119, 2126, 2111, 2121, + 2109, 2123, 2123, 2111, 2107, 2109, 2104, 2515, 2161, 2515, + 2103, 2102, 2095, 2112, 2151, 2150, 2095, 2100, 2109, 2103, + 2097, 2106, 703, 2143, 2105, 2088, 2088, 2083, 2079, 2085, + 2090, 652, 2092, 2096, 2079, 2137, 2078, 2078, 2129, 2074, + 2075, 2074, 2086, 2075, 2515, 2085, 2515, 2122, 2515, 2073, + 2515, 2083, 2119, 2079, 2122, 2515, 2515, 2515, 651, 675, + + 706, 2515, 655, 2081, 2061, 2071, 2113, 2112, 2057, 2067, + 2109, 2054, 2053, 2052, 2059, 2052, 2060, 2063, 2045, 2045, + 2060, 2059, 638, 2058, 2057, 2041, 2056, 2038, 2085, 2052, + 2049, 2089, 2033, 2035, 2047, 2047, 2046, 2515, 2031, 2028, + 2086, 2041, 2033, 2039, 2030, 2038, 2515, 2023, 2034, 2038, + 2020, 2032, 2024, 2032, 375, 2014, 2013, 2007, 2012, 2009, + 2024, 2023, 2024, 2003, 2013, 2019, 2062, 2017, 2016, 2008, + 1999, 2515, 2000, 2002, 2515, 2004, 2009, 2048, 2047, 16, + 2008, 2045, 1990, 2043, 1990, 1993, 1994, 1985, 2515, 1999, + 1985, 710, 1977, 1981, 1997, 1994, 1986, 2031, 1983, 1990, + + 2028, 2515, 1974, 1972, 1986, 1970, 1984, 1987, 2021, 2020, + 2019, 1966, 2017, 1962, 2015, 2014, 2515, 1959, 1973, 1972, + 716, 1973, 1972, 1969, 1969, 2006, 1966, 91, 424, 490, + 2515, 2515, 681, 673, 545, 564, 565, 577, 608, 623, + 662, 676, 719, 685, 688, 722, 685, 729, 730, 684, + 680, 685, 695, 701, 687, 690, 701, 701, 685, 742, + 704, 696, 706, 746, 709, 702, 703, 705, 709, 715, + 755, 761, 718, 720, 2515, 723, 718, 709, 724, 729, + 726, 723, 730, 729, 717, 731, 732, 730, 738, 774, + 736, 781, 782, 726, 739, 725, 735, 782, 740, 790, + + 2515, 791, 747, 745, 747, 743, 737, 797, 793, 756, + 745, 2515, 747, 758, 747, 760, 750, 763, 807, 750, + 809, 752, 767, 2515, 761, 755, 766, 751, 762, 775, + 754, 760, 815, 779, 763, 763, 776, 820, 821, 822, + 769, 787, 782, 789, 788, 785, 770, 782, 783, 790, + 780, 778, 2515, 843, 801, 802, 792, 804, 794, 797, + 808, 799, 805, 849, 825, 812, 794, 801, 815, 860, + 817, 814, 812, 2515, 816, 811, 826, 823, 809, 816, + 815, 813, 832, 829, 830, 818, 825, 826, 835, 839, + 875, 837, 827, 841, 827, 826, 832, 888, 835, 830, + + 831, 837, 853, 836, 890, 845, 2515, 855, 855, 848, + 859, 857, 902, 844, 846, 861, 862, 850, 848, 910, + 911, 868, 854, 860, 858, 2515, 2515, 874, 873, 874, + 879, 867, 877, 879, 2515, 2515, 879, 881, 868, 886, + 873, 2515, 871, 889, 876, 876, 927, 874, 878, 896, + 937, 2515, 938, 2515, 883, 897, 897, 942, 890, 889, + 893, 887, 947, 900, 890, 891, 887, 897, 901, 912, + 896, 914, 909, 911, 904, 906, 907, 903, 920, 910, + 925, 966, 923, 928, 905, 928, 914, 913, 2515, 920, + 921, 936, 926, 924, 937, 975, 922, 937, 955, 963, + + 932, 981, 943, 983, 2515, 989, 932, 951, 941, 940, + 935, 936, 948, 955, 944, 945, 941, 959, 945, 946, + 956, 965, 1001, 949, 967, 960, 955, 1008, 1014, 971, + 962, 2515, 976, 967, 975, 977, 962, 978, 968, 980, + 974, 1021, 987, 971, 972, 2515, 988, 991, 974, 976, + 1034, 977, 996, 2515, 2515, 995, 998, 985, 980, 998, + 986, 1039, 997, 993, 990, 1043, 992, 1045, 1007, 993, + 1011, 1010, 996, 1011, 1003, 999, 1017, 1016, 1003, 1020, + 2515, 2515, 1012, 1059, 1012, 2515, 1020, 1023, 1016, 1069, + 2515, 1019, 1024, 1068, 1019, 1020, 1032, 1026, 1030, 1028, + + 1026, 1037, 1082, 1026, 1031, 1028, 1086, 1087, 1031, 1043, + 2515, 1031, 1039, 1038, 1089, 1031, 1052, 1038, 1039, 1048, + 1060, 1047, 1055, 1046, 1060, 1061, 1077, 1082, 1064, 1069, + 1052, 1052, 2515, 1053, 1055, 1066, 1056, 1076, 1075, 1066, + 1055, 1072, 1079, 1122, 1064, 1084, 1077, 1081, 1085, 1068, + 1085, 1076, 1131, 1078, 1082, 2515, 1131, 1080, 1098, 1080, + 1080, 1101, 1098, 1138, 1087, 1105, 1106, 1092, 1100, 1109, + 1089, 1104, 1111, 1153, 1154, 2515, 1107, 1156, 1157, 1099, + 1109, 1119, 1103, 1123, 1106, 1108, 1108, 1115, 1124, 1112, + 1119, 1114, 1121, 1133, 1174, 1121, 1120, 1137, 1178, 1128, + + 1132, 1130, 1128, 1123, 1184, 1135, 1186, 1136, 1188, 1184, + 1190, 1143, 2515, 1148, 1141, 1132, 1151, 1145, 1140, 1150, + 1147, 1152, 1149, 1161, 2515, 1145, 1147, 1142, 2515, 2515, + 1148, 1208, 1147, 1166, 1167, 1169, 1208, 1161, 1215, 1216, + 1169, 1154, 1168, 1166, 1177, 1159, 1164, 1203, 1194, 1226, + 1181, 1181, 1185, 1230, 1173, 1173, 1176, 1193, 1188, 1192, + 1237, 1185, 1189, 2515, 1186, 1182, 1199, 1179, 1200, 1190, + 1241, 1195, 2515, 1208, 1206, 1209, 1193, 1203, 1207, 1212, + 1198, 1258, 1211, 1216, 1203, 1214, 1206, 1212, 1208, 1226, + 1227, 1228, 2515, 2515, 1226, 2515, 1228, 2515, 1213, 1224, + + 1215, 1234, 1227, 1225, 1277, 1234, 1231, 1275, 1239, 1228, + 1235, 1240, 1237, 1243, 2515, 1236, 1228, 1289, 2515, 1290, + 1237, 1244, 1288, 1250, 2515, 1251, 2515, 1248, 2515, 1239, + 2515, 1239, 1242, 1256, 1261, 1244, 1255, 1304, 1261, 1262, + 1263, 1303, 1259, 1310, 1263, 1307, 1313, 2515, 1260, 1315, + 1316, 1273, 1274, 1276, 2515, 2515, 1259, 1321, 1317, 1266, + 1282, 1266, 1278, 1297, 1328, 2515, 1285, 1276, 1287, 2515, + 1332, 1269, 1280, 1295, 1331, 1283, 2515, 1279, 1295, 1283, + 1297, 1298, 1295, 1339, 1302, 1292, 1302, 1308, 1296, 1296, + 1351, 1347, 1348, 1354, 1312, 2515, 1314, 1313, 1315, 1308, + + 1318, 1319, 1316, 1306, 1309, 1309, 1368, 1315, 1370, 1317, + 1372, 1315, 1320, 1375, 2515, 1334, 1313, 1328, 1321, 1324, + 1337, 1340, 1339, 1337, 1386, 1340, 2515, 2515, 1336, 1346, + 1331, 1387, 1334, 1349, 1335, 1396, 1397, 1341, 1351, 1400, + 1357, 2515, 1349, 1349, 1351, 1353, 1406, 1349, 2515, 1350, + 1368, 2515, 1352, 2515, 2515, 1368, 1351, 1371, 1372, 2515, + 1359, 1418, 1368, 1420, 1369, 1401, 2515, 1423, 1373, 1420, + 2515, 1368, 1427, 1377, 1371, 1368, 1371, 1374, 1374, 1370, + 1392, 1431, 1384, 1396, 1399, 1387, 1390, 1383, 1443, 1391, + 2515, 1389, 1388, 2515, 1390, 1449, 1402, 1393, 1408, 1408, + + 1411, 1411, 1408, 1452, 1414, 2515, 1406, 2515, 1407, 2515, + 1417, 1409, 2515, 1458, 1420, 1421, 1418, 1462, 1410, 1425, + 1465, 1427, 1419, 2515, 1416, 1416, 1422, 1421, 1419, 1473, + 1435, 1435, 2515, 2515, 1476, 1423, 2515, 1440, 1425, 1425, + 1427, 1433, 2515, 1442, 1489, 1432, 1438, 1431, 1445, 1457, + 1450, 1456, 1500, 1453, 2515, 1462, 2515, 1459, 1478, 2515, + 1462, 1447, 1507, 2515, 1508, 1465, 1470, 1452, 1512, 1513, + 1514, 1510, 1474, 1471, 1467, 1460, 1515, 1473, 1474, 2515, + 1464, 1480, 1478, 1526, 2515, 1465, 1524, 1487, 1484, 1528, + 1476, 1481, 1479, 1538, 1494, 1482, 1541, 1537, 1492, 1544, + + 1505, 1494, 1488, 1548, 1490, 1499, 1492, 1506, 1509, 1554, + 1496, 1513, 1509, 1507, 1500, 1515, 1499, 1557, 1558, 1559, + 1506, 1561, 1524, 1517, 1516, 1516, 1511, 2515, 1528, 1520, + 1526, 1517, 1516, 1518, 1573, 2515, 1514, 1532, 1581, 1551, + 1583, 1536, 2515, 2515, 1527, 1538, 1587, 2515, 2515, 2515, + 1533, 1538, 1536, 1586, 1544, 1549, 1537, 1553, 1543, 1541, + 1541, 1543, 2515, 1601, 1547, 1598, 1541, 1546, 1607, 1555, + 1565, 1567, 2515, 1612, 1565, 1609, 2515, 1560, 1568, 2515, + 1559, 1574, 1562, 2515, 1572, 1573, 1574, 1623, 1581, 2515, + 1620, 1586, 1562, 1580, 1581, 1582, 1591, 1573, 1579, 1581, + + 1635, 1594, 1593, 1584, 1634, 1586, 1582, 1589, 1584, 1585, + 1645, 1595, 1647, 1600, 1605, 1598, 2515, 1651, 2515, 1600, + 1653, 1595, 2515, 1598, 1608, 1652, 1600, 1615, 1602, 1617, + 1603, 1610, 1610, 1621, 1622, 2515, 1616, 1611, 1610, 1670, + 1623, 2515, 1667, 1618, 1615, 2515, 1629, 1616, 1637, 1633, + 1635, 1680, 1633, 1630, 1638, 1632, 2515, 1685, 1626, 1628, + 1644, 1637, 1638, 1628, 1644, 1645, 1639, 1655, 2515, 1645, + 1697, 1657, 1641, 1650, 1696, 1660, 1655, 1704, 2515, 1646, + 2515, 1653, 1707, 1703, 2515, 1665, 2515, 1705, 1667, 1668, + 1653, 1654, 1662, 1716, 1664, 1713, 1714, 1669, 1664, 1682, + + 1679, 1670, 1677, 2515, 1674, 1679, 1677, 1729, 1730, 1678, + 1675, 1689, 1676, 2515, 1691, 1692, 1693, 1694, 2515, 1684, + 1696, 1741, 1694, 1699, 1744, 1686, 1694, 1688, 1696, 1709, + 2515, 1710, 1691, 1692, 1699, 1690, 1702, 2515, 1751, 1712, + 2515, 1716, 1701, 1701, 1716, 1709, 1708, 1719, 1706, 2515, + 1722, 1710, 1713, 1769, 1709, 1728, 1719, 1731, 1722, 1731, + 1733, 1737, 2515, 2515, 1730, 1721, 1721, 1781, 1724, 1783, + 1725, 1785, 1743, 1787, 2515, 1729, 1789, 2515, 1785, 1747, + 1744, 1749, 1736, 1744, 1755, 1742, 1753, 1799, 1740, 1743, + 1748, 1739, 1804, 1757, 1758, 1748, 1765, 1764, 1805, 1749, + + 1768, 1769, 2515, 1774, 1767, 1816, 1773, 1774, 1819, 1776, + 1779, 1766, 1775, 1776, 2515, 1825, 2515, 1778, 2515, 1787, + 2515, 1828, 2515, 1770, 1830, 1777, 1832, 1775, 1834, 1782, + 1831, 1832, 2515, 1794, 1799, 1840, 1799, 2515, 1790, 1780, + 1839, 1805, 1798, 1794, 1848, 1791, 1793, 1792, 1799, 2515, + 1795, 1797, 2515, 1802, 1812, 1797, 1805, 1807, 2515, 1808, + 1802, 2515, 1814, 2515, 1810, 2515, 1820, 2515, 1821, 1821, + 1812, 1868, 1817, 2515, 1819, 1827, 1872, 1813, 1815, 1812, + 1836, 2515, 1823, 1830, 1831, 1834, 1823, 1877, 1824, 1832, + 1841, 1840, 1843, 1844, 1845, 1838, 1833, 1834, 1834, 1846, + + 1841, 2515, 1841, 1853, 1898, 2515, 1844, 1856, 1901, 1850, + 1852, 1850, 1851, 1906, 1859, 1846, 1861, 1866, 1911, 1912, + 1913, 1914, 1915, 1872, 1917, 1918, 1919, 1863, 1867, 1871, + 1865, 2515, 1881, 1925, 2515, 1882, 1867, 1885, 1876, 2515, + 1877, 1891, 1887, 1880, 2515, 2515, 2515, 2515, 2515, 1934, + 2515, 2515, 2515, 1877, 1885, 1893, 1938, 1899, 2515, 1940, + 1882, 1942, 1885, 1898, 1897, 1898, 1888, 2515, 1889, 1949, + 1945, 2515, 1892, 2515, 1904, 2515, 1948, 1954, 1896, 1912, + 1957, 1958, 2515, 1919, 1916, 1908, 1912, 2515, 1959, 1908, + 2515, 2515, 1920, 1913, 1968, 1916, 1916, 1912, 1914, 1929, + + 1914, 2515, 1975, 1922, 1929, 1978, 1979, 1927, 2515, 1931, + 1930, 2515, 2515, 1924, 1924, 1941, 1986, 1932, 1988, 2515, + 1989, 2515, 2515, 2515, 1995, 1998, 2001, 2002, 2004, 2007, + 2010, 2013 } ; -static const flex_int16_t yy_def[2101] = +static const flex_int16_t yy_def[2133] = { 0, - 2093, 2093, 2094, 2094, 2093, 2093, 2093, 2093, 2093, 2093, - 2092, 2092, 2092, 2092, 2092, 2095, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2096, - 2092, 2092, 2092, 2097, 15, 2092, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2098, 45, 45, 45, + 2125, 2125, 2126, 2126, 2125, 2125, 2125, 2125, 2125, 2125, + 2124, 2124, 2124, 2124, 2124, 2127, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2128, + 2124, 2124, 2124, 2129, 15, 2124, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2130, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2095, 2092, 2092, - 2092, 2092, 2092, 2092, 2099, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092, 2096, 2092, 2097, 2092, + 45, 45, 45, 45, 45, 45, 45, 2127, 2124, 2124, + 2124, 2124, 2124, 2124, 2131, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2128, 2124, 2129, 2124, - 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2100, 45, 2098, 45, 45, 45, 45, 45, + 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2132, 45, 2130, 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, - 45, 45, 45, 45, 45, 2099, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 45, 45, 2092, 45, 45, 2092, + 45, 45, 45, 45, 45, 45, 2131, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 45, 45, 2124, 45, 45, - 45, 45, 45, 45, 45, 45, 2100, 2092, 2092, 115, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2124, 45, 45, 45, 45, 45, 45, 2132, 2124, 2124, + 115, 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, 2092, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2124, 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, @@ -1250,223 +1257,227 @@ static const flex_int16_t yy_def[2101] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 45, 45, 45, 45, 2092, 45, 2092, 45, 2092, - 45, 115, 2092, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2092, 45, + 45, 45, 45, 45, 45, 45, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 45, 45, 45, 45, 2124, 45, 2124, + 45, 2124, 45, 115, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2124, 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, 2092, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2124, 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, 2092, 2092, - 2092, 45, 45, 45, 2092, 45, 2092, 45, 115, 45, - 45, 45, 45, 45, 45, 45, 45, 2092, 45, 45, - 45, 45, 45, 45, 45, 45, 2092, 45, 45, 45, - 45, 45, 45, 45, 45, 2092, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2092, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2124, 2124, 2124, 45, 45, 45, 2124, 45, 2124, + 45, 115, 45, 45, 45, 45, 45, 45, 45, 45, + 2124, 45, 45, 45, 45, 45, 45, 45, 45, 2124, + 45, 45, 45, 45, 45, 45, 45, 45, 2124, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2092, 45, 2092, 45, 45, 45, 45, + 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2124, 45, 2124, 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, - 2092, 45, 2092, 45, 2092, 45, 2092, 45, 45, 2092, - 45, 2092, 2092, 2092, 45, 45, 45, 2092, 45, 45, + 45, 45, 45, 45, 2124, 45, 2124, 45, 2124, 45, + 2124, 45, 45, 2124, 45, 2124, 2124, 2124, 45, 45, + 45, 2124, 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, 2124, 45, 45, + 45, 45, 45, 45, 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2092, 45, 45, 45, 45, 45, 45, 45, - 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2092, 45, 45, 2092, + 45, 2124, 45, 45, 2124, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2092, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2092, 45, 45, 45, + 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2092, 2092, 45, 45, 45, + 2124, 2124, 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, 2092, 45, + 45, 45, 45, 45, 2124, 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, 2092, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2092, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2092, 45, 45, + 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2124, 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, 2092, 45, 45, 45, + 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2092, 45, 45, + 45, 45, 45, 2124, 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, 2092, + 45, 45, 45, 45, 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2092, 2092, - 45, 45, 45, 45, 45, 45, 45, 2092, 2092, 45, - 45, 45, 45, 45, 2092, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2092, 45, 2092, 45, 45, 45, + 45, 45, 45, 45, 45, 2124, 2124, 45, 45, 45, + 45, 45, 45, 45, 2124, 2124, 45, 45, 45, 45, + 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2124, 45, 2124, 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, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2092, 45, 45, + 45, 45, 45, 45, 2124, 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, 2092, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2092, 45, 45, - 45, 45, 45, 45, 45, 2092, 2092, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2124, 45, 45, 45, 45, + 45, 45, 45, 2124, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2092, 2092, 45, 45, 45, 2092, 45, 45, - 45, 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2124, 2124, 45, 45, 45, 2124, 45, 45, 45, 45, + 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2092, 45, 45, 45, 45, 45, + 2124, 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, 2092, 45, 45, + 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2092, 45, 45, 45, + 45, 45, 45, 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2124, 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, 2092, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2092, 45, 45, 45, 2092, - 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2124, 45, 45, 45, 2124, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2092, 45, 45, 45, 45, 45, - 45, 45, 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2092, 2092, 45, 2092, 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2124, 45, 45, 45, 45, 45, 45, + 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2124, 2124, 45, 2124, 45, 2124, 45, 45, - 45, 45, 45, 45, 2092, 45, 45, 45, 2092, 45, - 45, 45, 45, 45, 2092, 45, 2092, 45, 2092, 45, - 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2092, 45, 45, - 45, 45, 45, 45, 2092, 2092, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2092, 45, 45, 45, 2092, - 45, 45, 45, 45, 45, 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2092, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2124, 45, 45, 45, 2124, 45, + 45, 45, 45, 45, 2124, 45, 2124, 45, 2124, 45, + 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2124, 45, 45, + 45, 45, 45, 45, 2124, 2124, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2124, 45, 45, 45, 2124, + 45, 45, 45, 45, 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2124, 45, 45, 45, 45, - 45, 45, 45, 2092, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2092, 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2092, 45, 45, 45, 45, 45, 45, 2092, 45, 45, - 2092, 45, 2092, 2092, 45, 45, 45, 45, 2092, 45, - 45, 45, 45, 45, 45, 2092, 45, 45, 45, 2092, + 45, 45, 45, 45, 2124, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2124, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2092, - 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2092, 45, 2092, 45, 2092, 45, 45, - - 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, - 2092, 2092, 45, 45, 2092, 45, 45, 45, 45, 45, - 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2092, 45, 2092, 45, 45, 2092, 45, 45, - 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2092, 45, 45, - 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2124, 45, 45, 45, 45, 45, 45, 2124, 45, + 45, 2124, 45, 2124, 2124, 45, 45, 45, 45, 2124, + 45, 45, 45, 45, 45, 45, 2124, 45, 45, 45, + 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2124, 45, 45, 2124, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 2124, 45, 2124, 45, 2124, + 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2124, 45, 45, 45, 45, 45, 45, + 45, 45, 2124, 2124, 45, 45, 2124, 45, 45, 45, + 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2124, 45, 2124, 45, 45, 2124, + 45, 45, 45, 2124, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2124, + 45, 45, 45, 45, 2124, 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, 2092, 45, 45, 45, 45, 45, - 45, 45, 2092, 45, 45, 45, 45, 45, 45, 2092, - 2092, 45, 45, 45, 2092, 2092, 2092, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2092, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2092, 45, - 45, 45, 2092, 45, 45, 2092, 45, 45, 45, 2092, - 45, 45, 45, 45, 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2124, 45, 45, + 45, 45, 45, 45, 45, 2124, 45, 45, 45, 45, + 45, 45, 2124, 2124, 45, 45, 45, 2124, 2124, 2124, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2124, 45, 45, 45, 2124, 45, 45, 2124, + 45, 45, 45, 2124, 45, 45, 45, 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2092, 45, 2092, 45, 45, 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2092, 45, 45, 45, 45, 45, 2092, 45, 45, 45, - 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2092, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2092, 45, 2092, 45, 45, 45, 2092, - 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2092, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2092, 45, 45, - - 45, 45, 2092, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2092, 45, 45, 45, 45, 45, - 45, 2092, 45, 45, 2092, 45, 45, 45, 45, 45, - 45, 45, 45, 2092, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2092, 2092, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2092, 45, 45, - 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2124, 45, 2124, 45, + 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2124, 45, 45, 45, 45, + 45, 2124, 45, 45, 45, 2124, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2124, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2124, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2124, 45, + 2124, 45, 45, 45, 2124, 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2092, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2092, 45, 2092, 45, - 2092, 45, 2092, 45, 2092, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2092, 45, 45, 45, 45, 2092, + 45, 45, 45, 2124, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2124, 45, 45, 45, 45, 2124, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2124, 45, 45, 45, 45, 45, 45, 2124, 45, 45, + 2124, 45, 45, 45, 45, 45, 45, 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2092, 45, 45, 2092, 45, 45, 45, 45, 45, 2092, - 45, 45, 2092, 45, 2092, 45, 2092, 45, 2092, 45, - 45, 45, 45, 45, 2092, 45, 45, 45, 45, 45, - 45, 45, 2092, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2124, 2124, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2124, 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2092, 45, 45, 45, 2092, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2124, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2124, 45, 2124, 45, 2124, 45, + 2124, 45, 2124, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2124, 45, 45, 45, 45, 2124, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2124, + 45, 45, 2124, 45, 45, 45, 45, 45, 2124, 45, + 45, 2124, 45, 2124, 45, 2124, 45, 2124, 45, 45, + 45, 45, 45, 2124, 45, 45, 45, 45, 45, 45, + 45, 2124, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2092, 45, 45, 2092, 45, 45, 45, 2092, 45, 45, - 45, 45, 2092, 2092, 2092, 2092, 2092, 45, 2092, 2092, - 2092, 45, 45, 45, 45, 45, 2092, 45, 45, 45, - 45, 45, 45, 45, 2092, 45, 45, 45, 2092, 45, - 2092, 45, 2092, 45, 45, 45, 45, 45, 2092, 45, - 45, 45, 2092, 45, 45, 2092, 2092, 45, 45, 45, - 45, 45, 45, 45, 45, 2092, 45, 45, 45, 45, - 45, 2092, 45, 2092, 2092, 45, 45, 45, 45, 2092, - 2092, 0, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092 + 45, 2124, 45, 45, 45, 2124, 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, 2124, 45, 45, 2124, 45, 45, 45, 45, 2124, + 45, 45, 45, 45, 2124, 2124, 2124, 2124, 2124, 45, + 2124, 2124, 2124, 45, 45, 45, 45, 45, 2124, 45, + 45, 45, 45, 45, 45, 45, 45, 2124, 45, 45, + 45, 2124, 45, 2124, 45, 2124, 45, 45, 45, 45, + 45, 45, 2124, 45, 45, 45, 45, 2124, 45, 45, + 2124, 2124, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 2124, 45, 45, 45, 45, 45, 45, 2124, 45, + 45, 2124, 2124, 45, 45, 45, 45, 45, 45, 2124, + 45, 2124, 2124, 0, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124 } ; -static const flex_int16_t yy_nxt[2557] = +static const flex_int16_t yy_nxt[2589] = { 0, - 2092, 13, 14, 13, 2092, 15, 16, 2092, 17, 18, + 2124, 13, 14, 13, 2124, 15, 16, 2124, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 84, 806, 37, 14, 37, 85, 25, 26, 38, 100, - 2092, 27, 37, 14, 37, 42, 28, 42, 38, 90, - 91, 29, 199, 30, 13, 14, 13, 89, 90, 25, + 84, 812, 37, 14, 37, 85, 25, 26, 38, 100, + 2124, 27, 37, 14, 37, 42, 28, 42, 38, 90, + 91, 29, 200, 30, 13, 14, 13, 89, 90, 25, 31, 91, 13, 14, 13, 13, 14, 13, 32, 40, - 807, 13, 14, 13, 33, 40, 101, 90, 91, 199, + 813, 13, 14, 13, 33, 40, 101, 90, 91, 200, 89, 34, 35, 13, 14, 13, 93, 15, 16, 94, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 13, 14, 13, 89, 39, 102, 25, 26, 13, 14, 13, 27, 39, 42, 105, 42, 28, 42, - 106, 42, 41, 29, 108, 30, 111, 112, 92, 136, - 41, 25, 31, 102, 137, 375, 87, 138, 87, 105, + 106, 42, 41, 29, 108, 30, 111, 112, 92, 137, + 41, 25, 31, 102, 138, 378, 87, 139, 87, 105, 32, 88, 88, 88, 88, 88, 33, 108, 106, 111, - 862, 112, 376, 34, 35, 44, 44, 44, 45, 45, + 861, 112, 379, 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, 45, 48, 49, 50, 45, 51, 52, 53, 45, 45, 45, @@ -1474,161 +1485,161 @@ static const flex_int16_t yy_nxt[2557] = 58, 45, 59, 60, 61, 62, 63, 64, 65, 51, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 56, 45, 45, 45, 45, 45, 79, 236, + 76, 77, 56, 45, 45, 45, 45, 45, 79, 238, 80, 80, 80, 80, 80, 79, 102, 82, 82, 82, - 82, 82, 237, 81, 83, 83, 83, 83, 83, 79, - 81, 82, 82, 82, 82, 82, 134, 81, 863, 187, - 109, 118, 116, 135, 81, 119, 81, 105, 117, 120, - 110, 131, 121, 81, 139, 122, 189, 123, 166, 124, - 81, 132, 167, 109, 140, 187, 141, 81, 45, 108, - 105, 45, 45, 45, 252, 45, 45, 45, 110, 114, - 399, 133, 45, 45, 189, 45, 45, 253, 152, 188, - - 153, 45, 154, 45, 45, 45, 45, 45, 45, 45, + 82, 82, 239, 81, 83, 83, 83, 83, 83, 79, + 81, 82, 82, 82, 82, 82, 135, 81, 131, 188, + 109, 118, 116, 136, 81, 119, 81, 105, 117, 120, + 110, 132, 121, 81, 140, 122, 190, 123, 167, 124, + 81, 133, 168, 109, 141, 188, 142, 81, 45, 108, + 105, 45, 45, 45, 254, 45, 45, 45, 110, 114, + 402, 134, 45, 45, 190, 45, 45, 255, 153, 189, + + 154, 45, 155, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 125, 188, 45, 126, 127, 187, - 45, 128, 129, 147, 45, 143, 144, 148, 301, 145, - 400, 149, 45, 188, 130, 146, 45, 189, 45, 115, - 155, 100, 302, 150, 111, 190, 198, 151, 156, 160, - 157, 195, 161, 162, 168, 158, 159, 200, 169, 191, - 238, 170, 233, 163, 234, 192, 164, 111, 171, 172, - 175, 176, 198, 173, 174, 203, 239, 183, 101, 195, - 109, 235, 184, 83, 83, 83, 83, 83, 201, 79, + 45, 45, 45, 45, 125, 189, 45, 126, 127, 188, + 45, 128, 129, 148, 45, 144, 145, 149, 303, 146, + 403, 150, 45, 189, 130, 147, 45, 190, 45, 115, + 156, 100, 304, 151, 111, 191, 199, 152, 157, 161, + 158, 196, 162, 163, 169, 159, 160, 201, 170, 192, + 240, 171, 235, 164, 236, 193, 165, 111, 172, 173, + 176, 177, 199, 174, 175, 204, 241, 184, 101, 196, + 109, 237, 185, 83, 83, 83, 83, 83, 202, 79, 110, 80, 80, 80, 80, 80, 81, 83, 83, 83, - 83, 83, 203, 177, 81, 178, 227, 228, 179, 180, - 81, 202, 782, 783, 247, 87, 229, 87, 181, 81, - 88, 88, 88, 88, 88, 182, 79, 81, 82, 82, - 82, 82, 82, 81, 88, 88, 88, 88, 88, 202, - 99, 81, 88, 88, 88, 88, 88, 99, 204, 206, - 214, 205, 195, 257, 242, 202, 220, 243, 248, 215, - 267, 244, 203, 216, 81, 221, 222, 317, 204, 211, - 315, 272, 206, 864, 258, 282, 204, 99, 205, 283, - 212, 99, 316, 265, 317, 99, 273, 274, 275, 306, - - 317, 278, 322, 99, 279, 280, 310, 99, 315, 99, - 99, 209, 285, 315, 316, 324, 268, 320, 316, 210, - 210, 210, 210, 210, 435, 322, 436, 327, 210, 210, - 210, 210, 210, 210, 295, 403, 329, 325, 296, 331, - 319, 318, 297, 324, 377, 404, 865, 286, 287, 288, - 327, 210, 210, 210, 210, 210, 210, 385, 289, 329, - 290, 322, 291, 292, 325, 293, 331, 332, 332, 332, - 332, 332, 343, 327, 345, 344, 332, 332, 332, 332, - 332, 332, 346, 419, 334, 428, 420, 347, 348, 328, - 452, 329, 449, 449, 440, 454, 394, 378, 429, 332, - - 332, 332, 332, 332, 332, 456, 474, 477, 866, 867, - 386, 452, 478, 387, 329, 449, 450, 868, 454, 452, - 483, 528, 498, 475, 523, 456, 484, 499, 444, 544, - 524, 529, 591, 456, 459, 459, 459, 459, 459, 579, - 460, 869, 580, 459, 459, 459, 459, 459, 459, 516, - 517, 518, 548, 530, 557, 519, 549, 562, 558, 587, - 591, 563, 707, 595, 588, 596, 459, 459, 459, 459, - 459, 459, 591, 633, 614, 500, 623, 873, 634, 874, - 501, 658, 615, 728, 616, 617, 618, 545, 619, 624, - 595, 659, 596, 45, 45, 45, 45, 45, 752, 859, - - 597, 753, 45, 45, 45, 45, 45, 45, 697, 729, - 728, 727, 731, 698, 708, 818, 730, 858, 875, 732, - 819, 847, 859, 876, 877, 45, 45, 45, 45, 45, - 45, 870, 871, 848, 872, 878, 879, 729, 880, 881, - 882, 883, 884, 885, 886, 858, 887, 888, 889, 890, - 891, 892, 893, 896, 897, 898, 894, 899, 900, 820, - 895, 901, 902, 903, 904, 905, 906, 907, 908, 909, + 83, 83, 204, 178, 81, 179, 228, 229, 180, 181, + 81, 203, 788, 789, 249, 87, 230, 87, 182, 81, + 88, 88, 88, 88, 88, 183, 79, 81, 82, 82, + 82, 82, 82, 81, 88, 88, 88, 88, 88, 203, + 99, 81, 88, 88, 88, 88, 88, 99, 205, 207, + 215, 206, 196, 259, 244, 203, 221, 245, 250, 216, + 269, 246, 204, 217, 81, 222, 223, 319, 205, 212, + 317, 274, 207, 862, 260, 284, 205, 99, 206, 285, + 213, 99, 318, 267, 319, 99, 275, 276, 277, 308, + + 319, 280, 324, 99, 281, 282, 312, 99, 317, 99, + 99, 210, 287, 317, 318, 326, 270, 322, 318, 211, + 211, 211, 211, 211, 438, 324, 439, 329, 211, 211, + 211, 211, 211, 211, 297, 406, 331, 327, 298, 333, + 321, 320, 299, 326, 380, 407, 863, 288, 289, 290, + 329, 211, 211, 211, 211, 211, 211, 388, 291, 331, + 292, 324, 293, 294, 327, 295, 333, 334, 334, 334, + 334, 334, 345, 329, 347, 346, 334, 334, 334, 334, + 334, 334, 348, 422, 336, 431, 423, 349, 350, 330, + 455, 331, 452, 452, 443, 457, 397, 381, 432, 334, + + 334, 334, 334, 334, 334, 459, 477, 480, 866, 867, + 389, 455, 481, 390, 331, 452, 453, 868, 457, 455, + 486, 532, 502, 478, 527, 459, 487, 503, 447, 548, + 528, 533, 595, 459, 462, 462, 462, 462, 462, 583, + 463, 869, 584, 462, 462, 462, 462, 462, 462, 520, + 521, 522, 552, 534, 561, 523, 553, 566, 562, 591, + 595, 567, 712, 599, 592, 600, 462, 462, 462, 462, + 462, 462, 595, 638, 618, 504, 627, 870, 639, 871, + 505, 663, 619, 733, 620, 621, 622, 549, 623, 628, + 599, 664, 600, 45, 45, 45, 45, 45, 757, 865, + + 601, 758, 45, 45, 45, 45, 45, 45, 702, 734, + 733, 732, 736, 703, 713, 824, 735, 864, 872, 737, + 825, 853, 865, 873, 874, 45, 45, 45, 45, 45, + 45, 875, 879, 854, 880, 876, 877, 734, 878, 881, + 882, 883, 884, 885, 886, 864, 887, 888, 889, 890, + 891, 892, 893, 894, 895, 896, 897, 898, 899, 826, + 900, 903, 904, 905, 901, 906, 907, 908, 902, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, - 920, 921, 922, 923, 924, 926, 927, 925, 928, 929, - 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, + 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, + 930, 931, 933, 934, 932, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, - 960, 961, 962, 963, 964, 965, 966, 967, 968, 970, - 971, 972, 975, 976, 977, 969, 979, 980, 973, 981, - 978, 982, 974, 983, 984, 985, 986, 987, 988, 989, + 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, + 970, 971, 972, 973, 974, 975, 977, 978, 979, 982, + 983, 984, 976, 986, 987, 980, 988, 985, 989, 981, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, - 1020, 993, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, + 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1000, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, - 1040, 1041, 1042, 1043, 1039, 1044, 1045, 1046, 1047, 1048, - 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, - 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1067, 1068, 1069, - 1066, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, + 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1048, 1049, + 1050, 1051, 1047, 1052, 1053, 1054, 1055, 1056, 1057, 1058, + 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, + 1069, 1070, 1071, 1072, 1073, 1075, 1076, 1077, 1074, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, - 1099, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, - 1110, 1111, 1100, 1112, 1113, 1114, 1115, 1116, 1117, 1118, - 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, + 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1109, + 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, + 1108, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, - 1139, 1140, 1141, 1142, 1120, 1143, 1144, 1119, 1145, 1146, - 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, + 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, + 1149, 1150, 1128, 1151, 1152, 1127, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, - 1167, 1170, 1171, 1172, 1173, 1168, 1174, 1175, 1176, 1177, - 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, - 1188, 1189, 1190, 1191, 1192, 1193, 1195, 1196, 1197, 1198, - 1199, 1200, 1201, 1202, 1203, 1204, 1194, 1205, 1206, 1207, - 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, - 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1169, 1226, - 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, - - 1237, 1238, 1239, 1241, 1240, 1242, 1243, 1244, 1245, 1246, - 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, + 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, + 1179, 1180, 1181, 1182, 1177, 1183, 1184, 1185, 1186, 1187, + 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, + 1198, 1199, 1200, 1201, 1202, 1204, 1205, 1206, 1207, 1208, + 1209, 1210, 1211, 1212, 1213, 1203, 1214, 1215, 1216, 1217, + 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, + 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1178, 1235, 1236, + + 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, + 1247, 1248, 1250, 1249, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, - 1239, 1240, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, - 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, - 1285, 1286, 1288, 1290, 1291, 1292, 1287, 1293, 1294, 1295, - 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, + 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1248, + 1249, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, + 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, + 1295, 1296, 1298, 1300, 1301, 1302, 1297, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, - 1326, 1327, 1328, 1329, 1330, 1331, 1289, 1332, 1333, 1334, + 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, - 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, + 1336, 1337, 1338, 1339, 1340, 1341, 1299, 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, 1373, 1374, - 1375, 1376, 1354, 1377, 1378, 1379, 1380, 1381, 1355, 1382, - 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, + 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, + 1385, 1386, 1364, 1387, 1388, 1389, 1390, 1391, 1365, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 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, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, - 1433, 1434, 1435, 1437, 1438, 1439, 1440, 1441, 1442, 1443, - 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, - 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1462, 1463, 1464, - 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, - 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1455, - 1484, 1485, 1486, 1487, 1488, 1436, 1489, 1490, 1491, 1492, - 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, - 1461, 1503, 1504, 1506, 1507, 1508, 1509, 1510, 1511, 1512, - 1505, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, - 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, - - 1533, 1534, 1537, 1535, 1532, 1536, 1538, 1539, 1540, 1541, - 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, + 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, + 1443, 1444, 1445, 1446, 1448, 1449, 1450, 1451, 1452, 1453, + 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, + 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1473, 1474, + 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, + 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, + 1466, 1495, 1496, 1497, 1498, 1499, 1447, 1500, 1501, 1502, + 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, + 1513, 1472, 1514, 1515, 1516, 1518, 1519, 1520, 1521, 1522, + 1523, 1524, 1517, 1525, 1526, 1527, 1528, 1529, 1530, 1531, + + 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, + 1542, 1543, 1545, 1546, 1549, 1547, 1544, 1548, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, - 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1547, 1570, - 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, - 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, + 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, + 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, + 1559, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, - 1611, 1615, 1612, 1616, 1617, 1613, 1618, 1619, 1614, 1620, - 1621, 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, 1640, - 1651, 1652, 1653, 1627, 1654, 1655, 1656, 1657, 1658, 1659, - 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, - 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, + 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, + 1621, 1622, 1623, 1624, 1628, 1625, 1629, 1630, 1626, 1631, + + 1632, 1627, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, + 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, + 1651, 1652, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, + 1662, 1663, 1653, 1664, 1665, 1666, 1640, 1667, 1668, 1669, + 1670, 1671, 1672, 1673, 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, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, - 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1660, 1718, 1719, - 1720, 1721, 1723, 1724, 1725, 1726, 1722, 1727, 1728, 1729, + 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, + 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, - 1730, 1704, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, - 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, + 1731, 1674, 1732, 1733, 1734, 1735, 1736, 1738, 1739, 1740, + 1741, 1737, 1742, 1743, 1744, 1718, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, @@ -1664,94 +1675,97 @@ static const flex_int16_t yy_nxt[2557] = 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, - 2070, 2069, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, + 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, - 2089, 2090, 2091, 12, 12, 12, 36, 36, 36, 78, - 97, 78, 99, 99, 99, 113, 113, 113, 186, 861, - 186, 207, 207, 207, 860, 857, 856, 855, 854, 853, - 852, 851, 850, 849, 846, 845, 844, 843, 842, 841, - - 840, 839, 838, 837, 836, 835, 834, 833, 832, 831, - 830, 829, 828, 827, 826, 825, 824, 823, 822, 821, - 817, 816, 815, 814, 813, 812, 811, 810, 809, 808, - 805, 804, 803, 802, 801, 800, 799, 798, 797, 796, - 795, 794, 793, 792, 791, 790, 789, 788, 787, 786, - 785, 784, 781, 780, 779, 778, 777, 776, 775, 774, - 773, 772, 771, 770, 769, 768, 767, 766, 765, 764, - 763, 762, 761, 760, 759, 758, 757, 756, 755, 754, - 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, - 741, 740, 739, 738, 737, 736, 735, 734, 733, 727, - - 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, - 716, 715, 714, 713, 712, 711, 710, 709, 706, 705, - 704, 703, 702, 701, 700, 699, 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, 668, 667, 666, 665, 664, 663, - 662, 661, 660, 657, 656, 655, 654, 653, 652, 651, - 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, - 640, 639, 638, 637, 636, 635, 632, 631, 630, 629, - 628, 627, 626, 625, 622, 621, 620, 613, 612, 611, - - 610, 609, 608, 607, 606, 605, 604, 603, 602, 601, - 600, 599, 598, 594, 593, 592, 590, 589, 586, 585, - 584, 583, 582, 581, 578, 577, 576, 575, 574, 573, - 572, 571, 570, 569, 568, 567, 566, 565, 564, 561, - 560, 559, 556, 555, 554, 553, 552, 551, 550, 547, - 546, 543, 542, 541, 540, 539, 538, 537, 536, 535, - 534, 533, 532, 531, 527, 526, 525, 522, 521, 520, - 515, 514, 513, 512, 511, 510, 509, 508, 507, 506, - 505, 504, 503, 502, 497, 496, 495, 494, 493, 492, - 491, 490, 489, 488, 487, 486, 485, 482, 481, 480, - - 479, 476, 473, 472, 471, 470, 469, 468, 467, 466, - 465, 464, 463, 462, 461, 458, 457, 455, 453, 451, - 448, 447, 446, 445, 443, 442, 441, 439, 438, 437, - 434, 433, 432, 431, 430, 427, 426, 425, 424, 423, - 422, 421, 418, 417, 416, 415, 414, 413, 412, 411, - 410, 409, 408, 407, 406, 405, 402, 401, 398, 397, - 396, 395, 393, 392, 391, 390, 389, 388, 384, 383, - 382, 381, 380, 379, 374, 373, 372, 371, 370, 369, - 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, - 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, - - 342, 341, 340, 339, 338, 337, 336, 335, 333, 208, - 330, 328, 326, 323, 321, 314, 313, 312, 311, 309, - 308, 307, 305, 304, 303, 300, 299, 298, 294, 284, - 281, 277, 276, 271, 270, 269, 266, 264, 263, 262, - 261, 260, 259, 256, 255, 254, 251, 250, 249, 246, - 245, 241, 240, 232, 231, 230, 226, 225, 224, 223, - 219, 218, 217, 213, 208, 197, 196, 194, 193, 185, - 165, 142, 107, 104, 103, 43, 98, 96, 95, 86, - 43, 2092, 11, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092 + 2089, 2090, 2091, 2092, 2093, 2095, 2094, 2096, 2097, 2098, + 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, + 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, + 2119, 2120, 2121, 2122, 2123, 12, 12, 12, 36, 36, + + 36, 78, 97, 78, 99, 99, 99, 113, 113, 113, + 187, 860, 187, 208, 208, 208, 859, 858, 857, 856, + 855, 852, 851, 850, 849, 848, 847, 846, 845, 844, + 843, 842, 841, 840, 839, 838, 837, 836, 835, 834, + 833, 832, 831, 830, 829, 828, 827, 823, 822, 821, + 820, 819, 818, 817, 816, 815, 814, 811, 810, 809, + 808, 807, 806, 805, 804, 803, 802, 801, 800, 799, + 798, 797, 796, 795, 794, 793, 792, 791, 790, 787, + 786, 785, 784, 783, 782, 781, 780, 779, 778, 777, + 776, 775, 774, 773, 772, 771, 770, 769, 768, 767, + + 766, 765, 764, 763, 762, 761, 760, 759, 756, 755, + 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, + 744, 743, 742, 741, 740, 739, 738, 732, 731, 730, + 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, + 719, 718, 717, 716, 715, 714, 711, 710, 709, 708, + 707, 706, 705, 704, 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, 668, 667, 666, + 665, 662, 661, 660, 659, 658, 657, 656, 655, 654, + + 653, 652, 651, 650, 649, 648, 647, 646, 645, 644, + 643, 642, 641, 640, 637, 636, 635, 634, 633, 632, + 631, 630, 629, 626, 625, 624, 617, 616, 615, 614, + 613, 612, 611, 610, 609, 608, 607, 606, 605, 604, + 603, 602, 598, 597, 596, 594, 593, 590, 589, 588, + 587, 586, 585, 582, 581, 580, 579, 578, 577, 576, + 575, 574, 573, 572, 571, 570, 569, 568, 565, 564, + 563, 560, 559, 558, 557, 556, 555, 554, 551, 550, + 547, 546, 545, 544, 543, 542, 541, 540, 539, 538, + 537, 536, 535, 531, 530, 529, 526, 525, 524, 519, + + 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, + 508, 507, 506, 501, 500, 499, 498, 497, 496, 495, + 494, 493, 492, 491, 490, 489, 488, 485, 484, 483, + 482, 479, 476, 475, 474, 473, 472, 471, 470, 469, + 468, 467, 466, 465, 464, 461, 460, 458, 456, 454, + 451, 450, 449, 448, 446, 445, 444, 442, 441, 440, + 437, 436, 435, 434, 433, 430, 429, 428, 427, 426, + 425, 424, 421, 420, 419, 418, 417, 416, 415, 414, + 413, 412, 411, 410, 409, 408, 405, 404, 401, 400, + 399, 398, 396, 395, 394, 393, 392, 391, 387, 386, + + 385, 384, 383, 382, 377, 376, 375, 374, 373, 372, + 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, + 361, 360, 359, 358, 357, 356, 355, 354, 353, 352, + 351, 344, 343, 342, 341, 340, 339, 338, 337, 335, + 209, 332, 330, 328, 325, 323, 316, 315, 314, 313, + 311, 310, 309, 307, 306, 305, 302, 301, 300, 296, + 286, 283, 279, 278, 273, 272, 271, 268, 266, 265, + 264, 263, 262, 261, 258, 257, 256, 253, 252, 251, + 248, 247, 243, 242, 234, 233, 232, 231, 227, 226, + 225, 224, 220, 219, 218, 214, 209, 198, 197, 195, + + 194, 186, 166, 143, 107, 104, 103, 43, 98, 96, + 95, 86, 43, 2124, 11, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124 } ; -static const flex_int16_t yy_chk[2557] = +static const flex_int16_t yy_chk[2589] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 675, 3, 3, 3, 21, 1, 1, 3, 44, + 21, 680, 3, 3, 3, 21, 1, 1, 3, 44, 0, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 106, 1, 5, 5, 5, 26, 32, 1, 1, 33, 6, 6, 6, 7, 7, 7, 1, 7, - 675, 8, 8, 8, 1, 8, 44, 27, 28, 106, + 680, 8, 8, 8, 1, 8, 44, 27, 28, 106, 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, 50, 37, 2, 42, 51, 42, 9, 2, 53, 2, 55, 56, 31, 64, - 10, 2, 2, 47, 64, 250, 25, 64, 25, 50, + 10, 2, 2, 47, 64, 252, 25, 64, 25, 50, 2, 25, 25, 25, 25, 25, 2, 53, 51, 55, - 732, 56, 250, 2, 2, 15, 15, 15, 15, 15, + 728, 56, 252, 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, @@ -1759,264 +1773,267 @@ static const flex_int16_t yy_chk[2557] = 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, 132, + 15, 15, 15, 15, 15, 15, 15, 15, 17, 133, 17, 17, 17, 17, 17, 19, 58, 19, 19, 19, - 19, 19, 132, 17, 20, 20, 20, 20, 20, 22, - 19, 22, 22, 22, 22, 22, 63, 20, 733, 89, + 19, 19, 133, 17, 20, 20, 20, 20, 20, 22, + 19, 22, 22, 22, 22, 22, 63, 20, 61, 89, 54, 59, 58, 63, 22, 59, 17, 62, 58, 59, 54, 61, 59, 19, 65, 59, 91, 59, 73, 59, 20, 61, 73, 54, 65, 89, 65, 22, 45, 69, - 62, 45, 45, 45, 143, 45, 45, 45, 54, 57, - 270, 62, 45, 45, 91, 45, 57, 143, 69, 90, + 62, 45, 45, 45, 144, 45, 45, 45, 54, 57, + 272, 62, 45, 45, 91, 45, 57, 144, 69, 90, 69, 45, 69, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 60, 90, 57, 60, 60, 92, - 57, 60, 60, 68, 57, 67, 67, 68, 173, 67, - 270, 68, 57, 93, 60, 67, 57, 94, 57, 57, - 70, 99, 173, 68, 76, 92, 105, 68, 70, 71, + 57, 60, 60, 68, 57, 67, 67, 68, 174, 67, + 272, 68, 57, 93, 60, 67, 57, 94, 57, 57, + 70, 99, 174, 68, 76, 92, 105, 68, 70, 71, 70, 102, 71, 71, 74, 70, 70, 107, 74, 93, - 133, 74, 131, 71, 131, 94, 71, 76, 74, 74, - 75, 75, 105, 74, 74, 109, 133, 76, 99, 102, - 75, 131, 76, 79, 79, 79, 79, 79, 107, 80, + 134, 74, 132, 71, 132, 94, 71, 76, 74, 74, + 75, 75, 105, 74, 74, 109, 134, 76, 99, 102, + 75, 132, 76, 79, 79, 79, 79, 79, 107, 80, 75, 80, 80, 80, 80, 80, 79, 83, 83, 83, 83, 83, 109, 75, 80, 75, 127, 127, 75, 75, - 83, 108, 650, 650, 139, 81, 127, 81, 75, 79, + 83, 108, 655, 655, 140, 81, 127, 81, 75, 79, 81, 81, 81, 81, 81, 75, 82, 80, 82, 82, 82, 82, 82, 83, 87, 87, 87, 87, 87, 108, 101, 82, 88, 88, 88, 88, 88, 101, 110, 112, - 118, 111, 116, 147, 136, 154, 122, 136, 139, 118, - 156, 136, 177, 118, 82, 122, 122, 189, 181, 116, - 187, 160, 112, 734, 147, 165, 110, 101, 111, 165, - 116, 101, 188, 154, 192, 101, 160, 160, 160, 177, - - 189, 163, 195, 101, 163, 163, 181, 101, 187, 101, - 101, 115, 167, 190, 191, 198, 156, 192, 188, 115, - 115, 115, 115, 115, 302, 195, 302, 202, 115, 115, - 115, 115, 115, 115, 169, 273, 204, 199, 169, 206, - 191, 190, 169, 198, 251, 273, 735, 167, 167, 167, - 202, 115, 115, 115, 115, 115, 115, 258, 167, 204, - 167, 212, 167, 167, 199, 167, 206, 210, 210, 210, - 210, 210, 221, 265, 222, 221, 210, 210, 210, 210, - 210, 210, 222, 288, 212, 296, 288, 222, 222, 306, - 322, 310, 315, 318, 306, 324, 265, 251, 296, 210, - - 210, 210, 210, 210, 210, 327, 348, 351, 736, 737, - 258, 334, 351, 258, 310, 315, 318, 738, 324, 322, - 356, 393, 370, 348, 389, 394, 356, 370, 310, 409, - 389, 393, 452, 327, 332, 332, 332, 332, 332, 440, - 334, 739, 440, 332, 332, 332, 332, 332, 332, 385, - 385, 385, 412, 394, 420, 385, 412, 424, 420, 447, - 452, 424, 568, 458, 447, 458, 332, 332, 332, 332, - 332, 332, 460, 493, 479, 370, 483, 741, 493, 742, - 370, 518, 479, 595, 479, 479, 479, 409, 479, 483, - 458, 518, 458, 459, 459, 459, 459, 459, 619, 729, - - 460, 619, 459, 459, 459, 459, 459, 459, 559, 596, - 595, 597, 599, 559, 568, 687, 597, 728, 743, 599, - 687, 716, 729, 744, 745, 459, 459, 459, 459, 459, - 459, 740, 740, 716, 740, 746, 747, 596, 748, 749, - 750, 751, 752, 753, 754, 728, 755, 756, 757, 758, - 759, 760, 761, 762, 763, 764, 761, 765, 766, 687, - 761, 767, 768, 770, 771, 772, 773, 774, 775, 776, - 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, - 787, 788, 789, 790, 791, 792, 793, 791, 794, 796, - 797, 798, 799, 800, 801, 802, 803, 804, 805, 807, - - 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, - 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, - 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, - 839, 840, 841, 842, 843, 837, 844, 845, 840, 846, - 843, 848, 840, 849, 850, 851, 852, 853, 854, 855, - 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, - 866, 867, 869, 870, 871, 872, 873, 874, 875, 876, - 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, - 887, 859, 888, 889, 890, 891, 892, 893, 894, 895, - 896, 897, 898, 899, 901, 902, 903, 904, 905, 906, - - 907, 908, 909, 910, 906, 911, 912, 913, 914, 915, - 916, 917, 918, 921, 922, 923, 924, 925, 926, 927, - 930, 931, 932, 933, 934, 936, 937, 938, 939, 940, - 937, 941, 942, 943, 944, 946, 948, 949, 950, 951, - 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, - 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, - 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, - 983, 984, 972, 985, 986, 987, 988, 989, 990, 991, - 992, 993, 994, 995, 996, 997, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, - - 1013, 1014, 1015, 1016, 993, 1017, 1018, 992, 1019, 1020, - 1021, 1022, 1023, 1024, 1026, 1027, 1028, 1029, 1030, 1031, - 1032, 1033, 1034, 1035, 1036, 1037, 1039, 1040, 1041, 1042, - 1043, 1044, 1045, 1048, 1049, 1043, 1050, 1051, 1052, 1053, - 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, - 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1075, - 1076, 1077, 1079, 1080, 1081, 1082, 1069, 1084, 1085, 1086, - 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, - 1097, 1098, 1099, 1100, 1101, 1102, 1104, 1105, 1043, 1106, - 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, - - 1117, 1118, 1119, 1121, 1120, 1122, 1123, 1124, 1126, 1127, - 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, - 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, - 1119, 1120, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, - 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, - 1168, 1169, 1170, 1171, 1172, 1173, 1169, 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, 1205, 1206, 1207, - 1208, 1209, 1210, 1211, 1212, 1213, 1170, 1214, 1215, 1217, - - 1218, 1219, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, - 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, - 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, - 1250, 1251, 1252, 1253, 1254, 1256, 1257, 1258, 1259, 1260, - 1261, 1262, 1239, 1263, 1265, 1266, 1267, 1268, 1240, 1269, - 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, - 1280, 1281, 1282, 1285, 1287, 1289, 1290, 1291, 1292, 1293, - 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, - 1304, 1306, 1307, 1308, 1310, 1311, 1312, 1313, 1314, 1316, - 1318, 1320, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, - - 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1339, 1340, - 1341, 1342, 1343, 1344, 1347, 1348, 1349, 1350, 1351, 1352, - 1353, 1354, 1355, 1357, 1358, 1359, 1361, 1362, 1363, 1364, - 1365, 1366, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, - 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1354, - 1386, 1387, 1388, 1389, 1390, 1332, 1391, 1392, 1393, 1394, - 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1405, - 1361, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, - 1407, 1415, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, - 1426, 1427, 1428, 1429, 1430, 1432, 1433, 1434, 1435, 1436, - - 1437, 1439, 1442, 1440, 1436, 1440, 1445, 1446, 1447, 1448, - 1450, 1451, 1452, 1453, 1454, 1455, 1457, 1458, 1459, 1461, - 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, - 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1455, 1481, - 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, - 1493, 1495, 1497, 1499, 1500, 1502, 1503, 1504, 1505, 1506, - 1507, 1508, 1509, 1510, 1511, 1513, 1514, 1515, 1516, 1517, - 1518, 1519, 1520, 1523, 1524, 1526, 1527, 1528, 1529, 1530, - 1532, 1533, 1532, 1534, 1535, 1532, 1536, 1537, 1532, 1538, - 1539, 1540, 1541, 1542, 1544, 1546, 1547, 1549, 1550, 1551, - - 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, - 1563, 1564, 1565, 1566, 1567, 1569, 1570, 1571, 1573, 1561, - 1574, 1575, 1576, 1547, 1577, 1578, 1579, 1580, 1580, 1581, - 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, - 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, - 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, - 1612, 1613, 1614, 1616, 1617, 1618, 1619, 1620, 1621, 1622, - 1624, 1625, 1626, 1627, 1628, 1629, 1632, 1633, 1634, 1638, - 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1581, 1646, 1647, - 1648, 1650, 1651, 1652, 1653, 1654, 1650, 1655, 1656, 1657, - - 1658, 1627, 1660, 1661, 1662, 1664, 1665, 1667, 1668, 1669, - 1671, 1672, 1673, 1674, 1675, 1677, 1678, 1679, 1680, 1681, - 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, - 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, - 1702, 1704, 1706, 1707, 1708, 1710, 1711, 1712, 1713, 1714, - 1715, 1716, 1717, 1718, 1719, 1720, 1722, 1723, 1724, 1725, - 1726, 1728, 1729, 1730, 1732, 1733, 1734, 1735, 1736, 1737, - 1738, 1739, 1740, 1741, 1743, 1744, 1745, 1746, 1747, 1748, - 1749, 1750, 1751, 1752, 1753, 1755, 1756, 1757, 1758, 1759, - 1760, 1761, 1762, 1763, 1765, 1767, 1768, 1769, 1771, 1773, - - 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, - 1784, 1785, 1786, 1787, 1789, 1790, 1791, 1792, 1793, 1794, - 1795, 1796, 1797, 1799, 1800, 1801, 1802, 1804, 1805, 1806, - 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1816, 1817, - 1818, 1819, 1820, 1821, 1823, 1824, 1826, 1827, 1828, 1829, - 1830, 1831, 1832, 1833, 1835, 1836, 1837, 1838, 1839, 1840, - 1841, 1842, 1843, 1844, 1845, 1848, 1849, 1850, 1851, 1852, - 1853, 1854, 1855, 1856, 1857, 1859, 1860, 1862, 1863, 1864, - 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, - 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, - - 1885, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, - 1896, 1898, 1900, 1902, 1904, 1906, 1907, 1908, 1909, 1910, - 1911, 1912, 1913, 1914, 1916, 1917, 1918, 1919, 1921, 1922, - 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1932, 1933, - 1935, 1936, 1937, 1938, 1939, 1941, 1942, 1944, 1946, 1948, - 1950, 1951, 1952, 1953, 1954, 1956, 1957, 1958, 1959, 1960, - 1961, 1962, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, - 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, - 1983, 1984, 1985, 1987, 1988, 1989, 1990, 1991, 1992, 1993, - 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, - - 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2015, - 2016, 2017, 2019, 2020, 2021, 2022, 2028, 2032, 2033, 2034, - 2035, 2036, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2046, - 2047, 2048, 2050, 2052, 2054, 2055, 2056, 2057, 2058, 2060, - 2061, 2060, 2062, 2064, 2065, 2068, 2069, 2070, 2071, 2072, - 2073, 2074, 2075, 2077, 2078, 2079, 2080, 2081, 2083, 2086, - 2087, 2088, 2089, 2093, 2093, 2093, 2094, 2094, 2094, 2095, - 2096, 2095, 2097, 2097, 2097, 2098, 2098, 2098, 2099, 731, - 2099, 2100, 2100, 2100, 730, 725, 724, 723, 722, 721, - 720, 719, 718, 717, 715, 714, 713, 711, 710, 709, - - 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, - 698, 696, 695, 694, 693, 692, 691, 690, 689, 688, - 686, 685, 683, 682, 681, 680, 679, 678, 677, 676, - 674, 673, 672, 671, 669, 668, 666, 665, 664, 663, - 662, 661, 660, 659, 658, 657, 656, 655, 654, 653, - 652, 651, 649, 648, 647, 646, 645, 644, 643, 641, - 640, 639, 638, 637, 636, 635, 634, 632, 631, 630, - 629, 628, 627, 626, 625, 624, 623, 622, 621, 620, - 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, - 608, 607, 606, 605, 604, 603, 602, 601, 600, 591, - - 590, 589, 588, 586, 584, 582, 580, 579, 578, 577, - 576, 575, 574, 573, 572, 571, 570, 569, 567, 566, - 565, 564, 563, 562, 561, 560, 558, 557, 556, 555, - 554, 553, 552, 551, 550, 549, 548, 547, 545, 543, - 542, 541, 540, 539, 538, 537, 536, 535, 534, 533, - 532, 531, 530, 529, 528, 526, 525, 524, 523, 522, - 521, 520, 519, 517, 516, 515, 514, 513, 512, 511, - 510, 509, 508, 507, 506, 505, 504, 503, 502, 501, - 500, 499, 497, 496, 495, 494, 492, 491, 490, 489, - 488, 487, 485, 484, 482, 481, 480, 478, 476, 475, - - 474, 473, 472, 471, 470, 469, 467, 466, 465, 464, - 463, 462, 461, 456, 454, 453, 451, 448, 446, 445, - 444, 443, 442, 441, 439, 438, 437, 436, 435, 434, - 433, 432, 431, 430, 429, 428, 427, 426, 425, 423, - 422, 421, 419, 418, 417, 416, 415, 414, 413, 411, - 410, 408, 407, 406, 405, 404, 403, 402, 401, 400, - 399, 398, 397, 396, 392, 391, 390, 388, 387, 386, - 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, - 374, 373, 372, 371, 369, 368, 367, 366, 365, 364, - 363, 362, 361, 360, 359, 358, 357, 355, 354, 353, - - 352, 350, 347, 346, 345, 344, 343, 342, 341, 340, - 339, 338, 337, 336, 335, 331, 329, 325, 323, 321, - 314, 313, 312, 311, 309, 308, 307, 305, 304, 303, - 301, 300, 299, 298, 297, 295, 294, 293, 292, 291, - 290, 289, 287, 286, 285, 284, 283, 282, 281, 280, - 279, 278, 277, 276, 275, 274, 272, 271, 269, 268, - 267, 266, 264, 263, 262, 261, 260, 259, 257, 256, - 255, 254, 253, 252, 249, 248, 246, 245, 244, 243, - 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, - 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, - - 220, 219, 218, 217, 216, 215, 214, 213, 211, 207, - 205, 203, 201, 196, 193, 185, 184, 183, 182, 180, - 179, 178, 176, 175, 174, 172, 171, 170, 168, 166, - 164, 162, 161, 159, 158, 157, 155, 153, 152, 151, - 150, 149, 148, 146, 145, 144, 142, 141, 140, 138, - 137, 135, 134, 130, 129, 128, 126, 125, 124, 123, - 121, 120, 119, 117, 113, 104, 103, 97, 96, 77, - 72, 66, 52, 49, 48, 43, 41, 39, 38, 24, - 14, 11, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, - 2092, 2092, 2092, 2092, 2092, 2092 + 118, 111, 116, 148, 137, 155, 122, 137, 140, 118, + 157, 137, 178, 118, 82, 122, 122, 190, 182, 116, + 188, 161, 112, 729, 148, 166, 110, 101, 111, 166, + 116, 101, 189, 155, 193, 101, 161, 161, 161, 178, + + 190, 164, 196, 101, 164, 164, 182, 101, 188, 101, + 101, 115, 168, 191, 192, 199, 157, 193, 189, 115, + 115, 115, 115, 115, 304, 196, 304, 203, 115, 115, + 115, 115, 115, 115, 170, 275, 205, 200, 170, 207, + 192, 191, 170, 199, 253, 275, 730, 168, 168, 168, + 203, 115, 115, 115, 115, 115, 115, 260, 168, 205, + 168, 213, 168, 168, 200, 168, 207, 211, 211, 211, + 211, 211, 222, 267, 223, 222, 211, 211, 211, 211, + 211, 211, 223, 290, 213, 298, 290, 223, 223, 308, + 324, 312, 317, 320, 308, 326, 267, 253, 298, 211, + + 211, 211, 211, 211, 211, 329, 350, 353, 735, 736, + 260, 336, 353, 260, 312, 317, 320, 737, 326, 324, + 358, 396, 373, 350, 392, 397, 358, 373, 312, 412, + 392, 396, 455, 329, 334, 334, 334, 334, 334, 443, + 336, 738, 443, 334, 334, 334, 334, 334, 334, 388, + 388, 388, 415, 397, 423, 388, 415, 427, 423, 450, + 455, 427, 572, 461, 450, 461, 334, 334, 334, 334, + 334, 334, 463, 497, 482, 373, 486, 739, 497, 740, + 373, 522, 482, 599, 482, 482, 482, 412, 482, 486, + 461, 522, 461, 462, 462, 462, 462, 462, 623, 734, + + 463, 623, 462, 462, 462, 462, 462, 462, 563, 600, + 599, 601, 603, 563, 572, 692, 601, 733, 741, 603, + 692, 721, 734, 742, 743, 462, 462, 462, 462, 462, + 462, 744, 746, 721, 747, 745, 745, 600, 745, 748, + 749, 750, 751, 752, 753, 733, 754, 755, 756, 757, + 758, 759, 760, 761, 762, 763, 764, 765, 766, 692, + 767, 768, 769, 770, 767, 771, 772, 773, 767, 774, + 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, + 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, + 796, 797, 798, 799, 797, 800, 802, 803, 804, 805, + + 806, 807, 808, 809, 810, 811, 813, 814, 815, 816, + 817, 818, 819, 820, 821, 822, 823, 825, 826, 827, + 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, + 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, + 848, 849, 843, 850, 851, 846, 852, 849, 854, 846, + 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, + 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, + 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, + 886, 887, 888, 889, 890, 891, 892, 893, 865, 894, + 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, + + 905, 906, 908, 909, 910, 911, 912, 913, 914, 915, + 916, 917, 913, 918, 919, 920, 921, 922, 923, 924, + 925, 928, 929, 930, 931, 932, 933, 934, 937, 938, + 939, 940, 941, 943, 944, 945, 946, 947, 944, 948, + 949, 950, 951, 953, 955, 956, 957, 958, 959, 960, + 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, 987, 988, 990, 991, + 979, 992, 993, 994, 995, 996, 997, 998, 999, 1000, + 1001, 1002, 1003, 1004, 1006, 1007, 1008, 1009, 1010, 1011, + + 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, + 1022, 1023, 1000, 1024, 1025, 999, 1026, 1027, 1028, 1029, + 1030, 1031, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, + 1041, 1042, 1043, 1044, 1045, 1047, 1048, 1049, 1050, 1051, + 1052, 1053, 1056, 1057, 1051, 1058, 1059, 1060, 1061, 1062, + 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, + 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1083, 1084, + 1085, 1087, 1088, 1089, 1090, 1077, 1092, 1093, 1094, 1095, + 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, + 1106, 1107, 1108, 1109, 1110, 1112, 1113, 1051, 1114, 1115, + + 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, + 1126, 1127, 1129, 1128, 1130, 1131, 1132, 1134, 1135, 1136, + 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, + 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1127, + 1128, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, + 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, + 1177, 1178, 1179, 1180, 1181, 1182, 1178, 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, 1208, 1209, 1210, 1211, 1212, 1214, 1215, 1216, + + 1217, 1218, 1219, 1220, 1221, 1222, 1179, 1223, 1224, 1226, + 1227, 1228, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, + 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, + 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, + 1259, 1260, 1261, 1262, 1263, 1265, 1266, 1267, 1268, 1269, + 1270, 1271, 1248, 1272, 1274, 1275, 1276, 1277, 1249, 1278, + 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, + 1289, 1290, 1291, 1292, 1295, 1297, 1299, 1300, 1301, 1302, + 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, + 1313, 1314, 1316, 1317, 1318, 1320, 1321, 1322, 1323, 1324, + + 1326, 1328, 1330, 1332, 1333, 1334, 1335, 1336, 1337, 1338, + 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1349, + 1350, 1351, 1352, 1353, 1354, 1357, 1358, 1359, 1360, 1361, + 1362, 1363, 1364, 1365, 1367, 1368, 1369, 1371, 1372, 1373, + 1374, 1375, 1376, 1378, 1379, 1380, 1381, 1382, 1383, 1384, + 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, + 1364, 1395, 1397, 1398, 1399, 1400, 1342, 1401, 1402, 1403, + 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, + 1414, 1371, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, + 1424, 1425, 1418, 1426, 1429, 1430, 1431, 1432, 1433, 1434, + + 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1443, 1444, 1445, + 1446, 1447, 1448, 1450, 1453, 1451, 1447, 1451, 1456, 1457, + 1458, 1459, 1461, 1462, 1463, 1464, 1465, 1466, 1468, 1469, + 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, + 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, + 1466, 1492, 1493, 1495, 1496, 1497, 1498, 1499, 1500, 1501, + 1502, 1503, 1504, 1505, 1507, 1509, 1511, 1512, 1514, 1515, + 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1525, 1526, + 1527, 1528, 1529, 1530, 1531, 1532, 1535, 1536, 1538, 1539, + 1540, 1541, 1542, 1544, 1545, 1544, 1546, 1547, 1544, 1548, + + 1549, 1544, 1550, 1551, 1552, 1553, 1554, 1556, 1558, 1559, + 1561, 1562, 1563, 1565, 1566, 1567, 1568, 1569, 1570, 1571, + 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1581, 1582, + 1583, 1584, 1573, 1586, 1587, 1588, 1559, 1589, 1590, 1591, + 1592, 1593, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, + 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, + 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, + 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1629, 1630, 1631, + 1632, 1633, 1634, 1635, 1637, 1638, 1639, 1640, 1641, 1642, + 1645, 1646, 1647, 1651, 1652, 1653, 1654, 1655, 1656, 1657, + + 1658, 1594, 1659, 1660, 1661, 1662, 1664, 1665, 1666, 1667, + 1668, 1664, 1669, 1670, 1671, 1640, 1672, 1674, 1675, 1676, + 1678, 1679, 1681, 1682, 1683, 1685, 1686, 1687, 1688, 1689, + 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, + 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, + 1711, 1712, 1713, 1714, 1715, 1716, 1718, 1720, 1721, 1722, + 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, + 1734, 1735, 1737, 1738, 1739, 1740, 1741, 1743, 1744, 1745, + 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, + 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, + + 1768, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, + 1780, 1782, 1783, 1784, 1786, 1788, 1789, 1790, 1791, 1792, + 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, + 1803, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, + 1815, 1816, 1817, 1818, 1820, 1821, 1822, 1823, 1824, 1825, + 1826, 1827, 1828, 1829, 1830, 1832, 1833, 1834, 1835, 1836, + 1837, 1839, 1840, 1842, 1843, 1844, 1845, 1846, 1847, 1848, + 1849, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, + 1860, 1861, 1862, 1865, 1866, 1867, 1868, 1869, 1870, 1871, + 1872, 1873, 1874, 1876, 1877, 1879, 1880, 1881, 1882, 1883, + + 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, + 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1904, + 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, + 1916, 1918, 1920, 1922, 1924, 1925, 1926, 1927, 1928, 1929, + 1930, 1931, 1932, 1934, 1935, 1936, 1937, 1939, 1940, 1941, + 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1951, 1952, + 1954, 1955, 1956, 1957, 1958, 1960, 1961, 1963, 1965, 1967, + 1969, 1970, 1971, 1972, 1973, 1975, 1976, 1977, 1978, 1979, + 1980, 1981, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, + 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, + + 2001, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012, + 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, + 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2033, + 2034, 2036, 2037, 2038, 2039, 2041, 2042, 2043, 2044, 2050, + 2054, 2055, 2056, 2057, 2058, 2060, 2061, 2062, 2063, 2064, + 2065, 2066, 2067, 2069, 2070, 2071, 2073, 2075, 2077, 2078, + 2079, 2080, 2081, 2082, 2084, 2085, 2084, 2086, 2087, 2089, + 2090, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, + 2103, 2104, 2105, 2106, 2107, 2108, 2110, 2111, 2114, 2115, + 2116, 2117, 2118, 2119, 2121, 2125, 2125, 2125, 2126, 2126, + + 2126, 2127, 2128, 2127, 2129, 2129, 2129, 2130, 2130, 2130, + 2131, 727, 2131, 2132, 2132, 2132, 726, 725, 724, 723, + 722, 720, 719, 718, 716, 715, 714, 713, 712, 711, + 710, 709, 708, 707, 706, 705, 704, 703, 701, 700, + 699, 698, 697, 696, 695, 694, 693, 691, 690, 688, + 687, 686, 685, 684, 683, 682, 681, 679, 678, 677, + 676, 674, 673, 671, 670, 669, 668, 667, 666, 665, + 664, 663, 662, 661, 660, 659, 658, 657, 656, 654, + 653, 652, 651, 650, 649, 648, 646, 645, 644, 643, + 642, 641, 640, 639, 637, 636, 635, 634, 633, 632, + + 631, 630, 629, 628, 627, 626, 625, 624, 622, 621, + 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, + 610, 609, 608, 607, 606, 605, 604, 595, 594, 593, + 592, 590, 588, 586, 584, 583, 582, 581, 580, 579, + 578, 577, 576, 575, 574, 573, 571, 570, 569, 568, + 567, 566, 565, 564, 562, 561, 560, 559, 558, 557, + 556, 555, 554, 553, 552, 551, 549, 547, 546, 545, + 544, 543, 542, 541, 540, 539, 538, 537, 536, 535, + 534, 533, 532, 530, 529, 528, 527, 526, 525, 524, + 523, 521, 520, 519, 518, 517, 516, 515, 514, 513, + + 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, + 501, 500, 499, 498, 496, 495, 494, 493, 492, 491, + 490, 488, 487, 485, 484, 483, 481, 479, 478, 477, + 476, 475, 474, 473, 472, 470, 469, 468, 467, 466, + 465, 464, 459, 457, 456, 454, 451, 449, 448, 447, + 446, 445, 444, 442, 441, 440, 439, 438, 437, 436, + 435, 434, 433, 432, 431, 430, 429, 428, 426, 425, + 424, 422, 421, 420, 419, 418, 417, 416, 414, 413, + 411, 410, 409, 408, 407, 406, 405, 404, 403, 402, + 401, 400, 399, 395, 394, 393, 391, 390, 389, 387, + + 386, 385, 384, 383, 382, 381, 380, 379, 378, 377, + 376, 375, 374, 372, 371, 370, 369, 368, 367, 366, + 365, 364, 363, 362, 361, 360, 359, 357, 356, 355, + 354, 352, 349, 348, 347, 346, 345, 344, 343, 342, + 341, 340, 339, 338, 337, 333, 331, 327, 325, 323, + 316, 315, 314, 313, 311, 310, 309, 307, 306, 305, + 303, 302, 301, 300, 299, 297, 296, 295, 294, 293, + 292, 291, 289, 288, 287, 286, 285, 284, 283, 282, + 281, 280, 279, 278, 277, 276, 274, 273, 271, 270, + 269, 268, 266, 265, 264, 263, 262, 261, 259, 258, + + 257, 256, 255, 254, 251, 250, 248, 247, 246, 245, + 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, + 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, + 224, 221, 220, 219, 218, 217, 216, 215, 214, 212, + 208, 206, 204, 202, 197, 194, 186, 185, 184, 183, + 181, 180, 179, 177, 176, 175, 173, 172, 171, 169, + 167, 165, 163, 162, 160, 159, 158, 156, 154, 153, + 152, 151, 150, 149, 147, 146, 145, 143, 142, 141, + 139, 138, 136, 135, 131, 130, 129, 128, 126, 125, + 124, 123, 121, 120, 119, 117, 113, 104, 103, 97, + + 96, 77, 72, 66, 52, 49, 48, 43, 41, 39, + 38, 24, 14, 11, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124, + 2124, 2124, 2124, 2124, 2124, 2124, 2124, 2124 } ; static yy_state_type yy_last_accepting_state; @@ -2025,7 +2042,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[225] = +static const flex_int16_t yy_rule_linenum[226] = { 0, 148, 150, 152, 157, 158, 163, 164, 165, 177, 180, 185, 192, 201, 210, 219, 228, 237, 246, 255, 264, @@ -2049,9 +2066,9 @@ static const flex_int16_t yy_rule_linenum[225] = 1898, 1907, 1916, 1925, 1934, 1943, 1952, 1961, 1970, 1979, 1988, 1997, 2006, 2015, 2024, 2033, 2042, 2051, 2060, 2069, - 2078, 2087, 2096, 2105, 2114, 2123, 2224, 2240, 2289, 2297, - 2312, 2313, 2314, 2315, 2316, 2317, 2319, 2337, 2350, 2355, - 2359, 2361, 2363, 2365 + 2078, 2087, 2096, 2105, 2114, 2123, 2132, 2233, 2249, 2298, + 2306, 2321, 2322, 2323, 2324, 2325, 2326, 2328, 2346, 2359, + 2364, 2368, 2370, 2372, 2374 } ; /* The intent behind this definition is that it'll catch @@ -2105,7 +2122,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg) -#line 2108 "dhcp6_lexer.cc" +#line 2125 "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 @@ -2131,8 +2148,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 2134 "dhcp6_lexer.cc" -#line 2135 "dhcp6_lexer.cc" +#line 2151 "dhcp6_lexer.cc" +#line 2152 "dhcp6_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2462,7 +2479,7 @@ YY_DECL } -#line 2465 "dhcp6_lexer.cc" +#line 2482 "dhcp6_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2491,13 +2508,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 >= 2093 ) + if ( yy_current_state >= 2125 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 2092 ); + while ( yy_current_state != 2124 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2516,13 +2533,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 < 225 ) + else if ( yy_act < 226 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 225 ) + else if ( yy_act == 226 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 226 ) + else if ( yy_act == 227 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -5096,9 +5113,9 @@ YY_RULE_SETUP { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: - return isc::dhcp::Dhcp6Parser::make_IP_RESERVATIONS_UNIQUE(driver.loc_); + return isc::dhcp::Dhcp6Parser::make_EARLY_GLOBAL_RESERVATIONS_LOOKUP(driver.loc_); default: - return isc::dhcp::Dhcp6Parser::make_STRING("ip-reservations-unique", driver.loc_); + return isc::dhcp::Dhcp6Parser::make_STRING("early-global-reservations-lookup", driver.loc_); } } YY_BREAK @@ -5108,9 +5125,9 @@ YY_RULE_SETUP { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: - return isc::dhcp::Dhcp6Parser::make_RESERVATIONS_LOOKUP_FIRST(driver.loc_); + return isc::dhcp::Dhcp6Parser::make_IP_RESERVATIONS_UNIQUE(driver.loc_); default: - return isc::dhcp::Dhcp6Parser::make_STRING("reservations-lookup-first", driver.loc_); + return isc::dhcp::Dhcp6Parser::make_STRING("ip-reservations-unique", driver.loc_); } } YY_BREAK @@ -5120,9 +5137,9 @@ YY_RULE_SETUP { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: - return isc::dhcp::Dhcp6Parser::make_COMPATIBILITY(driver.loc_); + return isc::dhcp::Dhcp6Parser::make_RESERVATIONS_LOOKUP_FIRST(driver.loc_); default: - return isc::dhcp::Dhcp6Parser::make_STRING("compatibility", driver.loc_); + return isc::dhcp::Dhcp6Parser::make_STRING("reservations-lookup-first", driver.loc_); } } YY_BREAK @@ -5131,6 +5148,18 @@ YY_RULE_SETUP #line 2114 "dhcp6_lexer.ll" { switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP6: + return isc::dhcp::Dhcp6Parser::make_COMPATIBILITY(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("compatibility", driver.loc_); + } +} + YY_BREAK +case 206: +YY_RULE_SETUP +#line 2123 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { case isc::dhcp::Parser6Context::COMPATIBILITY: return isc::dhcp::Dhcp6Parser::make_LENIENT_OPTION_PARSING(driver.loc_); default: @@ -5138,9 +5167,9 @@ YY_RULE_SETUP } } YY_BREAK -case 206: +case 207: YY_RULE_SETUP -#line 2123 "dhcp6_lexer.ll" +#line 2132 "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. @@ -5242,10 +5271,10 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 207: -/* rule 207 can match eol */ +case 208: +/* rule 208 can match eol */ YY_RULE_SETUP -#line 2224 "dhcp6_lexer.ll" +#line 2233 "dhcp6_lexer.ll" { /* Bad string with a forbidden control character inside */ std::string raw(yytext+1); @@ -5262,10 +5291,10 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 208: -/* rule 208 can match eol */ +case 209: +/* rule 209 can match eol */ YY_RULE_SETUP -#line 2240 "dhcp6_lexer.ll" +#line 2249 "dhcp6_lexer.ll" { /* Bad string with a bad escape inside */ std::string raw(yytext+1); @@ -5315,9 +5344,9 @@ YY_RULE_SETUP pos); } YY_BREAK -case 209: +case 210: YY_RULE_SETUP -#line 2289 "dhcp6_lexer.ll" +#line 2298 "dhcp6_lexer.ll" { /* Bad string with an open escape at the end */ std::string raw(yytext+1); @@ -5326,9 +5355,9 @@ YY_RULE_SETUP raw.size() + 1); } YY_BREAK -case 210: +case 211: YY_RULE_SETUP -#line 2297 "dhcp6_lexer.ll" +#line 2306 "dhcp6_lexer.ll" { /* Bad string with an open unicode escape at the end */ std::string raw(yytext+1); @@ -5344,39 +5373,39 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 211: +case 212: YY_RULE_SETUP -#line 2312 "dhcp6_lexer.ll" +#line 2321 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 212: +case 213: YY_RULE_SETUP -#line 2313 "dhcp6_lexer.ll" +#line 2322 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 213: +case 214: YY_RULE_SETUP -#line 2314 "dhcp6_lexer.ll" +#line 2323 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 214: +case 215: YY_RULE_SETUP -#line 2315 "dhcp6_lexer.ll" +#line 2324 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 215: +case 216: YY_RULE_SETUP -#line 2316 "dhcp6_lexer.ll" +#line 2325 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); } YY_BREAK -case 216: +case 217: YY_RULE_SETUP -#line 2317 "dhcp6_lexer.ll" +#line 2326 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); } YY_BREAK -case 217: +case 218: YY_RULE_SETUP -#line 2319 "dhcp6_lexer.ll" +#line 2328 "dhcp6_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -5395,9 +5424,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 218: +case 219: YY_RULE_SETUP -#line 2337 "dhcp6_lexer.ll" +#line 2346 "dhcp6_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -5411,43 +5440,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 219: +case 220: YY_RULE_SETUP -#line 2350 "dhcp6_lexer.ll" +#line 2359 "dhcp6_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 220: +case 221: YY_RULE_SETUP -#line 2355 "dhcp6_lexer.ll" +#line 2364 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 221: +case 222: YY_RULE_SETUP -#line 2359 "dhcp6_lexer.ll" +#line 2368 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 222: +case 223: YY_RULE_SETUP -#line 2361 "dhcp6_lexer.ll" +#line 2370 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 223: +case 224: YY_RULE_SETUP -#line 2363 "dhcp6_lexer.ll" +#line 2372 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 224: +case 225: YY_RULE_SETUP -#line 2365 "dhcp6_lexer.ll" +#line 2374 "dhcp6_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2367 "dhcp6_lexer.ll" +#line 2376 "dhcp6_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp6Parser::make_END(driver.loc_); @@ -5471,12 +5500,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 225: +case 226: YY_RULE_SETUP -#line 2390 "dhcp6_lexer.ll" +#line 2399 "dhcp6_lexer.ll" ECHO; YY_BREAK -#line 5479 "dhcp6_lexer.cc" +#line 5508 "dhcp6_lexer.cc" case YY_END_OF_BUFFER: { @@ -5795,7 +5824,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 >= 2093 ) + if ( yy_current_state >= 2125 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -5828,11 +5857,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 >= 2093 ) + if ( yy_current_state >= 2125 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 2092); + yy_is_jam = (yy_current_state == 2124); return yy_is_jam ? 0 : yy_current_state; } @@ -6581,7 +6610,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2390 "dhcp6_lexer.ll" +#line 2399 "dhcp6_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp6/dhcp6_parser.cc b/src/bin/dhcp6/dhcp6_parser.cc index b0022b1e1e..68ea76ecd6 100644 --- a/src/bin/dhcp6/dhcp6_parser.cc +++ b/src/bin/dhcp6/dhcp6_parser.cc @@ -398,73 +398,73 @@ namespace isc { namespace dhcp { switch (yykind) { case symbol_kind::S_STRING: // "constant string" -#line 297 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } #line 404 "dhcp6_parser.cc" break; case symbol_kind::S_INTEGER: // "integer" -#line 297 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } #line 410 "dhcp6_parser.cc" break; case symbol_kind::S_FLOAT: // "floating point" -#line 297 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < double > (); } #line 416 "dhcp6_parser.cc" break; case symbol_kind::S_BOOLEAN: // "boolean" -#line 297 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < bool > (); } #line 422 "dhcp6_parser.cc" break; case symbol_kind::S_value: // value -#line 297 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 428 "dhcp6_parser.cc" break; case symbol_kind::S_map_value: // map_value -#line 297 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 434 "dhcp6_parser.cc" break; case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value -#line 297 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 440 "dhcp6_parser.cc" break; case symbol_kind::S_db_type: // db_type -#line 297 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 446 "dhcp6_parser.cc" break; case symbol_kind::S_on_fail_mode: // on_fail_mode -#line 297 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 452 "dhcp6_parser.cc" break; case symbol_kind::S_hr_mode: // hr_mode -#line 297 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 458 "dhcp6_parser.cc" break; case symbol_kind::S_duid_type: // duid_type -#line 297 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 464 "dhcp6_parser.cc" break; case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value -#line 297 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 470 "dhcp6_parser.cc" break; @@ -744,133 +744,133 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: // $@1: %empty -#line 306 "dhcp6_parser.yy" +#line 307 "dhcp6_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } #line 750 "dhcp6_parser.cc" break; case 4: // $@2: %empty -#line 307 "dhcp6_parser.yy" +#line 308 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG; } #line 756 "dhcp6_parser.cc" break; case 6: // $@3: %empty -#line 308 "dhcp6_parser.yy" +#line 309 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } #line 762 "dhcp6_parser.cc" break; case 8: // $@4: %empty -#line 309 "dhcp6_parser.yy" +#line 310 "dhcp6_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 768 "dhcp6_parser.cc" break; case 10: // $@5: %empty -#line 310 "dhcp6_parser.yy" +#line 311 "dhcp6_parser.yy" { ctx.ctx_ = ctx.SUBNET6; } #line 774 "dhcp6_parser.cc" break; case 12: // $@6: %empty -#line 311 "dhcp6_parser.yy" +#line 312 "dhcp6_parser.yy" { ctx.ctx_ = ctx.POOLS; } #line 780 "dhcp6_parser.cc" break; case 14: // $@7: %empty -#line 312 "dhcp6_parser.yy" +#line 313 "dhcp6_parser.yy" { ctx.ctx_ = ctx.PD_POOLS; } #line 786 "dhcp6_parser.cc" break; case 16: // $@8: %empty -#line 313 "dhcp6_parser.yy" +#line 314 "dhcp6_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } #line 792 "dhcp6_parser.cc" break; case 18: // $@9: %empty -#line 314 "dhcp6_parser.yy" +#line 315 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } #line 798 "dhcp6_parser.cc" break; case 20: // $@10: %empty -#line 315 "dhcp6_parser.yy" +#line 316 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } #line 804 "dhcp6_parser.cc" break; case 22: // $@11: %empty -#line 316 "dhcp6_parser.yy" +#line 317 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } #line 810 "dhcp6_parser.cc" break; case 24: // $@12: %empty -#line 317 "dhcp6_parser.yy" +#line 318 "dhcp6_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 816 "dhcp6_parser.cc" break; case 26: // $@13: %empty -#line 318 "dhcp6_parser.yy" +#line 319 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } #line 822 "dhcp6_parser.cc" break; case 28: // $@14: %empty -#line 319 "dhcp6_parser.yy" +#line 320 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 828 "dhcp6_parser.cc" break; case 30: // value: "integer" -#line 327 "dhcp6_parser.yy" +#line 328 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 834 "dhcp6_parser.cc" break; case 31: // value: "floating point" -#line 328 "dhcp6_parser.yy" +#line 329 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } #line 840 "dhcp6_parser.cc" break; case 32: // value: "boolean" -#line 329 "dhcp6_parser.yy" +#line 330 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } #line 846 "dhcp6_parser.cc" break; case 33: // value: "constant string" -#line 330 "dhcp6_parser.yy" +#line 331 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 852 "dhcp6_parser.cc" break; case 34: // value: "null" -#line 331 "dhcp6_parser.yy" +#line 332 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 858 "dhcp6_parser.cc" break; case 35: // value: map2 -#line 332 "dhcp6_parser.yy" +#line 333 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 864 "dhcp6_parser.cc" break; case 36: // value: list_generic -#line 333 "dhcp6_parser.yy" +#line 334 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 870 "dhcp6_parser.cc" break; case 37: // sub_json: value -#line 336 "dhcp6_parser.yy" +#line 337 "dhcp6_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); @@ -879,7 +879,7 @@ namespace isc { namespace dhcp { break; case 38: // $@15: %empty -#line 341 "dhcp6_parser.yy" +#line 342 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -890,7 +890,7 @@ namespace isc { namespace dhcp { break; case 39: // map2: "{" $@15 map_content "}" -#line 346 "dhcp6_parser.yy" +#line 347 "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 @@ -900,13 +900,13 @@ namespace isc { namespace dhcp { break; case 40: // map_value: map2 -#line 352 "dhcp6_parser.yy" +#line 353 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 906 "dhcp6_parser.cc" break; case 43: // not_empty_map: "constant string" ":" value -#line 359 "dhcp6_parser.yy" +#line 360 "dhcp6_parser.yy" { // map containing a single entry ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); @@ -916,7 +916,7 @@ namespace isc { namespace dhcp { break; case 44: // not_empty_map: not_empty_map "," "constant string" ":" value -#line 364 "dhcp6_parser.yy" +#line 365 "dhcp6_parser.yy" { // map consisting of a shorter map followed by // comma and string:value @@ -927,7 +927,7 @@ namespace isc { namespace dhcp { break; case 45: // not_empty_map: not_empty_map "," -#line 370 "dhcp6_parser.yy" +#line 371 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -935,7 +935,7 @@ namespace isc { namespace dhcp { break; case 46: // $@16: %empty -#line 375 "dhcp6_parser.yy" +#line 376 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -944,7 +944,7 @@ namespace isc { namespace dhcp { break; case 47: // list_generic: "[" $@16 list_content "]" -#line 378 "dhcp6_parser.yy" +#line 379 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here } @@ -952,7 +952,7 @@ namespace isc { namespace dhcp { break; case 50: // not_empty_list: value -#line 386 "dhcp6_parser.yy" +#line 387 "dhcp6_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -961,7 +961,7 @@ namespace isc { namespace dhcp { break; case 51: // not_empty_list: not_empty_list "," value -#line 390 "dhcp6_parser.yy" +#line 391 "dhcp6_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -970,7 +970,7 @@ namespace isc { namespace dhcp { break; case 52: // not_empty_list: not_empty_list "," -#line 394 "dhcp6_parser.yy" +#line 395 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -978,7 +978,7 @@ namespace isc { namespace dhcp { break; case 53: // $@17: %empty -#line 400 "dhcp6_parser.yy" +#line 401 "dhcp6_parser.yy" { // List parsing about to start } @@ -986,7 +986,7 @@ namespace isc { namespace dhcp { break; case 54: // list_strings: "[" $@17 list_strings_content "]" -#line 402 "dhcp6_parser.yy" +#line 403 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -995,7 +995,7 @@ namespace isc { namespace dhcp { break; case 57: // not_empty_list_strings: "constant string" -#line 411 "dhcp6_parser.yy" +#line 412 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1004,7 +1004,7 @@ namespace isc { namespace dhcp { break; case 58: // not_empty_list_strings: not_empty_list_strings "," "constant string" -#line 415 "dhcp6_parser.yy" +#line 416 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -1013,7 +1013,7 @@ namespace isc { namespace dhcp { break; case 59: // not_empty_list_strings: not_empty_list_strings "," -#line 419 "dhcp6_parser.yy" +#line 420 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1021,7 +1021,7 @@ namespace isc { namespace dhcp { break; case 60: // unknown_map_entry: "constant string" ":" -#line 429 "dhcp6_parser.yy" +#line 430 "dhcp6_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); @@ -1032,7 +1032,7 @@ namespace isc { namespace dhcp { break; case 61: // $@18: %empty -#line 438 "dhcp6_parser.yy" +#line 439 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1043,7 +1043,7 @@ namespace isc { namespace dhcp { break; case 62: // syntax_map: "{" $@18 global_object "}" -#line 443 "dhcp6_parser.yy" +#line 444 "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 @@ -1056,7 +1056,7 @@ namespace isc { namespace dhcp { break; case 63: // $@19: %empty -#line 453 "dhcp6_parser.yy" +#line 454 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1071,7 +1071,7 @@ namespace isc { namespace dhcp { break; case 64: // global_object: "Dhcp6" $@19 ":" "{" global_params "}" -#line 462 "dhcp6_parser.yy" +#line 463 "dhcp6_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); @@ -1081,7 +1081,7 @@ namespace isc { namespace dhcp { break; case 66: // global_object_comma: global_object "," -#line 470 "dhcp6_parser.yy" +#line 471 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } @@ -1089,7 +1089,7 @@ namespace isc { namespace dhcp { break; case 67: // $@20: %empty -#line 476 "dhcp6_parser.yy" +#line 477 "dhcp6_parser.yy" { // Parse the Dhcp6 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1099,7 +1099,7 @@ namespace isc { namespace dhcp { break; case 68: // sub_dhcp6: "{" $@20 global_params "}" -#line 480 "dhcp6_parser.yy" +#line 481 "dhcp6_parser.yy" { // No global parameter is required // parsing completed @@ -1108,15 +1108,15 @@ namespace isc { namespace dhcp { break; case 71: // global_params: global_params "," -#line 487 "dhcp6_parser.yy" +#line 488 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } #line 1116 "dhcp6_parser.cc" break; - case 136: // $@21: %empty -#line 560 "dhcp6_parser.yy" + case 137: // $@21: %empty +#line 562 "dhcp6_parser.yy" { ctx.unique("data-directory", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1124,8 +1124,8 @@ namespace isc { namespace dhcp { #line 1125 "dhcp6_parser.cc" break; - case 137: // data_directory: "data-directory" $@21 ":" "constant string" -#line 563 "dhcp6_parser.yy" + case 138: // data_directory: "data-directory" $@21 ":" "constant string" +#line 565 "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); @@ -1134,8 +1134,8 @@ namespace isc { namespace dhcp { #line 1135 "dhcp6_parser.cc" break; - case 138: // preferred_lifetime: "preferred-lifetime" ":" "integer" -#line 569 "dhcp6_parser.yy" + case 139: // preferred_lifetime: "preferred-lifetime" ":" "integer" +#line 571 "dhcp6_parser.yy" { ctx.unique("preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1144,8 +1144,8 @@ namespace isc { namespace dhcp { #line 1145 "dhcp6_parser.cc" break; - case 139: // min_preferred_lifetime: "min-preferred-lifetime" ":" "integer" -#line 575 "dhcp6_parser.yy" + case 140: // min_preferred_lifetime: "min-preferred-lifetime" ":" "integer" +#line 577 "dhcp6_parser.yy" { ctx.unique("min-preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1154,8 +1154,8 @@ namespace isc { namespace dhcp { #line 1155 "dhcp6_parser.cc" break; - case 140: // max_preferred_lifetime: "max-preferred-lifetime" ":" "integer" -#line 581 "dhcp6_parser.yy" + case 141: // max_preferred_lifetime: "max-preferred-lifetime" ":" "integer" +#line 583 "dhcp6_parser.yy" { ctx.unique("max-preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1164,8 +1164,8 @@ namespace isc { namespace dhcp { #line 1165 "dhcp6_parser.cc" break; - case 141: // valid_lifetime: "valid-lifetime" ":" "integer" -#line 587 "dhcp6_parser.yy" + case 142: // valid_lifetime: "valid-lifetime" ":" "integer" +#line 589 "dhcp6_parser.yy" { ctx.unique("valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1174,8 +1174,8 @@ namespace isc { namespace dhcp { #line 1175 "dhcp6_parser.cc" break; - case 142: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" -#line 593 "dhcp6_parser.yy" + case 143: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" +#line 595 "dhcp6_parser.yy" { ctx.unique("min-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1184,8 +1184,8 @@ namespace isc { namespace dhcp { #line 1185 "dhcp6_parser.cc" break; - case 143: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" -#line 599 "dhcp6_parser.yy" + case 144: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" +#line 601 "dhcp6_parser.yy" { ctx.unique("max-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1194,8 +1194,8 @@ namespace isc { namespace dhcp { #line 1195 "dhcp6_parser.cc" break; - case 144: // renew_timer: "renew-timer" ":" "integer" -#line 605 "dhcp6_parser.yy" + case 145: // renew_timer: "renew-timer" ":" "integer" +#line 607 "dhcp6_parser.yy" { ctx.unique("renew-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1204,8 +1204,8 @@ namespace isc { namespace dhcp { #line 1205 "dhcp6_parser.cc" break; - case 145: // rebind_timer: "rebind-timer" ":" "integer" -#line 611 "dhcp6_parser.yy" + case 146: // rebind_timer: "rebind-timer" ":" "integer" +#line 613 "dhcp6_parser.yy" { ctx.unique("rebind-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1214,8 +1214,8 @@ namespace isc { namespace dhcp { #line 1215 "dhcp6_parser.cc" break; - case 146: // calculate_tee_times: "calculate-tee-times" ":" "boolean" -#line 617 "dhcp6_parser.yy" + case 147: // calculate_tee_times: "calculate-tee-times" ":" "boolean" +#line 619 "dhcp6_parser.yy" { ctx.unique("calculate-tee-times", ctx.loc2pos(yystack_[2].location)); ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1224,8 +1224,8 @@ namespace isc { namespace dhcp { #line 1225 "dhcp6_parser.cc" break; - case 147: // t1_percent: "t1-percent" ":" "floating point" -#line 623 "dhcp6_parser.yy" + case 148: // t1_percent: "t1-percent" ":" "floating point" +#line 625 "dhcp6_parser.yy" { ctx.unique("t1-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1234,8 +1234,8 @@ namespace isc { namespace dhcp { #line 1235 "dhcp6_parser.cc" break; - case 148: // t2_percent: "t2-percent" ":" "floating point" -#line 629 "dhcp6_parser.yy" + case 149: // t2_percent: "t2-percent" ":" "floating point" +#line 631 "dhcp6_parser.yy" { ctx.unique("t2-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1244,8 +1244,8 @@ namespace isc { namespace dhcp { #line 1245 "dhcp6_parser.cc" break; - case 149: // cache_threshold: "cache-threshold" ":" "floating point" -#line 635 "dhcp6_parser.yy" + case 150: // cache_threshold: "cache-threshold" ":" "floating point" +#line 637 "dhcp6_parser.yy" { ctx.unique("cache-threshold", ctx.loc2pos(yystack_[2].location)); ElementPtr ct(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1254,8 +1254,8 @@ namespace isc { namespace dhcp { #line 1255 "dhcp6_parser.cc" break; - case 150: // cache_max_age: "cache-max-age" ":" "integer" -#line 641 "dhcp6_parser.yy" + case 151: // cache_max_age: "cache-max-age" ":" "integer" +#line 643 "dhcp6_parser.yy" { ctx.unique("cache-max-age", ctx.loc2pos(yystack_[2].location)); ElementPtr cm(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1264,8 +1264,8 @@ namespace isc { namespace dhcp { #line 1265 "dhcp6_parser.cc" break; - case 151: // decline_probation_period: "decline-probation-period" ":" "integer" -#line 647 "dhcp6_parser.yy" + case 152: // decline_probation_period: "decline-probation-period" ":" "integer" +#line 649 "dhcp6_parser.yy" { ctx.unique("decline-probation-period", ctx.loc2pos(yystack_[2].location)); ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1274,8 +1274,8 @@ namespace isc { namespace dhcp { #line 1275 "dhcp6_parser.cc" break; - case 152: // ddns_send_updates: "ddns-send-updates" ":" "boolean" -#line 653 "dhcp6_parser.yy" + case 153: // ddns_send_updates: "ddns-send-updates" ":" "boolean" +#line 655 "dhcp6_parser.yy" { ctx.unique("ddns-send-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1284,8 +1284,8 @@ namespace isc { namespace dhcp { #line 1285 "dhcp6_parser.cc" break; - case 153: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" -#line 659 "dhcp6_parser.yy" + case 154: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" +#line 661 "dhcp6_parser.yy" { ctx.unique("ddns-override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1294,8 +1294,8 @@ namespace isc { namespace dhcp { #line 1295 "dhcp6_parser.cc" break; - case 154: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" -#line 665 "dhcp6_parser.yy" + case 155: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" +#line 667 "dhcp6_parser.yy" { ctx.unique("ddns-override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1304,8 +1304,8 @@ namespace isc { namespace dhcp { #line 1305 "dhcp6_parser.cc" break; - case 155: // $@22: %empty -#line 671 "dhcp6_parser.yy" + case 156: // $@22: %empty +#line 673 "dhcp6_parser.yy" { ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.REPLACE_CLIENT_NAME); @@ -1313,8 +1313,8 @@ namespace isc { namespace dhcp { #line 1314 "dhcp6_parser.cc" break; - case 156: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value -#line 674 "dhcp6_parser.yy" + case 157: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value +#line 676 "dhcp6_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1322,40 +1322,40 @@ namespace isc { namespace dhcp { #line 1323 "dhcp6_parser.cc" break; - case 157: // ddns_replace_client_name_value: "when-present" -#line 680 "dhcp6_parser.yy" + case 158: // ddns_replace_client_name_value: "when-present" +#line 682 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } #line 1331 "dhcp6_parser.cc" break; - case 158: // ddns_replace_client_name_value: "never" -#line 683 "dhcp6_parser.yy" + case 159: // ddns_replace_client_name_value: "never" +#line 685 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } #line 1339 "dhcp6_parser.cc" break; - case 159: // ddns_replace_client_name_value: "always" -#line 686 "dhcp6_parser.yy" + case 160: // ddns_replace_client_name_value: "always" +#line 688 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } #line 1347 "dhcp6_parser.cc" break; - case 160: // ddns_replace_client_name_value: "when-not-present" -#line 689 "dhcp6_parser.yy" + case 161: // ddns_replace_client_name_value: "when-not-present" +#line 691 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } #line 1355 "dhcp6_parser.cc" break; - case 161: // ddns_replace_client_name_value: "boolean" -#line 692 "dhcp6_parser.yy" + case 162: // ddns_replace_client_name_value: "boolean" +#line 694 "dhcp6_parser.yy" { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); @@ -1363,8 +1363,8 @@ namespace isc { namespace dhcp { #line 1364 "dhcp6_parser.cc" break; - case 162: // $@23: %empty -#line 698 "dhcp6_parser.yy" + case 163: // $@23: %empty +#line 700 "dhcp6_parser.yy" { ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1372,8 +1372,8 @@ namespace isc { namespace dhcp { #line 1373 "dhcp6_parser.cc" break; - case 163: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" -#line 701 "dhcp6_parser.yy" + case 164: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" +#line 703 "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); @@ -1382,8 +1382,8 @@ namespace isc { namespace dhcp { #line 1383 "dhcp6_parser.cc" break; - case 164: // $@24: %empty -#line 707 "dhcp6_parser.yy" + case 165: // $@24: %empty +#line 709 "dhcp6_parser.yy" { ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1391,8 +1391,8 @@ namespace isc { namespace dhcp { #line 1392 "dhcp6_parser.cc" break; - case 165: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" -#line 710 "dhcp6_parser.yy" + case 166: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" +#line 712 "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); @@ -1401,8 +1401,8 @@ namespace isc { namespace dhcp { #line 1402 "dhcp6_parser.cc" break; - case 166: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" -#line 716 "dhcp6_parser.yy" + case 167: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" +#line 718 "dhcp6_parser.yy" { ctx.unique("ddns-update-on-renew", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1411,8 +1411,8 @@ namespace isc { namespace dhcp { #line 1412 "dhcp6_parser.cc" break; - case 167: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" -#line 722 "dhcp6_parser.yy" + case 168: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" +#line 724 "dhcp6_parser.yy" { ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1421,8 +1421,8 @@ namespace isc { namespace dhcp { #line 1422 "dhcp6_parser.cc" break; - case 168: // $@25: %empty -#line 728 "dhcp6_parser.yy" + case 169: // $@25: %empty +#line 730 "dhcp6_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1430,8 +1430,8 @@ namespace isc { namespace dhcp { #line 1431 "dhcp6_parser.cc" break; - case 169: // hostname_char_set: "hostname-char-set" $@25 ":" "constant string" -#line 731 "dhcp6_parser.yy" + case 170: // hostname_char_set: "hostname-char-set" $@25 ":" "constant string" +#line 733 "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); @@ -1440,8 +1440,8 @@ namespace isc { namespace dhcp { #line 1441 "dhcp6_parser.cc" break; - case 170: // $@26: %empty -#line 737 "dhcp6_parser.yy" + case 171: // $@26: %empty +#line 739 "dhcp6_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1449,8 +1449,8 @@ namespace isc { namespace dhcp { #line 1450 "dhcp6_parser.cc" break; - case 171: // hostname_char_replacement: "hostname-char-replacement" $@26 ":" "constant string" -#line 740 "dhcp6_parser.yy" + case 172: // hostname_char_replacement: "hostname-char-replacement" $@26 ":" "constant string" +#line 742 "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); @@ -1459,8 +1459,8 @@ namespace isc { namespace dhcp { #line 1460 "dhcp6_parser.cc" break; - case 172: // store_extended_info: "store-extended-info" ":" "boolean" -#line 746 "dhcp6_parser.yy" + case 173: // store_extended_info: "store-extended-info" ":" "boolean" +#line 748 "dhcp6_parser.yy" { ctx.unique("store-extended-info", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1469,8 +1469,8 @@ namespace isc { namespace dhcp { #line 1470 "dhcp6_parser.cc" break; - case 173: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" -#line 752 "dhcp6_parser.yy" + case 174: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" +#line 754 "dhcp6_parser.yy" { ctx.unique("statistic-default-sample-count", ctx.loc2pos(yystack_[2].location)); ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1479,8 +1479,8 @@ namespace isc { namespace dhcp { #line 1480 "dhcp6_parser.cc" break; - case 174: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" -#line 758 "dhcp6_parser.yy" + case 175: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" +#line 760 "dhcp6_parser.yy" { ctx.unique("statistic-default-sample-age", ctx.loc2pos(yystack_[2].location)); ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1489,8 +1489,8 @@ namespace isc { namespace dhcp { #line 1490 "dhcp6_parser.cc" break; - case 175: // $@27: %empty -#line 764 "dhcp6_parser.yy" + case 176: // $@27: %empty +#line 766 "dhcp6_parser.yy" { ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1498,8 +1498,8 @@ namespace isc { namespace dhcp { #line 1499 "dhcp6_parser.cc" break; - case 176: // server_tag: "server-tag" $@27 ":" "constant string" -#line 767 "dhcp6_parser.yy" + case 177: // server_tag: "server-tag" $@27 ":" "constant string" +#line 769 "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); @@ -1508,8 +1508,8 @@ namespace isc { namespace dhcp { #line 1509 "dhcp6_parser.cc" break; - case 177: // parked_packet_limit: "parked-packet-limit" ":" "integer" -#line 773 "dhcp6_parser.yy" + case 178: // parked_packet_limit: "parked-packet-limit" ":" "integer" +#line 775 "dhcp6_parser.yy" { ctx.unique("parked-packet-limit", ctx.loc2pos(yystack_[2].location)); ElementPtr ppl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1518,28 +1518,38 @@ namespace isc { namespace dhcp { #line 1519 "dhcp6_parser.cc" break; - case 178: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" -#line 779 "dhcp6_parser.yy" + case 179: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" +#line 781 "dhcp6_parser.yy" + { + ctx.unique("early-global-reservations-lookup", ctx.loc2pos(yystack_[2].location)); + ElementPtr early(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("early-global-reservations-lookup", early); +} +#line 1529 "dhcp6_parser.cc" + break; + + case 180: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" +#line 787 "dhcp6_parser.yy" { ctx.unique("ip-reservations-unique", ctx.loc2pos(yystack_[2].location)); ElementPtr unique(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-reservations-unique", unique); } -#line 1529 "dhcp6_parser.cc" +#line 1539 "dhcp6_parser.cc" break; - case 179: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" -#line 785 "dhcp6_parser.yy" + case 181: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" +#line 793 "dhcp6_parser.yy" { ctx.unique("reservations-lookup-first", ctx.loc2pos(yystack_[2].location)); ElementPtr first(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-lookup-first", first); } -#line 1539 "dhcp6_parser.cc" +#line 1549 "dhcp6_parser.cc" break; - case 180: // $@28: %empty -#line 791 "dhcp6_parser.yy" + case 182: // $@28: %empty +#line 799 "dhcp6_parser.yy" { ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1547,48 +1557,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1551 "dhcp6_parser.cc" +#line 1561 "dhcp6_parser.cc" break; - case 181: // interfaces_config: "interfaces-config" $@28 ":" "{" interfaces_config_params "}" -#line 797 "dhcp6_parser.yy" + case 183: // interfaces_config: "interfaces-config" $@28 ":" "{" interfaces_config_params "}" +#line 805 "dhcp6_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1561 "dhcp6_parser.cc" +#line 1571 "dhcp6_parser.cc" break; - case 182: // $@29: %empty -#line 803 "dhcp6_parser.yy" + case 184: // $@29: %empty +#line 811 "dhcp6_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1571 "dhcp6_parser.cc" +#line 1581 "dhcp6_parser.cc" break; - case 183: // sub_interfaces6: "{" $@29 interfaces_config_params "}" -#line 807 "dhcp6_parser.yy" + case 185: // sub_interfaces6: "{" $@29 interfaces_config_params "}" +#line 815 "dhcp6_parser.yy" { // No interfaces config param is required // parsing completed } -#line 1580 "dhcp6_parser.cc" +#line 1590 "dhcp6_parser.cc" break; - case 186: // interfaces_config_params: interfaces_config_params "," -#line 814 "dhcp6_parser.yy" + case 188: // interfaces_config_params: interfaces_config_params "," +#line 822 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1588 "dhcp6_parser.cc" +#line 1598 "dhcp6_parser.cc" break; - case 192: // $@30: %empty -#line 826 "dhcp6_parser.yy" + case 194: // $@30: %empty +#line 834 "dhcp6_parser.yy" { ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1596,30 +1606,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1600 "dhcp6_parser.cc" +#line 1610 "dhcp6_parser.cc" break; - case 193: // interfaces_list: "interfaces" $@30 ":" list_strings -#line 832 "dhcp6_parser.yy" + case 195: // interfaces_list: "interfaces" $@30 ":" list_strings +#line 840 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1609 "dhcp6_parser.cc" +#line 1619 "dhcp6_parser.cc" break; - case 194: // re_detect: "re-detect" ":" "boolean" -#line 837 "dhcp6_parser.yy" + case 196: // re_detect: "re-detect" ":" "boolean" +#line 845 "dhcp6_parser.yy" { ctx.unique("re-detect", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); } -#line 1619 "dhcp6_parser.cc" +#line 1629 "dhcp6_parser.cc" break; - case 195: // $@31: %empty -#line 843 "dhcp6_parser.yy" + case 197: // $@31: %empty +#line 851 "dhcp6_parser.yy" { ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1627,22 +1637,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1631 "dhcp6_parser.cc" +#line 1641 "dhcp6_parser.cc" break; - case 196: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}" -#line 849 "dhcp6_parser.yy" + case 198: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}" +#line 857 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1642 "dhcp6_parser.cc" +#line 1652 "dhcp6_parser.cc" break; - case 197: // $@32: %empty -#line 856 "dhcp6_parser.yy" + case 199: // $@32: %empty +#line 864 "dhcp6_parser.yy" { ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1650,22 +1660,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1654 "dhcp6_parser.cc" +#line 1664 "dhcp6_parser.cc" break; - case 198: // hosts_database: "hosts-database" $@32 ":" "{" database_map_params "}" -#line 862 "dhcp6_parser.yy" + case 200: // hosts_database: "hosts-database" $@32 ":" "{" database_map_params "}" +#line 870 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1665 "dhcp6_parser.cc" +#line 1675 "dhcp6_parser.cc" break; - case 199: // $@33: %empty -#line 869 "dhcp6_parser.yy" + case 201: // $@33: %empty +#line 877 "dhcp6_parser.yy" { ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1673,472 +1683,472 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1677 "dhcp6_parser.cc" +#line 1687 "dhcp6_parser.cc" break; - case 200: // hosts_databases: "hosts-databases" $@33 ":" "[" database_list "]" -#line 875 "dhcp6_parser.yy" + case 202: // hosts_databases: "hosts-databases" $@33 ":" "[" database_list "]" +#line 883 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1686 "dhcp6_parser.cc" +#line 1696 "dhcp6_parser.cc" break; - case 205: // not_empty_database_list: not_empty_database_list "," -#line 886 "dhcp6_parser.yy" + case 207: // not_empty_database_list: not_empty_database_list "," +#line 894 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1694 "dhcp6_parser.cc" +#line 1704 "dhcp6_parser.cc" break; - case 206: // $@34: %empty -#line 891 "dhcp6_parser.yy" + case 208: // $@34: %empty +#line 899 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1704 "dhcp6_parser.cc" +#line 1714 "dhcp6_parser.cc" break; - case 207: // database: "{" $@34 database_map_params "}" -#line 895 "dhcp6_parser.yy" + case 209: // database: "{" $@34 database_map_params "}" +#line 903 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1714 "dhcp6_parser.cc" +#line 1724 "dhcp6_parser.cc" break; - case 210: // database_map_params: database_map_params "," -#line 903 "dhcp6_parser.yy" + case 212: // database_map_params: database_map_params "," +#line 911 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1722 "dhcp6_parser.cc" +#line 1732 "dhcp6_parser.cc" break; - case 237: // $@35: %empty -#line 936 "dhcp6_parser.yy" + case 239: // $@35: %empty +#line 944 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_TYPE); } -#line 1731 "dhcp6_parser.cc" +#line 1741 "dhcp6_parser.cc" break; - case 238: // database_type: "type" $@35 ":" db_type -#line 939 "dhcp6_parser.yy" + case 240: // database_type: "type" $@35 ":" db_type +#line 947 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1740 "dhcp6_parser.cc" +#line 1750 "dhcp6_parser.cc" break; - case 239: // db_type: "memfile" -#line 944 "dhcp6_parser.yy" + case 241: // db_type: "memfile" +#line 952 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } -#line 1746 "dhcp6_parser.cc" +#line 1756 "dhcp6_parser.cc" break; - case 240: // db_type: "mysql" -#line 945 "dhcp6_parser.yy" + case 242: // db_type: "mysql" +#line 953 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } -#line 1752 "dhcp6_parser.cc" +#line 1762 "dhcp6_parser.cc" break; - case 241: // db_type: "postgresql" -#line 946 "dhcp6_parser.yy" + case 243: // db_type: "postgresql" +#line 954 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } -#line 1758 "dhcp6_parser.cc" +#line 1768 "dhcp6_parser.cc" break; - case 242: // db_type: "cql" -#line 947 "dhcp6_parser.yy" + case 244: // db_type: "cql" +#line 955 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } -#line 1764 "dhcp6_parser.cc" +#line 1774 "dhcp6_parser.cc" break; - case 243: // $@36: %empty -#line 950 "dhcp6_parser.yy" + case 245: // $@36: %empty +#line 958 "dhcp6_parser.yy" { ctx.unique("user", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1773 "dhcp6_parser.cc" +#line 1783 "dhcp6_parser.cc" break; - case 244: // user: "user" $@36 ":" "constant string" -#line 953 "dhcp6_parser.yy" + case 246: // user: "user" $@36 ":" "constant string" +#line 961 "dhcp6_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 1783 "dhcp6_parser.cc" +#line 1793 "dhcp6_parser.cc" break; - case 245: // $@37: %empty -#line 959 "dhcp6_parser.yy" + case 247: // $@37: %empty +#line 967 "dhcp6_parser.yy" { ctx.unique("password", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1792 "dhcp6_parser.cc" +#line 1802 "dhcp6_parser.cc" break; - case 246: // password: "password" $@37 ":" "constant string" -#line 962 "dhcp6_parser.yy" + case 248: // password: "password" $@37 ":" "constant string" +#line 970 "dhcp6_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 1802 "dhcp6_parser.cc" +#line 1812 "dhcp6_parser.cc" break; - case 247: // $@38: %empty -#line 968 "dhcp6_parser.yy" + case 249: // $@38: %empty +#line 976 "dhcp6_parser.yy" { ctx.unique("host", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1811 "dhcp6_parser.cc" +#line 1821 "dhcp6_parser.cc" break; - case 248: // host: "host" $@38 ":" "constant string" -#line 971 "dhcp6_parser.yy" + case 250: // host: "host" $@38 ":" "constant string" +#line 979 "dhcp6_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 1821 "dhcp6_parser.cc" +#line 1831 "dhcp6_parser.cc" break; - case 249: // port: "port" ":" "integer" -#line 977 "dhcp6_parser.yy" + case 251: // port: "port" ":" "integer" +#line 985 "dhcp6_parser.yy" { ctx.unique("port", ctx.loc2pos(yystack_[2].location)); ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); } -#line 1831 "dhcp6_parser.cc" +#line 1841 "dhcp6_parser.cc" break; - case 250: // $@39: %empty -#line 983 "dhcp6_parser.yy" + case 252: // $@39: %empty +#line 991 "dhcp6_parser.yy" { ctx.unique("name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1840 "dhcp6_parser.cc" +#line 1850 "dhcp6_parser.cc" break; - case 251: // name: "name" $@39 ":" "constant string" -#line 986 "dhcp6_parser.yy" + case 253: // name: "name" $@39 ":" "constant string" +#line 994 "dhcp6_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1850 "dhcp6_parser.cc" +#line 1860 "dhcp6_parser.cc" break; - case 252: // persist: "persist" ":" "boolean" -#line 992 "dhcp6_parser.yy" + case 254: // persist: "persist" ":" "boolean" +#line 1000 "dhcp6_parser.yy" { ctx.unique("persist", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } -#line 1860 "dhcp6_parser.cc" +#line 1870 "dhcp6_parser.cc" break; - case 253: // lfc_interval: "lfc-interval" ":" "integer" -#line 998 "dhcp6_parser.yy" + case 255: // lfc_interval: "lfc-interval" ":" "integer" +#line 1006 "dhcp6_parser.yy" { ctx.unique("lfc-interval", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); } -#line 1870 "dhcp6_parser.cc" +#line 1880 "dhcp6_parser.cc" break; - case 254: // readonly: "readonly" ":" "boolean" -#line 1004 "dhcp6_parser.yy" + case 256: // readonly: "readonly" ":" "boolean" +#line 1012 "dhcp6_parser.yy" { ctx.unique("readonly", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } -#line 1880 "dhcp6_parser.cc" +#line 1890 "dhcp6_parser.cc" break; - case 255: // connect_timeout: "connect-timeout" ":" "integer" -#line 1010 "dhcp6_parser.yy" + case 257: // connect_timeout: "connect-timeout" ":" "integer" +#line 1018 "dhcp6_parser.yy" { ctx.unique("connect-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); } -#line 1890 "dhcp6_parser.cc" +#line 1900 "dhcp6_parser.cc" break; - case 256: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" -#line 1016 "dhcp6_parser.yy" + case 258: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" +#line 1024 "dhcp6_parser.yy" { ctx.unique("reconnect-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); } -#line 1900 "dhcp6_parser.cc" +#line 1910 "dhcp6_parser.cc" break; - case 257: // $@40: %empty -#line 1022 "dhcp6_parser.yy" + case 259: // $@40: %empty +#line 1030 "dhcp6_parser.yy" { ctx.unique("on-fail", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_ON_FAIL); } -#line 1909 "dhcp6_parser.cc" +#line 1919 "dhcp6_parser.cc" break; - case 258: // on_fail: "on-fail" $@40 ":" on_fail_mode -#line 1025 "dhcp6_parser.yy" + case 260: // on_fail: "on-fail" $@40 ":" on_fail_mode +#line 1033 "dhcp6_parser.yy" { ctx.stack_.back()->set("on-fail", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1918 "dhcp6_parser.cc" +#line 1928 "dhcp6_parser.cc" break; - case 259: // on_fail_mode: "stop-retry-exit" -#line 1030 "dhcp6_parser.yy" + case 261: // on_fail_mode: "stop-retry-exit" +#line 1038 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("stop-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 1924 "dhcp6_parser.cc" +#line 1934 "dhcp6_parser.cc" break; - case 260: // on_fail_mode: "serve-retry-exit" -#line 1031 "dhcp6_parser.yy" + case 262: // on_fail_mode: "serve-retry-exit" +#line 1039 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 1930 "dhcp6_parser.cc" +#line 1940 "dhcp6_parser.cc" break; - case 261: // on_fail_mode: "serve-retry-continue" -#line 1032 "dhcp6_parser.yy" + case 263: // on_fail_mode: "serve-retry-continue" +#line 1040 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-continue", ctx.loc2pos(yystack_[0].location))); } -#line 1936 "dhcp6_parser.cc" +#line 1946 "dhcp6_parser.cc" break; - case 262: // max_row_errors: "max-row-errors" ":" "integer" -#line 1035 "dhcp6_parser.yy" + case 264: // max_row_errors: "max-row-errors" ":" "integer" +#line 1043 "dhcp6_parser.yy" { ctx.unique("max-row-errors", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-row-errors", n); } -#line 1946 "dhcp6_parser.cc" +#line 1956 "dhcp6_parser.cc" break; - case 263: // request_timeout: "request-timeout" ":" "integer" -#line 1041 "dhcp6_parser.yy" + case 265: // request_timeout: "request-timeout" ":" "integer" +#line 1049 "dhcp6_parser.yy" { ctx.unique("request-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("request-timeout", n); } -#line 1956 "dhcp6_parser.cc" +#line 1966 "dhcp6_parser.cc" break; - case 264: // tcp_keepalive: "tcp-keepalive" ":" "integer" -#line 1047 "dhcp6_parser.yy" + case 266: // tcp_keepalive: "tcp-keepalive" ":" "integer" +#line 1055 "dhcp6_parser.yy" { ctx.unique("tcp-keepalive", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-keepalive", n); } -#line 1966 "dhcp6_parser.cc" +#line 1976 "dhcp6_parser.cc" break; - case 265: // tcp_nodelay: "tcp-nodelay" ":" "boolean" -#line 1053 "dhcp6_parser.yy" + case 267: // tcp_nodelay: "tcp-nodelay" ":" "boolean" +#line 1061 "dhcp6_parser.yy" { ctx.unique("tcp-nodelay", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-nodelay", n); } -#line 1976 "dhcp6_parser.cc" +#line 1986 "dhcp6_parser.cc" break; - case 266: // $@41: %empty -#line 1059 "dhcp6_parser.yy" + case 268: // $@41: %empty +#line 1067 "dhcp6_parser.yy" { ctx.unique("contact-points", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1985 "dhcp6_parser.cc" +#line 1995 "dhcp6_parser.cc" break; - case 267: // contact_points: "contact-points" $@41 ":" "constant string" -#line 1062 "dhcp6_parser.yy" + case 269: // contact_points: "contact-points" $@41 ":" "constant string" +#line 1070 "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); ctx.leave(); } -#line 1995 "dhcp6_parser.cc" +#line 2005 "dhcp6_parser.cc" break; - case 268: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" -#line 1068 "dhcp6_parser.yy" + case 270: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" +#line 1076 "dhcp6_parser.yy" { ctx.unique("max-reconnect-tries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); } -#line 2005 "dhcp6_parser.cc" +#line 2015 "dhcp6_parser.cc" break; - case 269: // $@42: %empty -#line 1074 "dhcp6_parser.yy" + case 271: // $@42: %empty +#line 1082 "dhcp6_parser.yy" { ctx.unique("keyspace", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2014 "dhcp6_parser.cc" +#line 2024 "dhcp6_parser.cc" break; - case 270: // keyspace: "keyspace" $@42 ":" "constant string" -#line 1077 "dhcp6_parser.yy" + case 272: // keyspace: "keyspace" $@42 ":" "constant string" +#line 1085 "dhcp6_parser.yy" { ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("keyspace", ks); ctx.leave(); } -#line 2024 "dhcp6_parser.cc" +#line 2034 "dhcp6_parser.cc" break; - case 271: // $@43: %empty -#line 1083 "dhcp6_parser.yy" + case 273: // $@43: %empty +#line 1091 "dhcp6_parser.yy" { ctx.unique("consistency", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2033 "dhcp6_parser.cc" +#line 2043 "dhcp6_parser.cc" break; - case 272: // consistency: "consistency" $@43 ":" "constant string" -#line 1086 "dhcp6_parser.yy" + case 274: // consistency: "consistency" $@43 ":" "constant string" +#line 1094 "dhcp6_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("consistency", c); ctx.leave(); } -#line 2043 "dhcp6_parser.cc" +#line 2053 "dhcp6_parser.cc" break; - case 273: // $@44: %empty -#line 1092 "dhcp6_parser.yy" + case 275: // $@44: %empty +#line 1100 "dhcp6_parser.yy" { ctx.unique("serial-consistency", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2052 "dhcp6_parser.cc" +#line 2062 "dhcp6_parser.cc" break; - case 274: // serial_consistency: "serial-consistency" $@44 ":" "constant string" -#line 1095 "dhcp6_parser.yy" + case 276: // serial_consistency: "serial-consistency" $@44 ":" "constant string" +#line 1103 "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); ctx.leave(); } -#line 2062 "dhcp6_parser.cc" +#line 2072 "dhcp6_parser.cc" break; - case 275: // $@45: %empty -#line 1101 "dhcp6_parser.yy" + case 277: // $@45: %empty +#line 1109 "dhcp6_parser.yy" { ctx.unique("trust-anchor", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2071 "dhcp6_parser.cc" +#line 2081 "dhcp6_parser.cc" break; - case 276: // trust_anchor: "trust-anchor" $@45 ":" "constant string" -#line 1104 "dhcp6_parser.yy" + case 278: // trust_anchor: "trust-anchor" $@45 ":" "constant string" +#line 1112 "dhcp6_parser.yy" { ElementPtr ca(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("trust-anchor", ca); ctx.leave(); } -#line 2081 "dhcp6_parser.cc" +#line 2091 "dhcp6_parser.cc" break; - case 277: // $@46: %empty -#line 1110 "dhcp6_parser.yy" + case 279: // $@46: %empty +#line 1118 "dhcp6_parser.yy" { ctx.unique("cert-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2090 "dhcp6_parser.cc" +#line 2100 "dhcp6_parser.cc" break; - case 278: // cert_file: "cert-file" $@46 ":" "constant string" -#line 1113 "dhcp6_parser.yy" + case 280: // cert_file: "cert-file" $@46 ":" "constant string" +#line 1121 "dhcp6_parser.yy" { ElementPtr cert(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cert-file", cert); ctx.leave(); } -#line 2100 "dhcp6_parser.cc" +#line 2110 "dhcp6_parser.cc" break; - case 279: // $@47: %empty -#line 1119 "dhcp6_parser.yy" + case 281: // $@47: %empty +#line 1127 "dhcp6_parser.yy" { ctx.unique("key-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2109 "dhcp6_parser.cc" +#line 2119 "dhcp6_parser.cc" break; - case 280: // key_file: "key-file" $@47 ":" "constant string" -#line 1122 "dhcp6_parser.yy" + case 282: // key_file: "key-file" $@47 ":" "constant string" +#line 1130 "dhcp6_parser.yy" { ElementPtr key(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("key-file", key); ctx.leave(); } -#line 2119 "dhcp6_parser.cc" +#line 2129 "dhcp6_parser.cc" break; - case 281: // $@48: %empty -#line 1128 "dhcp6_parser.yy" + case 283: // $@48: %empty +#line 1136 "dhcp6_parser.yy" { ctx.unique("cipher-list", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2128 "dhcp6_parser.cc" +#line 2138 "dhcp6_parser.cc" break; - case 282: // cipher_list: "cipher-list" $@48 ":" "constant string" -#line 1131 "dhcp6_parser.yy" + case 284: // cipher_list: "cipher-list" $@48 ":" "constant string" +#line 1139 "dhcp6_parser.yy" { ElementPtr cl(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cipher-list", cl); ctx.leave(); } -#line 2138 "dhcp6_parser.cc" +#line 2148 "dhcp6_parser.cc" break; - case 283: // $@49: %empty -#line 1137 "dhcp6_parser.yy" + case 285: // $@49: %empty +#line 1145 "dhcp6_parser.yy" { ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2146,37 +2156,37 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SANITY_CHECKS); } -#line 2150 "dhcp6_parser.cc" +#line 2160 "dhcp6_parser.cc" break; - case 284: // sanity_checks: "sanity-checks" $@49 ":" "{" sanity_checks_params "}" -#line 1143 "dhcp6_parser.yy" + case 286: // sanity_checks: "sanity-checks" $@49 ":" "{" sanity_checks_params "}" +#line 1151 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2159 "dhcp6_parser.cc" +#line 2169 "dhcp6_parser.cc" break; - case 287: // sanity_checks_params: sanity_checks_params "," -#line 1150 "dhcp6_parser.yy" + case 289: // sanity_checks_params: sanity_checks_params "," +#line 1158 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2167 "dhcp6_parser.cc" +#line 2177 "dhcp6_parser.cc" break; - case 289: // $@50: %empty -#line 1157 "dhcp6_parser.yy" + case 291: // $@50: %empty +#line 1165 "dhcp6_parser.yy" { ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2176 "dhcp6_parser.cc" +#line 2186 "dhcp6_parser.cc" break; - case 290: // lease_checks: "lease-checks" $@50 ":" "constant string" -#line 1160 "dhcp6_parser.yy" + case 292: // lease_checks: "lease-checks" $@50 ":" "constant string" +#line 1168 "dhcp6_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -2192,11 +2202,11 @@ namespace isc { namespace dhcp { ", supported values are: none, warn, fix, fix-del, del"); } } -#line 2196 "dhcp6_parser.cc" +#line 2206 "dhcp6_parser.cc" break; - case 291: // $@51: %empty -#line 1176 "dhcp6_parser.yy" + case 293: // $@51: %empty +#line 1184 "dhcp6_parser.yy" { ctx.unique("mac-sources", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2204,46 +2214,46 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.MAC_SOURCES); } -#line 2208 "dhcp6_parser.cc" +#line 2218 "dhcp6_parser.cc" break; - case 292: // mac_sources: "mac-sources" $@51 ":" "[" mac_sources_list "]" -#line 1182 "dhcp6_parser.yy" + case 294: // mac_sources: "mac-sources" $@51 ":" "[" mac_sources_list "]" +#line 1190 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2217 "dhcp6_parser.cc" +#line 2227 "dhcp6_parser.cc" break; - case 295: // mac_sources_list: mac_sources_list "," -#line 1189 "dhcp6_parser.yy" + case 297: // mac_sources_list: mac_sources_list "," +#line 1197 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2225 "dhcp6_parser.cc" +#line 2235 "dhcp6_parser.cc" break; - case 298: // duid_id: "duid" -#line 1198 "dhcp6_parser.yy" + case 300: // duid_id: "duid" +#line 1206 "dhcp6_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2234 "dhcp6_parser.cc" +#line 2244 "dhcp6_parser.cc" break; - case 299: // string_id: "constant string" -#line 1203 "dhcp6_parser.yy" + case 301: // string_id: "constant string" +#line 1211 "dhcp6_parser.yy" { ElementPtr duid(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2243 "dhcp6_parser.cc" +#line 2253 "dhcp6_parser.cc" break; - case 300: // $@52: %empty -#line 1208 "dhcp6_parser.yy" + case 302: // $@52: %empty +#line 1216 "dhcp6_parser.yy" { ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2251,46 +2261,46 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 2255 "dhcp6_parser.cc" +#line 2265 "dhcp6_parser.cc" break; - case 301: // host_reservation_identifiers: "host-reservation-identifiers" $@52 ":" "[" host_reservation_identifiers_list "]" -#line 1214 "dhcp6_parser.yy" + case 303: // host_reservation_identifiers: "host-reservation-identifiers" $@52 ":" "[" host_reservation_identifiers_list "]" +#line 1222 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2264 "dhcp6_parser.cc" +#line 2274 "dhcp6_parser.cc" break; - case 304: // host_reservation_identifiers_list: host_reservation_identifiers_list "," -#line 1221 "dhcp6_parser.yy" + case 306: // host_reservation_identifiers_list: host_reservation_identifiers_list "," +#line 1229 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2272 "dhcp6_parser.cc" +#line 2282 "dhcp6_parser.cc" break; - case 308: // hw_address_id: "hw-address" -#line 1231 "dhcp6_parser.yy" + case 310: // hw_address_id: "hw-address" +#line 1239 "dhcp6_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 2281 "dhcp6_parser.cc" +#line 2291 "dhcp6_parser.cc" break; - case 309: // flex_id: "flex-id" -#line 1236 "dhcp6_parser.yy" + case 311: // flex_id: "flex-id" +#line 1244 "dhcp6_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 2290 "dhcp6_parser.cc" +#line 2300 "dhcp6_parser.cc" break; - case 310: // $@53: %empty -#line 1243 "dhcp6_parser.yy" + case 312: // $@53: %empty +#line 1251 "dhcp6_parser.yy" { ctx.unique("relay-supplied-options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2298,20 +2308,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 2302 "dhcp6_parser.cc" +#line 2312 "dhcp6_parser.cc" break; - case 311: // relay_supplied_options: "relay-supplied-options" $@53 ":" "[" list_content "]" -#line 1249 "dhcp6_parser.yy" + case 313: // relay_supplied_options: "relay-supplied-options" $@53 ":" "[" list_content "]" +#line 1257 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2311 "dhcp6_parser.cc" +#line 2321 "dhcp6_parser.cc" break; - case 312: // $@54: %empty -#line 1256 "dhcp6_parser.yy" + case 314: // $@54: %empty +#line 1264 "dhcp6_parser.yy" { ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location)); ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2319,60 +2329,60 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(mt); ctx.enter(ctx.DHCP_MULTI_THREADING); } -#line 2323 "dhcp6_parser.cc" +#line 2333 "dhcp6_parser.cc" break; - case 313: // dhcp_multi_threading: "multi-threading" $@54 ":" "{" multi_threading_params "}" -#line 1262 "dhcp6_parser.yy" + case 315: // dhcp_multi_threading: "multi-threading" $@54 ":" "{" multi_threading_params "}" +#line 1270 "dhcp6_parser.yy" { // The enable parameter is required. ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 2334 "dhcp6_parser.cc" +#line 2344 "dhcp6_parser.cc" break; - case 316: // multi_threading_params: multi_threading_params "," -#line 1271 "dhcp6_parser.yy" + case 318: // multi_threading_params: multi_threading_params "," +#line 1279 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2342 "dhcp6_parser.cc" +#line 2352 "dhcp6_parser.cc" break; - case 323: // enable_multi_threading: "enable-multi-threading" ":" "boolean" -#line 1284 "dhcp6_parser.yy" + case 325: // enable_multi_threading: "enable-multi-threading" ":" "boolean" +#line 1292 "dhcp6_parser.yy" { ctx.unique("enable-multi-threading", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-multi-threading", b); } -#line 2352 "dhcp6_parser.cc" +#line 2362 "dhcp6_parser.cc" break; - case 324: // thread_pool_size: "thread-pool-size" ":" "integer" -#line 1290 "dhcp6_parser.yy" + case 326: // thread_pool_size: "thread-pool-size" ":" "integer" +#line 1298 "dhcp6_parser.yy" { ctx.unique("thread-pool-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("thread-pool-size", prf); } -#line 2362 "dhcp6_parser.cc" +#line 2372 "dhcp6_parser.cc" break; - case 325: // packet_queue_size: "packet-queue-size" ":" "integer" -#line 1296 "dhcp6_parser.yy" + case 327: // packet_queue_size: "packet-queue-size" ":" "integer" +#line 1304 "dhcp6_parser.yy" { ctx.unique("packet-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("packet-queue-size", prf); } -#line 2372 "dhcp6_parser.cc" +#line 2382 "dhcp6_parser.cc" break; - case 326: // $@55: %empty -#line 1302 "dhcp6_parser.yy" + case 328: // $@55: %empty +#line 1310 "dhcp6_parser.yy" { ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2380,113 +2390,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 2384 "dhcp6_parser.cc" +#line 2394 "dhcp6_parser.cc" break; - case 327: // hooks_libraries: "hooks-libraries" $@55 ":" "[" hooks_libraries_list "]" -#line 1308 "dhcp6_parser.yy" + case 329: // hooks_libraries: "hooks-libraries" $@55 ":" "[" hooks_libraries_list "]" +#line 1316 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2393 "dhcp6_parser.cc" +#line 2403 "dhcp6_parser.cc" break; - case 332: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," -#line 1319 "dhcp6_parser.yy" + case 334: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," +#line 1327 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2401 "dhcp6_parser.cc" +#line 2411 "dhcp6_parser.cc" break; - case 333: // $@56: %empty -#line 1324 "dhcp6_parser.yy" + case 335: // $@56: %empty +#line 1332 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2411 "dhcp6_parser.cc" +#line 2421 "dhcp6_parser.cc" break; - case 334: // hooks_library: "{" $@56 hooks_params "}" -#line 1328 "dhcp6_parser.yy" + case 336: // hooks_library: "{" $@56 hooks_params "}" +#line 1336 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2421 "dhcp6_parser.cc" +#line 2431 "dhcp6_parser.cc" break; - case 335: // $@57: %empty -#line 1334 "dhcp6_parser.yy" + case 337: // $@57: %empty +#line 1342 "dhcp6_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2431 "dhcp6_parser.cc" +#line 2441 "dhcp6_parser.cc" break; - case 336: // sub_hooks_library: "{" $@57 hooks_params "}" -#line 1338 "dhcp6_parser.yy" + case 338: // sub_hooks_library: "{" $@57 hooks_params "}" +#line 1346 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2441 "dhcp6_parser.cc" +#line 2451 "dhcp6_parser.cc" break; - case 339: // hooks_params: hooks_params "," -#line 1346 "dhcp6_parser.yy" + case 341: // hooks_params: hooks_params "," +#line 1354 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2449 "dhcp6_parser.cc" +#line 2459 "dhcp6_parser.cc" break; - case 343: // $@58: %empty -#line 1356 "dhcp6_parser.yy" + case 345: // $@58: %empty +#line 1364 "dhcp6_parser.yy" { ctx.unique("library", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2458 "dhcp6_parser.cc" +#line 2468 "dhcp6_parser.cc" break; - case 344: // library: "library" $@58 ":" "constant string" -#line 1359 "dhcp6_parser.yy" + case 346: // library: "library" $@58 ":" "constant string" +#line 1367 "dhcp6_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 2468 "dhcp6_parser.cc" +#line 2478 "dhcp6_parser.cc" break; - case 345: // $@59: %empty -#line 1365 "dhcp6_parser.yy" + case 347: // $@59: %empty +#line 1373 "dhcp6_parser.yy" { ctx.unique("parameters", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2477 "dhcp6_parser.cc" +#line 2487 "dhcp6_parser.cc" break; - case 346: // parameters: "parameters" $@59 ":" map_value -#line 1368 "dhcp6_parser.yy" + case 348: // parameters: "parameters" $@59 ":" map_value +#line 1376 "dhcp6_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2486 "dhcp6_parser.cc" +#line 2496 "dhcp6_parser.cc" break; - case 347: // $@60: %empty -#line 1374 "dhcp6_parser.yy" + case 349: // $@60: %empty +#line 1382 "dhcp6_parser.yy" { ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2494,89 +2504,89 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 2498 "dhcp6_parser.cc" +#line 2508 "dhcp6_parser.cc" break; - case 348: // expired_leases_processing: "expired-leases-processing" $@60 ":" "{" expired_leases_params "}" -#line 1380 "dhcp6_parser.yy" + case 350: // expired_leases_processing: "expired-leases-processing" $@60 ":" "{" expired_leases_params "}" +#line 1388 "dhcp6_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 2508 "dhcp6_parser.cc" +#line 2518 "dhcp6_parser.cc" break; - case 351: // expired_leases_params: expired_leases_params "," -#line 1388 "dhcp6_parser.yy" + case 353: // expired_leases_params: expired_leases_params "," +#line 1396 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2516 "dhcp6_parser.cc" +#line 2526 "dhcp6_parser.cc" break; - case 358: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" -#line 1401 "dhcp6_parser.yy" + case 360: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" +#line 1409 "dhcp6_parser.yy" { ctx.unique("reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 2526 "dhcp6_parser.cc" +#line 2536 "dhcp6_parser.cc" break; - case 359: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" -#line 1407 "dhcp6_parser.yy" + case 361: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" +#line 1415 "dhcp6_parser.yy" { ctx.unique("flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location)); 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); } -#line 2536 "dhcp6_parser.cc" +#line 2546 "dhcp6_parser.cc" break; - case 360: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" -#line 1413 "dhcp6_parser.yy" + case 362: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" +#line 1421 "dhcp6_parser.yy" { ctx.unique("hold-reclaimed-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 2546 "dhcp6_parser.cc" +#line 2556 "dhcp6_parser.cc" break; - case 361: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" -#line 1419 "dhcp6_parser.yy" + case 363: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" +#line 1427 "dhcp6_parser.yy" { ctx.unique("max-reclaim-leases", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 2556 "dhcp6_parser.cc" +#line 2566 "dhcp6_parser.cc" break; - case 362: // max_reclaim_time: "max-reclaim-time" ":" "integer" -#line 1425 "dhcp6_parser.yy" + case 364: // max_reclaim_time: "max-reclaim-time" ":" "integer" +#line 1433 "dhcp6_parser.yy" { ctx.unique("max-reclaim-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 2566 "dhcp6_parser.cc" +#line 2576 "dhcp6_parser.cc" break; - case 363: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" -#line 1431 "dhcp6_parser.yy" + case 365: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" +#line 1439 "dhcp6_parser.yy" { ctx.unique("unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 2576 "dhcp6_parser.cc" +#line 2586 "dhcp6_parser.cc" break; - case 364: // $@61: %empty -#line 1440 "dhcp6_parser.yy" + case 366: // $@61: %empty +#line 1448 "dhcp6_parser.yy" { ctx.unique("subnet6", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2584,38 +2594,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET6); } -#line 2588 "dhcp6_parser.cc" +#line 2598 "dhcp6_parser.cc" break; - case 365: // subnet6_list: "subnet6" $@61 ":" "[" subnet6_list_content "]" -#line 1446 "dhcp6_parser.yy" + case 367: // subnet6_list: "subnet6" $@61 ":" "[" subnet6_list_content "]" +#line 1454 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2597 "dhcp6_parser.cc" +#line 2607 "dhcp6_parser.cc" break; - case 370: // not_empty_subnet6_list: not_empty_subnet6_list "," -#line 1460 "dhcp6_parser.yy" + case 372: // not_empty_subnet6_list: not_empty_subnet6_list "," +#line 1468 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2605 "dhcp6_parser.cc" +#line 2615 "dhcp6_parser.cc" break; - case 371: // $@62: %empty -#line 1469 "dhcp6_parser.yy" + case 373: // $@62: %empty +#line 1477 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2615 "dhcp6_parser.cc" +#line 2625 "dhcp6_parser.cc" break; - case 372: // subnet6: "{" $@62 subnet6_params "}" -#line 1473 "dhcp6_parser.yy" + case 374: // subnet6: "{" $@62 subnet6_params "}" +#line 1481 "dhcp6_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2637,115 +2647,115 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2641 "dhcp6_parser.cc" +#line 2651 "dhcp6_parser.cc" break; - case 373: // $@63: %empty -#line 1495 "dhcp6_parser.yy" + case 375: // $@63: %empty +#line 1503 "dhcp6_parser.yy" { // Parse the subnet6 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2651 "dhcp6_parser.cc" +#line 2661 "dhcp6_parser.cc" break; - case 374: // sub_subnet6: "{" $@63 subnet6_params "}" -#line 1499 "dhcp6_parser.yy" + case 376: // sub_subnet6: "{" $@63 subnet6_params "}" +#line 1507 "dhcp6_parser.yy" { // The subnet subnet6 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2661 "dhcp6_parser.cc" +#line 2671 "dhcp6_parser.cc" break; - case 377: // subnet6_params: subnet6_params "," -#line 1508 "dhcp6_parser.yy" + case 379: // subnet6_params: subnet6_params "," +#line 1516 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2669 "dhcp6_parser.cc" +#line 2679 "dhcp6_parser.cc" break; - case 421: // $@64: %empty -#line 1559 "dhcp6_parser.yy" + case 423: // $@64: %empty +#line 1567 "dhcp6_parser.yy" { ctx.unique("subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2678 "dhcp6_parser.cc" +#line 2688 "dhcp6_parser.cc" break; - case 422: // subnet: "subnet" $@64 ":" "constant string" -#line 1562 "dhcp6_parser.yy" + case 424: // subnet: "subnet" $@64 ":" "constant string" +#line 1570 "dhcp6_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 2688 "dhcp6_parser.cc" +#line 2698 "dhcp6_parser.cc" break; - case 423: // $@65: %empty -#line 1568 "dhcp6_parser.yy" + case 425: // $@65: %empty +#line 1576 "dhcp6_parser.yy" { ctx.unique("interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2697 "dhcp6_parser.cc" +#line 2707 "dhcp6_parser.cc" break; - case 424: // interface: "interface" $@65 ":" "constant string" -#line 1571 "dhcp6_parser.yy" + case 426: // interface: "interface" $@65 ":" "constant string" +#line 1579 "dhcp6_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 2707 "dhcp6_parser.cc" +#line 2717 "dhcp6_parser.cc" break; - case 425: // $@66: %empty -#line 1577 "dhcp6_parser.yy" + case 427: // $@66: %empty +#line 1585 "dhcp6_parser.yy" { ctx.unique("interface-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2716 "dhcp6_parser.cc" +#line 2726 "dhcp6_parser.cc" break; - case 426: // interface_id: "interface-id" $@66 ":" "constant string" -#line 1580 "dhcp6_parser.yy" + case 428: // interface_id: "interface-id" $@66 ":" "constant string" +#line 1588 "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); ctx.leave(); } -#line 2726 "dhcp6_parser.cc" +#line 2736 "dhcp6_parser.cc" break; - case 427: // $@67: %empty -#line 1586 "dhcp6_parser.yy" + case 429: // $@67: %empty +#line 1594 "dhcp6_parser.yy" { ctx.unique("client-class", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2735 "dhcp6_parser.cc" +#line 2745 "dhcp6_parser.cc" break; - case 428: // client_class: "client-class" $@67 ":" "constant string" -#line 1589 "dhcp6_parser.yy" + case 430: // client_class: "client-class" $@67 ":" "constant string" +#line 1597 "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); ctx.leave(); } -#line 2745 "dhcp6_parser.cc" +#line 2755 "dhcp6_parser.cc" break; - case 429: // $@68: %empty -#line 1595 "dhcp6_parser.yy" + case 431: // $@68: %empty +#line 1603 "dhcp6_parser.yy" { ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2753,112 +2763,112 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2757 "dhcp6_parser.cc" +#line 2767 "dhcp6_parser.cc" break; - case 430: // require_client_classes: "require-client-classes" $@68 ":" list_strings -#line 1601 "dhcp6_parser.yy" + case 432: // require_client_classes: "require-client-classes" $@68 ":" list_strings +#line 1609 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2766 "dhcp6_parser.cc" +#line 2776 "dhcp6_parser.cc" break; - case 431: // reservations_global: "reservations-global" ":" "boolean" -#line 1606 "dhcp6_parser.yy" + case 433: // reservations_global: "reservations-global" ":" "boolean" +#line 1614 "dhcp6_parser.yy" { ctx.unique("reservations-global", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-global", b); } -#line 2776 "dhcp6_parser.cc" +#line 2786 "dhcp6_parser.cc" break; - case 432: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" -#line 1612 "dhcp6_parser.yy" + case 434: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" +#line 1620 "dhcp6_parser.yy" { ctx.unique("reservations-in-subnet", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-in-subnet", b); } -#line 2786 "dhcp6_parser.cc" +#line 2796 "dhcp6_parser.cc" break; - case 433: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" -#line 1618 "dhcp6_parser.yy" + case 435: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" +#line 1626 "dhcp6_parser.yy" { ctx.unique("reservations-out-of-pool", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-out-of-pool", b); } -#line 2796 "dhcp6_parser.cc" +#line 2806 "dhcp6_parser.cc" break; - case 434: // $@69: %empty -#line 1624 "dhcp6_parser.yy" + case 436: // $@69: %empty +#line 1632 "dhcp6_parser.yy" { ctx.unique("reservation-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.RESERVATION_MODE); } -#line 2805 "dhcp6_parser.cc" +#line 2815 "dhcp6_parser.cc" break; - case 435: // reservation_mode: "reservation-mode" $@69 ":" hr_mode -#line 1627 "dhcp6_parser.yy" + case 437: // reservation_mode: "reservation-mode" $@69 ":" hr_mode +#line 1635 "dhcp6_parser.yy" { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2814 "dhcp6_parser.cc" +#line 2824 "dhcp6_parser.cc" break; - case 436: // hr_mode: "disabled" -#line 1632 "dhcp6_parser.yy" + case 438: // hr_mode: "disabled" +#line 1640 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } -#line 2820 "dhcp6_parser.cc" +#line 2830 "dhcp6_parser.cc" break; - case 437: // hr_mode: "out-of-pool" -#line 1633 "dhcp6_parser.yy" + case 439: // hr_mode: "out-of-pool" +#line 1641 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } -#line 2826 "dhcp6_parser.cc" +#line 2836 "dhcp6_parser.cc" break; - case 438: // hr_mode: "global" -#line 1634 "dhcp6_parser.yy" + case 440: // hr_mode: "global" +#line 1642 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } -#line 2832 "dhcp6_parser.cc" +#line 2842 "dhcp6_parser.cc" break; - case 439: // hr_mode: "all" -#line 1635 "dhcp6_parser.yy" + case 441: // hr_mode: "all" +#line 1643 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } -#line 2838 "dhcp6_parser.cc" +#line 2848 "dhcp6_parser.cc" break; - case 440: // id: "id" ":" "integer" -#line 1638 "dhcp6_parser.yy" + case 442: // id: "id" ":" "integer" +#line 1646 "dhcp6_parser.yy" { ctx.unique("id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 2848 "dhcp6_parser.cc" +#line 2858 "dhcp6_parser.cc" break; - case 441: // rapid_commit: "rapid-commit" ":" "boolean" -#line 1644 "dhcp6_parser.yy" + case 443: // rapid_commit: "rapid-commit" ":" "boolean" +#line 1652 "dhcp6_parser.yy" { ctx.unique("rapid-commit", ctx.loc2pos(yystack_[2].location)); ElementPtr rc(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rapid-commit", rc); } -#line 2858 "dhcp6_parser.cc" +#line 2868 "dhcp6_parser.cc" break; - case 442: // $@70: %empty -#line 1652 "dhcp6_parser.yy" + case 444: // $@70: %empty +#line 1660 "dhcp6_parser.yy" { ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2866,54 +2876,54 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 2870 "dhcp6_parser.cc" +#line 2880 "dhcp6_parser.cc" break; - case 443: // shared_networks: "shared-networks" $@70 ":" "[" shared_networks_content "]" -#line 1658 "dhcp6_parser.yy" + case 445: // shared_networks: "shared-networks" $@70 ":" "[" shared_networks_content "]" +#line 1666 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2879 "dhcp6_parser.cc" +#line 2889 "dhcp6_parser.cc" break; - case 448: // shared_networks_list: shared_networks_list "," -#line 1671 "dhcp6_parser.yy" + case 450: // shared_networks_list: shared_networks_list "," +#line 1679 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2887 "dhcp6_parser.cc" +#line 2897 "dhcp6_parser.cc" break; - case 449: // $@71: %empty -#line 1676 "dhcp6_parser.yy" + case 451: // $@71: %empty +#line 1684 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2897 "dhcp6_parser.cc" +#line 2907 "dhcp6_parser.cc" break; - case 450: // shared_network: "{" $@71 shared_network_params "}" -#line 1680 "dhcp6_parser.yy" + case 452: // shared_network: "{" $@71 shared_network_params "}" +#line 1688 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 2905 "dhcp6_parser.cc" +#line 2915 "dhcp6_parser.cc" break; - case 453: // shared_network_params: shared_network_params "," -#line 1686 "dhcp6_parser.yy" + case 455: // shared_network_params: shared_network_params "," +#line 1694 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2913 "dhcp6_parser.cc" +#line 2923 "dhcp6_parser.cc" break; - case 494: // $@72: %empty -#line 1737 "dhcp6_parser.yy" + case 496: // $@72: %empty +#line 1745 "dhcp6_parser.yy" { ctx.unique("option-def", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2921,55 +2931,55 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 2925 "dhcp6_parser.cc" +#line 2935 "dhcp6_parser.cc" break; - case 495: // option_def_list: "option-def" $@72 ":" "[" option_def_list_content "]" -#line 1743 "dhcp6_parser.yy" + case 497: // option_def_list: "option-def" $@72 ":" "[" option_def_list_content "]" +#line 1751 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2934 "dhcp6_parser.cc" +#line 2944 "dhcp6_parser.cc" break; - case 496: // $@73: %empty -#line 1751 "dhcp6_parser.yy" + case 498: // $@73: %empty +#line 1759 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2943 "dhcp6_parser.cc" +#line 2953 "dhcp6_parser.cc" break; - case 497: // sub_option_def_list: "{" $@73 option_def_list "}" -#line 1754 "dhcp6_parser.yy" + case 499: // sub_option_def_list: "{" $@73 option_def_list "}" +#line 1762 "dhcp6_parser.yy" { // parsing completed } -#line 2951 "dhcp6_parser.cc" +#line 2961 "dhcp6_parser.cc" break; - case 502: // not_empty_option_def_list: not_empty_option_def_list "," -#line 1766 "dhcp6_parser.yy" + case 504: // not_empty_option_def_list: not_empty_option_def_list "," +#line 1774 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2959 "dhcp6_parser.cc" +#line 2969 "dhcp6_parser.cc" break; - case 503: // $@74: %empty -#line 1773 "dhcp6_parser.yy" + case 505: // $@74: %empty +#line 1781 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2969 "dhcp6_parser.cc" +#line 2979 "dhcp6_parser.cc" break; - case 504: // option_def_entry: "{" $@74 option_def_params "}" -#line 1777 "dhcp6_parser.yy" + case 506: // option_def_entry: "{" $@74 option_def_params "}" +#line 1785 "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)); @@ -2977,21 +2987,21 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2981 "dhcp6_parser.cc" +#line 2991 "dhcp6_parser.cc" break; - case 505: // $@75: %empty -#line 1788 "dhcp6_parser.yy" + case 507: // $@75: %empty +#line 1796 "dhcp6_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2991 "dhcp6_parser.cc" +#line 3001 "dhcp6_parser.cc" break; - case 506: // sub_option_def: "{" $@75 option_def_params "}" -#line 1792 "dhcp6_parser.yy" + case 508: // sub_option_def: "{" $@75 option_def_params "}" +#line 1800 "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)); @@ -2999,115 +3009,115 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3003 "dhcp6_parser.cc" +#line 3013 "dhcp6_parser.cc" break; - case 511: // not_empty_option_def_params: not_empty_option_def_params "," -#line 1808 "dhcp6_parser.yy" + case 513: // not_empty_option_def_params: not_empty_option_def_params "," +#line 1816 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3011 "dhcp6_parser.cc" +#line 3021 "dhcp6_parser.cc" break; - case 523: // code: "code" ":" "integer" -#line 1827 "dhcp6_parser.yy" + case 525: // code: "code" ":" "integer" +#line 1835 "dhcp6_parser.yy" { ctx.unique("code", ctx.loc2pos(yystack_[2].location)); ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 3021 "dhcp6_parser.cc" +#line 3031 "dhcp6_parser.cc" break; - case 525: // $@76: %empty -#line 1835 "dhcp6_parser.yy" + case 527: // $@76: %empty +#line 1843 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3030 "dhcp6_parser.cc" +#line 3040 "dhcp6_parser.cc" break; - case 526: // option_def_type: "type" $@76 ":" "constant string" -#line 1838 "dhcp6_parser.yy" + case 528: // option_def_type: "type" $@76 ":" "constant string" +#line 1846 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 3040 "dhcp6_parser.cc" +#line 3050 "dhcp6_parser.cc" break; - case 527: // $@77: %empty -#line 1844 "dhcp6_parser.yy" + case 529: // $@77: %empty +#line 1852 "dhcp6_parser.yy" { ctx.unique("record-types", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3049 "dhcp6_parser.cc" +#line 3059 "dhcp6_parser.cc" break; - case 528: // option_def_record_types: "record-types" $@77 ":" "constant string" -#line 1847 "dhcp6_parser.yy" + case 530: // option_def_record_types: "record-types" $@77 ":" "constant string" +#line 1855 "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); ctx.leave(); } -#line 3059 "dhcp6_parser.cc" +#line 3069 "dhcp6_parser.cc" break; - case 529: // $@78: %empty -#line 1853 "dhcp6_parser.yy" + case 531: // $@78: %empty +#line 1861 "dhcp6_parser.yy" { ctx.unique("space", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3068 "dhcp6_parser.cc" +#line 3078 "dhcp6_parser.cc" break; - case 530: // space: "space" $@78 ":" "constant string" -#line 1856 "dhcp6_parser.yy" + case 532: // space: "space" $@78 ":" "constant string" +#line 1864 "dhcp6_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 3078 "dhcp6_parser.cc" +#line 3088 "dhcp6_parser.cc" break; - case 532: // $@79: %empty -#line 1864 "dhcp6_parser.yy" + case 534: // $@79: %empty +#line 1872 "dhcp6_parser.yy" { ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3087 "dhcp6_parser.cc" +#line 3097 "dhcp6_parser.cc" break; - case 533: // option_def_encapsulate: "encapsulate" $@79 ":" "constant string" -#line 1867 "dhcp6_parser.yy" + case 535: // option_def_encapsulate: "encapsulate" $@79 ":" "constant string" +#line 1875 "dhcp6_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 3097 "dhcp6_parser.cc" +#line 3107 "dhcp6_parser.cc" break; - case 534: // option_def_array: "array" ":" "boolean" -#line 1873 "dhcp6_parser.yy" + case 536: // option_def_array: "array" ":" "boolean" +#line 1881 "dhcp6_parser.yy" { ctx.unique("array", ctx.loc2pos(yystack_[2].location)); ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 3107 "dhcp6_parser.cc" +#line 3117 "dhcp6_parser.cc" break; - case 535: // $@80: %empty -#line 1883 "dhcp6_parser.yy" + case 537: // $@80: %empty +#line 1891 "dhcp6_parser.yy" { ctx.unique("option-data", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3115,113 +3125,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 3119 "dhcp6_parser.cc" +#line 3129 "dhcp6_parser.cc" break; - case 536: // option_data_list: "option-data" $@80 ":" "[" option_data_list_content "]" -#line 1889 "dhcp6_parser.yy" + case 538: // option_data_list: "option-data" $@80 ":" "[" option_data_list_content "]" +#line 1897 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3128 "dhcp6_parser.cc" +#line 3138 "dhcp6_parser.cc" break; - case 541: // not_empty_option_data_list: not_empty_option_data_list "," -#line 1904 "dhcp6_parser.yy" + case 543: // not_empty_option_data_list: not_empty_option_data_list "," +#line 1912 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3136 "dhcp6_parser.cc" +#line 3146 "dhcp6_parser.cc" break; - case 542: // $@81: %empty -#line 1911 "dhcp6_parser.yy" + case 544: // $@81: %empty +#line 1919 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3146 "dhcp6_parser.cc" +#line 3156 "dhcp6_parser.cc" break; - case 543: // option_data_entry: "{" $@81 option_data_params "}" -#line 1915 "dhcp6_parser.yy" + case 545: // option_data_entry: "{" $@81 option_data_params "}" +#line 1923 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 3155 "dhcp6_parser.cc" +#line 3165 "dhcp6_parser.cc" break; - case 544: // $@82: %empty -#line 1923 "dhcp6_parser.yy" + case 546: // $@82: %empty +#line 1931 "dhcp6_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3165 "dhcp6_parser.cc" +#line 3175 "dhcp6_parser.cc" break; - case 545: // sub_option_data: "{" $@82 option_data_params "}" -#line 1927 "dhcp6_parser.yy" + case 547: // sub_option_data: "{" $@82 option_data_params "}" +#line 1935 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed } -#line 3174 "dhcp6_parser.cc" +#line 3184 "dhcp6_parser.cc" break; - case 550: // not_empty_option_data_params: not_empty_option_data_params "," -#line 1943 "dhcp6_parser.yy" + case 552: // not_empty_option_data_params: not_empty_option_data_params "," +#line 1951 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3182 "dhcp6_parser.cc" +#line 3192 "dhcp6_parser.cc" break; - case 561: // $@83: %empty -#line 1963 "dhcp6_parser.yy" + case 563: // $@83: %empty +#line 1971 "dhcp6_parser.yy" { ctx.unique("data", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3191 "dhcp6_parser.cc" +#line 3201 "dhcp6_parser.cc" break; - case 562: // option_data_data: "data" $@83 ":" "constant string" -#line 1966 "dhcp6_parser.yy" + case 564: // option_data_data: "data" $@83 ":" "constant string" +#line 1974 "dhcp6_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 3201 "dhcp6_parser.cc" +#line 3211 "dhcp6_parser.cc" break; - case 565: // option_data_csv_format: "csv-format" ":" "boolean" -#line 1976 "dhcp6_parser.yy" + case 567: // option_data_csv_format: "csv-format" ":" "boolean" +#line 1984 "dhcp6_parser.yy" { ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location)); ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); } -#line 3211 "dhcp6_parser.cc" +#line 3221 "dhcp6_parser.cc" break; - case 566: // option_data_always_send: "always-send" ":" "boolean" -#line 1982 "dhcp6_parser.yy" + case 568: // option_data_always_send: "always-send" ":" "boolean" +#line 1990 "dhcp6_parser.yy" { ctx.unique("always-send", ctx.loc2pos(yystack_[2].location)); ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 3221 "dhcp6_parser.cc" +#line 3231 "dhcp6_parser.cc" break; - case 567: // $@84: %empty -#line 1991 "dhcp6_parser.yy" + case 569: // $@84: %empty +#line 1999 "dhcp6_parser.yy" { ctx.unique("pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3229,103 +3239,103 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 3233 "dhcp6_parser.cc" +#line 3243 "dhcp6_parser.cc" break; - case 568: // pools_list: "pools" $@84 ":" "[" pools_list_content "]" -#line 1997 "dhcp6_parser.yy" + case 570: // pools_list: "pools" $@84 ":" "[" pools_list_content "]" +#line 2005 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3242 "dhcp6_parser.cc" +#line 3252 "dhcp6_parser.cc" break; - case 573: // not_empty_pools_list: not_empty_pools_list "," -#line 2010 "dhcp6_parser.yy" + case 575: // not_empty_pools_list: not_empty_pools_list "," +#line 2018 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3250 "dhcp6_parser.cc" +#line 3260 "dhcp6_parser.cc" break; - case 574: // $@85: %empty -#line 2015 "dhcp6_parser.yy" + case 576: // $@85: %empty +#line 2023 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3260 "dhcp6_parser.cc" +#line 3270 "dhcp6_parser.cc" break; - case 575: // pool_list_entry: "{" $@85 pool_params "}" -#line 2019 "dhcp6_parser.yy" + case 577: // pool_list_entry: "{" $@85 pool_params "}" +#line 2027 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3270 "dhcp6_parser.cc" +#line 3280 "dhcp6_parser.cc" break; - case 576: // $@86: %empty -#line 2025 "dhcp6_parser.yy" + case 578: // $@86: %empty +#line 2033 "dhcp6_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3280 "dhcp6_parser.cc" +#line 3290 "dhcp6_parser.cc" break; - case 577: // sub_pool6: "{" $@86 pool_params "}" -#line 2029 "dhcp6_parser.yy" + case 579: // sub_pool6: "{" $@86 pool_params "}" +#line 2037 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3290 "dhcp6_parser.cc" +#line 3300 "dhcp6_parser.cc" break; - case 580: // pool_params: pool_params "," -#line 2037 "dhcp6_parser.yy" + case 582: // pool_params: pool_params "," +#line 2045 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3298 "dhcp6_parser.cc" +#line 3308 "dhcp6_parser.cc" break; - case 588: // $@87: %empty -#line 2051 "dhcp6_parser.yy" + case 590: // $@87: %empty +#line 2059 "dhcp6_parser.yy" { ctx.unique("pool", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3307 "dhcp6_parser.cc" +#line 3317 "dhcp6_parser.cc" break; - case 589: // pool_entry: "pool" $@87 ":" "constant string" -#line 2054 "dhcp6_parser.yy" + case 591: // pool_entry: "pool" $@87 ":" "constant string" +#line 2062 "dhcp6_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 3317 "dhcp6_parser.cc" +#line 3327 "dhcp6_parser.cc" break; - case 590: // $@88: %empty -#line 2060 "dhcp6_parser.yy" + case 592: // $@88: %empty +#line 2068 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3325 "dhcp6_parser.cc" +#line 3335 "dhcp6_parser.cc" break; - case 591: // user_context: "user-context" $@88 ":" map_value -#line 2062 "dhcp6_parser.yy" + case 593: // user_context: "user-context" $@88 ":" map_value +#line 2070 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -3348,19 +3358,19 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3352 "dhcp6_parser.cc" +#line 3362 "dhcp6_parser.cc" break; - case 592: // $@89: %empty -#line 2085 "dhcp6_parser.yy" + case 594: // $@89: %empty +#line 2093 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3360 "dhcp6_parser.cc" +#line 3370 "dhcp6_parser.cc" break; - case 593: // comment: "comment" $@89 ":" "constant string" -#line 2087 "dhcp6_parser.yy" + case 595: // comment: "comment" $@89 ":" "constant string" +#line 2095 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -3385,11 +3395,11 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3389 "dhcp6_parser.cc" +#line 3399 "dhcp6_parser.cc" break; - case 594: // $@90: %empty -#line 2115 "dhcp6_parser.yy" + case 596: // $@90: %empty +#line 2123 "dhcp6_parser.yy" { ctx.unique("pd-pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3397,38 +3407,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.PD_POOLS); } -#line 3401 "dhcp6_parser.cc" +#line 3411 "dhcp6_parser.cc" break; - case 595: // pd_pools_list: "pd-pools" $@90 ":" "[" pd_pools_list_content "]" -#line 2121 "dhcp6_parser.yy" + case 597: // pd_pools_list: "pd-pools" $@90 ":" "[" pd_pools_list_content "]" +#line 2129 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3410 "dhcp6_parser.cc" +#line 3420 "dhcp6_parser.cc" break; - case 600: // not_empty_pd_pools_list: not_empty_pd_pools_list "," -#line 2134 "dhcp6_parser.yy" + case 602: // not_empty_pd_pools_list: not_empty_pd_pools_list "," +#line 2142 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3418 "dhcp6_parser.cc" +#line 3428 "dhcp6_parser.cc" break; - case 601: // $@91: %empty -#line 2139 "dhcp6_parser.yy" + case 603: // $@91: %empty +#line 2147 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3428 "dhcp6_parser.cc" +#line 3438 "dhcp6_parser.cc" break; - case 602: // pd_pool_entry: "{" $@91 pd_pool_params "}" -#line 2143 "dhcp6_parser.yy" + case 604: // pd_pool_entry: "{" $@91 pd_pool_params "}" +#line 2151 "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)); @@ -3436,21 +3446,21 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3440 "dhcp6_parser.cc" +#line 3450 "dhcp6_parser.cc" break; - case 603: // $@92: %empty -#line 2151 "dhcp6_parser.yy" + case 605: // $@92: %empty +#line 2159 "dhcp6_parser.yy" { // Parse the pd-pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3450 "dhcp6_parser.cc" +#line 3460 "dhcp6_parser.cc" break; - case 604: // sub_pd_pool: "{" $@92 pd_pool_params "}" -#line 2155 "dhcp6_parser.yy" + case 606: // sub_pd_pool: "{" $@92 pd_pool_params "}" +#line 2163 "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)); @@ -3458,87 +3468,87 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3462 "dhcp6_parser.cc" +#line 3472 "dhcp6_parser.cc" break; - case 607: // pd_pool_params: pd_pool_params "," -#line 2165 "dhcp6_parser.yy" + case 609: // pd_pool_params: pd_pool_params "," +#line 2173 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3470 "dhcp6_parser.cc" +#line 3480 "dhcp6_parser.cc" break; - case 619: // $@93: %empty -#line 2183 "dhcp6_parser.yy" + case 621: // $@93: %empty +#line 2191 "dhcp6_parser.yy" { ctx.unique("prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3479 "dhcp6_parser.cc" +#line 3489 "dhcp6_parser.cc" break; - case 620: // pd_prefix: "prefix" $@93 ":" "constant string" -#line 2186 "dhcp6_parser.yy" + case 622: // pd_prefix: "prefix" $@93 ":" "constant string" +#line 2194 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix", prf); ctx.leave(); } -#line 3489 "dhcp6_parser.cc" +#line 3499 "dhcp6_parser.cc" break; - case 621: // pd_prefix_len: "prefix-len" ":" "integer" -#line 2192 "dhcp6_parser.yy" + case 623: // pd_prefix_len: "prefix-len" ":" "integer" +#line 2200 "dhcp6_parser.yy" { ctx.unique("prefix-len", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix-len", prf); } -#line 3499 "dhcp6_parser.cc" +#line 3509 "dhcp6_parser.cc" break; - case 622: // $@94: %empty -#line 2198 "dhcp6_parser.yy" + case 624: // $@94: %empty +#line 2206 "dhcp6_parser.yy" { ctx.unique("excluded-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3508 "dhcp6_parser.cc" +#line 3518 "dhcp6_parser.cc" break; - case 623: // excluded_prefix: "excluded-prefix" $@94 ":" "constant string" -#line 2201 "dhcp6_parser.yy" + case 625: // excluded_prefix: "excluded-prefix" $@94 ":" "constant string" +#line 2209 "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); ctx.leave(); } -#line 3518 "dhcp6_parser.cc" +#line 3528 "dhcp6_parser.cc" break; - case 624: // excluded_prefix_len: "excluded-prefix-len" ":" "integer" -#line 2207 "dhcp6_parser.yy" + case 626: // excluded_prefix_len: "excluded-prefix-len" ":" "integer" +#line 2215 "dhcp6_parser.yy" { ctx.unique("excluded-prefix-len", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix-len", prf); } -#line 3528 "dhcp6_parser.cc" +#line 3538 "dhcp6_parser.cc" break; - case 625: // pd_delegated_len: "delegated-len" ":" "integer" -#line 2213 "dhcp6_parser.yy" + case 627: // pd_delegated_len: "delegated-len" ":" "integer" +#line 2221 "dhcp6_parser.yy" { ctx.unique("delegated-len", ctx.loc2pos(yystack_[2].location)); ElementPtr deleg(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("delegated-len", deleg); } -#line 3538 "dhcp6_parser.cc" +#line 3548 "dhcp6_parser.cc" break; - case 626: // $@95: %empty -#line 2222 "dhcp6_parser.yy" + case 628: // $@95: %empty +#line 2230 "dhcp6_parser.yy" { ctx.unique("reservations", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3546,74 +3556,74 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 3550 "dhcp6_parser.cc" +#line 3560 "dhcp6_parser.cc" break; - case 627: // reservations: "reservations" $@95 ":" "[" reservations_list "]" -#line 2228 "dhcp6_parser.yy" + case 629: // reservations: "reservations" $@95 ":" "[" reservations_list "]" +#line 2236 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3559 "dhcp6_parser.cc" +#line 3569 "dhcp6_parser.cc" break; - case 632: // not_empty_reservations_list: not_empty_reservations_list "," -#line 2239 "dhcp6_parser.yy" + case 634: // not_empty_reservations_list: not_empty_reservations_list "," +#line 2247 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3567 "dhcp6_parser.cc" +#line 3577 "dhcp6_parser.cc" break; - case 633: // $@96: %empty -#line 2244 "dhcp6_parser.yy" + case 635: // $@96: %empty +#line 2252 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3577 "dhcp6_parser.cc" +#line 3587 "dhcp6_parser.cc" break; - case 634: // reservation: "{" $@96 reservation_params "}" -#line 2248 "dhcp6_parser.yy" + case 636: // reservation: "{" $@96 reservation_params "}" +#line 2256 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 3586 "dhcp6_parser.cc" +#line 3596 "dhcp6_parser.cc" break; - case 635: // $@97: %empty -#line 2253 "dhcp6_parser.yy" + case 637: // $@97: %empty +#line 2261 "dhcp6_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3596 "dhcp6_parser.cc" +#line 3606 "dhcp6_parser.cc" break; - case 636: // sub_reservation: "{" $@97 reservation_params "}" -#line 2257 "dhcp6_parser.yy" + case 638: // sub_reservation: "{" $@97 reservation_params "}" +#line 2265 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed } -#line 3605 "dhcp6_parser.cc" +#line 3615 "dhcp6_parser.cc" break; - case 641: // not_empty_reservation_params: not_empty_reservation_params "," -#line 2268 "dhcp6_parser.yy" + case 643: // not_empty_reservation_params: not_empty_reservation_params "," +#line 2276 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3613 "dhcp6_parser.cc" +#line 3623 "dhcp6_parser.cc" break; - case 653: // $@98: %empty -#line 2287 "dhcp6_parser.yy" + case 655: // $@98: %empty +#line 2295 "dhcp6_parser.yy" { ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3621,20 +3631,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3625 "dhcp6_parser.cc" +#line 3635 "dhcp6_parser.cc" break; - case 654: // ip_addresses: "ip-addresses" $@98 ":" list_strings -#line 2293 "dhcp6_parser.yy" + case 656: // ip_addresses: "ip-addresses" $@98 ":" list_strings +#line 2301 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3634 "dhcp6_parser.cc" +#line 3644 "dhcp6_parser.cc" break; - case 655: // $@99: %empty -#line 2298 "dhcp6_parser.yy" + case 657: // $@99: %empty +#line 2306 "dhcp6_parser.yy" { ctx.unique("prefixes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3642,96 +3652,96 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3646 "dhcp6_parser.cc" +#line 3656 "dhcp6_parser.cc" break; - case 656: // prefixes: "prefixes" $@99 ":" list_strings -#line 2304 "dhcp6_parser.yy" + case 658: // prefixes: "prefixes" $@99 ":" list_strings +#line 2312 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3655 "dhcp6_parser.cc" +#line 3665 "dhcp6_parser.cc" break; - case 657: // $@100: %empty -#line 2309 "dhcp6_parser.yy" + case 659: // $@100: %empty +#line 2317 "dhcp6_parser.yy" { ctx.unique("duid", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3664 "dhcp6_parser.cc" +#line 3674 "dhcp6_parser.cc" break; - case 658: // duid: "duid" $@100 ":" "constant string" -#line 2312 "dhcp6_parser.yy" + case 660: // duid: "duid" $@100 ":" "constant string" +#line 2320 "dhcp6_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 3674 "dhcp6_parser.cc" +#line 3684 "dhcp6_parser.cc" break; - case 659: // $@101: %empty -#line 2318 "dhcp6_parser.yy" + case 661: // $@101: %empty +#line 2326 "dhcp6_parser.yy" { ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3683 "dhcp6_parser.cc" +#line 3693 "dhcp6_parser.cc" break; - case 660: // hw_address: "hw-address" $@101 ":" "constant string" -#line 2321 "dhcp6_parser.yy" + case 662: // hw_address: "hw-address" $@101 ":" "constant string" +#line 2329 "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); ctx.leave(); } -#line 3693 "dhcp6_parser.cc" +#line 3703 "dhcp6_parser.cc" break; - case 661: // $@102: %empty -#line 2327 "dhcp6_parser.yy" + case 663: // $@102: %empty +#line 2335 "dhcp6_parser.yy" { ctx.unique("hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3702 "dhcp6_parser.cc" +#line 3712 "dhcp6_parser.cc" break; - case 662: // hostname: "hostname" $@102 ":" "constant string" -#line 2330 "dhcp6_parser.yy" + case 664: // hostname: "hostname" $@102 ":" "constant string" +#line 2338 "dhcp6_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 3712 "dhcp6_parser.cc" +#line 3722 "dhcp6_parser.cc" break; - case 663: // $@103: %empty -#line 2336 "dhcp6_parser.yy" + case 665: // $@103: %empty +#line 2344 "dhcp6_parser.yy" { ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3721 "dhcp6_parser.cc" +#line 3731 "dhcp6_parser.cc" break; - case 664: // flex_id_value: "flex-id" $@103 ":" "constant string" -#line 2339 "dhcp6_parser.yy" + case 666: // flex_id_value: "flex-id" $@103 ":" "constant string" +#line 2347 "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); ctx.leave(); } -#line 3731 "dhcp6_parser.cc" +#line 3741 "dhcp6_parser.cc" break; - case 665: // $@104: %empty -#line 2345 "dhcp6_parser.yy" + case 667: // $@104: %empty +#line 2353 "dhcp6_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3739,20 +3749,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3743 "dhcp6_parser.cc" +#line 3753 "dhcp6_parser.cc" break; - case 666: // reservation_client_classes: "client-classes" $@104 ":" list_strings -#line 2351 "dhcp6_parser.yy" + case 668: // reservation_client_classes: "client-classes" $@104 ":" list_strings +#line 2359 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3752 "dhcp6_parser.cc" +#line 3762 "dhcp6_parser.cc" break; - case 667: // $@105: %empty -#line 2359 "dhcp6_parser.yy" + case 669: // $@105: %empty +#line 2367 "dhcp6_parser.yy" { ctx.unique("relay", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3760,39 +3770,39 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 3764 "dhcp6_parser.cc" +#line 3774 "dhcp6_parser.cc" break; - case 668: // relay: "relay" $@105 ":" "{" relay_map "}" -#line 2365 "dhcp6_parser.yy" + case 670: // relay: "relay" $@105 ":" "{" relay_map "}" +#line 2373 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3773 "dhcp6_parser.cc" +#line 3783 "dhcp6_parser.cc" break; - case 671: // $@106: %empty -#line 2374 "dhcp6_parser.yy" + case 673: // $@106: %empty +#line 2382 "dhcp6_parser.yy" { ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3782 "dhcp6_parser.cc" +#line 3792 "dhcp6_parser.cc" break; - case 672: // ip_address: "ip-address" $@106 ":" "constant string" -#line 2377 "dhcp6_parser.yy" + case 674: // ip_address: "ip-address" $@106 ":" "constant string" +#line 2385 "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); ctx.leave(); } -#line 3792 "dhcp6_parser.cc" +#line 3802 "dhcp6_parser.cc" break; - case 673: // $@107: %empty -#line 2386 "dhcp6_parser.yy" + case 675: // $@107: %empty +#line 2394 "dhcp6_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3800,85 +3810,85 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 3804 "dhcp6_parser.cc" +#line 3814 "dhcp6_parser.cc" break; - case 674: // client_classes: "client-classes" $@107 ":" "[" client_classes_list "]" -#line 2392 "dhcp6_parser.yy" + case 676: // client_classes: "client-classes" $@107 ":" "[" client_classes_list "]" +#line 2400 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3813 "dhcp6_parser.cc" +#line 3823 "dhcp6_parser.cc" break; - case 677: // client_classes_list: client_classes_list "," -#line 2399 "dhcp6_parser.yy" + case 679: // client_classes_list: client_classes_list "," +#line 2407 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3821 "dhcp6_parser.cc" +#line 3831 "dhcp6_parser.cc" break; - case 678: // $@108: %empty -#line 2404 "dhcp6_parser.yy" + case 680: // $@108: %empty +#line 2412 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3831 "dhcp6_parser.cc" +#line 3841 "dhcp6_parser.cc" break; - case 679: // client_class_entry: "{" $@108 client_class_params "}" -#line 2408 "dhcp6_parser.yy" + case 681: // client_class_entry: "{" $@108 client_class_params "}" +#line 2416 "dhcp6_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3841 "dhcp6_parser.cc" +#line 3851 "dhcp6_parser.cc" break; - case 684: // not_empty_client_class_params: not_empty_client_class_params "," -#line 2420 "dhcp6_parser.yy" + case 686: // not_empty_client_class_params: not_empty_client_class_params "," +#line 2428 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3849 "dhcp6_parser.cc" +#line 3859 "dhcp6_parser.cc" break; - case 699: // $@109: %empty -#line 2442 "dhcp6_parser.yy" + case 701: // $@109: %empty +#line 2450 "dhcp6_parser.yy" { ctx.unique("test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3858 "dhcp6_parser.cc" +#line 3868 "dhcp6_parser.cc" break; - case 700: // client_class_test: "test" $@109 ":" "constant string" -#line 2445 "dhcp6_parser.yy" + case 702: // client_class_test: "test" $@109 ":" "constant string" +#line 2453 "dhcp6_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 3868 "dhcp6_parser.cc" +#line 3878 "dhcp6_parser.cc" break; - case 701: // only_if_required: "only-if-required" ":" "boolean" -#line 2451 "dhcp6_parser.yy" + case 703: // only_if_required: "only-if-required" ":" "boolean" +#line 2459 "dhcp6_parser.yy" { ctx.unique("only-if-required", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); } -#line 3878 "dhcp6_parser.cc" +#line 3888 "dhcp6_parser.cc" break; - case 702: // $@110: %empty -#line 2460 "dhcp6_parser.yy" + case 704: // $@110: %empty +#line 2468 "dhcp6_parser.yy" { ctx.unique("server-id", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3886,125 +3896,125 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SERVER_ID); } -#line 3890 "dhcp6_parser.cc" +#line 3900 "dhcp6_parser.cc" break; - case 703: // server_id: "server-id" $@110 ":" "{" server_id_params "}" -#line 2466 "dhcp6_parser.yy" + case 705: // server_id: "server-id" $@110 ":" "{" server_id_params "}" +#line 2474 "dhcp6_parser.yy" { // The type parameter is required. ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3901 "dhcp6_parser.cc" +#line 3911 "dhcp6_parser.cc" break; - case 706: // server_id_params: server_id_params "," -#line 2475 "dhcp6_parser.yy" + case 708: // server_id_params: server_id_params "," +#line 2483 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3909 "dhcp6_parser.cc" +#line 3919 "dhcp6_parser.cc" break; - case 716: // $@111: %empty -#line 2491 "dhcp6_parser.yy" + case 718: // $@111: %empty +#line 2499 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DUID_TYPE); } -#line 3918 "dhcp6_parser.cc" +#line 3928 "dhcp6_parser.cc" break; - case 717: // server_id_type: "type" $@111 ":" duid_type -#line 2494 "dhcp6_parser.yy" + case 719: // server_id_type: "type" $@111 ":" duid_type +#line 2502 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3927 "dhcp6_parser.cc" +#line 3937 "dhcp6_parser.cc" break; - case 718: // duid_type: "LLT" -#line 2499 "dhcp6_parser.yy" + case 720: // duid_type: "LLT" +#line 2507 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); } -#line 3933 "dhcp6_parser.cc" +#line 3943 "dhcp6_parser.cc" break; - case 719: // duid_type: "EN" -#line 2500 "dhcp6_parser.yy" + case 721: // duid_type: "EN" +#line 2508 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); } -#line 3939 "dhcp6_parser.cc" +#line 3949 "dhcp6_parser.cc" break; - case 720: // duid_type: "LL" -#line 2501 "dhcp6_parser.yy" + case 722: // duid_type: "LL" +#line 2509 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); } -#line 3945 "dhcp6_parser.cc" +#line 3955 "dhcp6_parser.cc" break; - case 721: // htype: "htype" ":" "integer" -#line 2504 "dhcp6_parser.yy" + case 723: // htype: "htype" ":" "integer" +#line 2512 "dhcp6_parser.yy" { ctx.unique("htype", ctx.loc2pos(yystack_[2].location)); ElementPtr htype(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("htype", htype); } -#line 3955 "dhcp6_parser.cc" +#line 3965 "dhcp6_parser.cc" break; - case 722: // $@112: %empty -#line 2510 "dhcp6_parser.yy" + case 724: // $@112: %empty +#line 2518 "dhcp6_parser.yy" { ctx.unique("identifier", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3964 "dhcp6_parser.cc" +#line 3974 "dhcp6_parser.cc" break; - case 723: // identifier: "identifier" $@112 ":" "constant string" -#line 2513 "dhcp6_parser.yy" + case 725: // identifier: "identifier" $@112 ":" "constant string" +#line 2521 "dhcp6_parser.yy" { ElementPtr id(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("identifier", id); ctx.leave(); } -#line 3974 "dhcp6_parser.cc" +#line 3984 "dhcp6_parser.cc" break; - case 724: // time: "time" ":" "integer" -#line 2519 "dhcp6_parser.yy" + case 726: // time: "time" ":" "integer" +#line 2527 "dhcp6_parser.yy" { ctx.unique("time", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("time", time); } -#line 3984 "dhcp6_parser.cc" +#line 3994 "dhcp6_parser.cc" break; - case 725: // enterprise_id: "enterprise-id" ":" "integer" -#line 2525 "dhcp6_parser.yy" + case 727: // enterprise_id: "enterprise-id" ":" "integer" +#line 2533 "dhcp6_parser.yy" { ctx.unique("enterprise-id", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enterprise-id", time); } -#line 3994 "dhcp6_parser.cc" +#line 4004 "dhcp6_parser.cc" break; - case 726: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" -#line 2533 "dhcp6_parser.yy" + case 728: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" +#line 2541 "dhcp6_parser.yy" { ctx.unique("dhcp4o6-port", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 4004 "dhcp6_parser.cc" +#line 4014 "dhcp6_parser.cc" break; - case 727: // $@113: %empty -#line 2541 "dhcp6_parser.yy" + case 729: // $@113: %empty +#line 2549 "dhcp6_parser.yy" { ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4012,66 +4022,66 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 4016 "dhcp6_parser.cc" +#line 4026 "dhcp6_parser.cc" break; - case 728: // control_socket: "control-socket" $@113 ":" "{" control_socket_params "}" -#line 2547 "dhcp6_parser.yy" + case 730: // control_socket: "control-socket" $@113 ":" "{" control_socket_params "}" +#line 2555 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4025 "dhcp6_parser.cc" +#line 4035 "dhcp6_parser.cc" break; - case 731: // control_socket_params: control_socket_params "," -#line 2554 "dhcp6_parser.yy" + case 733: // control_socket_params: control_socket_params "," +#line 2562 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4033 "dhcp6_parser.cc" +#line 4043 "dhcp6_parser.cc" break; - case 737: // $@114: %empty -#line 2566 "dhcp6_parser.yy" + case 739: // $@114: %empty +#line 2574 "dhcp6_parser.yy" { ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4042 "dhcp6_parser.cc" +#line 4052 "dhcp6_parser.cc" break; - case 738: // socket_type: "socket-type" $@114 ":" "constant string" -#line 2569 "dhcp6_parser.yy" + case 740: // socket_type: "socket-type" $@114 ":" "constant string" +#line 2577 "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); ctx.leave(); } -#line 4052 "dhcp6_parser.cc" +#line 4062 "dhcp6_parser.cc" break; - case 739: // $@115: %empty -#line 2575 "dhcp6_parser.yy" + case 741: // $@115: %empty +#line 2583 "dhcp6_parser.yy" { ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4061 "dhcp6_parser.cc" +#line 4071 "dhcp6_parser.cc" break; - case 740: // socket_name: "socket-name" $@115 ":" "constant string" -#line 2578 "dhcp6_parser.yy" + case 742: // socket_name: "socket-name" $@115 ":" "constant string" +#line 2586 "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); ctx.leave(); } -#line 4071 "dhcp6_parser.cc" +#line 4081 "dhcp6_parser.cc" break; - case 741: // $@116: %empty -#line 2587 "dhcp6_parser.yy" + case 743: // $@116: %empty +#line 2595 "dhcp6_parser.yy" { ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location)); ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4079,87 +4089,87 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(qc); ctx.enter(ctx.DHCP_QUEUE_CONTROL); } -#line 4083 "dhcp6_parser.cc" +#line 4093 "dhcp6_parser.cc" break; - case 742: // dhcp_queue_control: "dhcp-queue-control" $@116 ":" "{" queue_control_params "}" -#line 2593 "dhcp6_parser.yy" + case 744: // dhcp_queue_control: "dhcp-queue-control" $@116 ":" "{" queue_control_params "}" +#line 2601 "dhcp6_parser.yy" { // 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 4094 "dhcp6_parser.cc" +#line 4104 "dhcp6_parser.cc" break; - case 745: // queue_control_params: queue_control_params "," -#line 2602 "dhcp6_parser.yy" + case 747: // queue_control_params: queue_control_params "," +#line 2610 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4102 "dhcp6_parser.cc" +#line 4112 "dhcp6_parser.cc" break; - case 752: // enable_queue: "enable-queue" ":" "boolean" -#line 2615 "dhcp6_parser.yy" + case 754: // enable_queue: "enable-queue" ":" "boolean" +#line 2623 "dhcp6_parser.yy" { ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-queue", b); } -#line 4112 "dhcp6_parser.cc" +#line 4122 "dhcp6_parser.cc" break; - case 753: // $@117: %empty -#line 2621 "dhcp6_parser.yy" + case 755: // $@117: %empty +#line 2629 "dhcp6_parser.yy" { ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4121 "dhcp6_parser.cc" +#line 4131 "dhcp6_parser.cc" break; - case 754: // queue_type: "queue-type" $@117 ":" "constant string" -#line 2624 "dhcp6_parser.yy" + case 756: // queue_type: "queue-type" $@117 ":" "constant string" +#line 2632 "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 4131 "dhcp6_parser.cc" +#line 4141 "dhcp6_parser.cc" break; - case 755: // capacity: "capacity" ":" "integer" -#line 2630 "dhcp6_parser.yy" + case 757: // capacity: "capacity" ":" "integer" +#line 2638 "dhcp6_parser.yy" { ctx.unique("capacity", ctx.loc2pos(yystack_[2].location)); ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("capacity", c); } -#line 4141 "dhcp6_parser.cc" +#line 4151 "dhcp6_parser.cc" break; - case 756: // $@118: %empty -#line 2636 "dhcp6_parser.yy" + case 758: // $@118: %empty +#line 2644 "dhcp6_parser.yy" { ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4150 "dhcp6_parser.cc" +#line 4160 "dhcp6_parser.cc" break; - case 757: // arbitrary_map_entry: "constant string" $@118 ":" value -#line 2639 "dhcp6_parser.yy" + case 759: // arbitrary_map_entry: "constant string" $@118 ":" value +#line 2647 "dhcp6_parser.yy" { ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4159 "dhcp6_parser.cc" +#line 4169 "dhcp6_parser.cc" break; - case 758: // $@119: %empty -#line 2646 "dhcp6_parser.yy" + case 760: // $@119: %empty +#line 2654 "dhcp6_parser.yy" { ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4167,291 +4177,291 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 4171 "dhcp6_parser.cc" +#line 4181 "dhcp6_parser.cc" break; - case 759: // dhcp_ddns: "dhcp-ddns" $@119 ":" "{" dhcp_ddns_params "}" -#line 2652 "dhcp6_parser.yy" + case 761: // dhcp_ddns: "dhcp-ddns" $@119 ":" "{" dhcp_ddns_params "}" +#line 2660 "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 4182 "dhcp6_parser.cc" +#line 4192 "dhcp6_parser.cc" break; - case 760: // $@120: %empty -#line 2659 "dhcp6_parser.yy" + case 762: // $@120: %empty +#line 2667 "dhcp6_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4192 "dhcp6_parser.cc" +#line 4202 "dhcp6_parser.cc" break; - case 761: // sub_dhcp_ddns: "{" $@120 dhcp_ddns_params "}" -#line 2663 "dhcp6_parser.yy" + case 763: // sub_dhcp_ddns: "{" $@120 dhcp_ddns_params "}" +#line 2671 "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 4202 "dhcp6_parser.cc" +#line 4212 "dhcp6_parser.cc" break; - case 764: // dhcp_ddns_params: dhcp_ddns_params "," -#line 2671 "dhcp6_parser.yy" + case 766: // dhcp_ddns_params: dhcp_ddns_params "," +#line 2679 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4210 "dhcp6_parser.cc" +#line 4220 "dhcp6_parser.cc" break; - case 783: // enable_updates: "enable-updates" ":" "boolean" -#line 2696 "dhcp6_parser.yy" + case 785: // enable_updates: "enable-updates" ":" "boolean" +#line 2704 "dhcp6_parser.yy" { ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 4220 "dhcp6_parser.cc" +#line 4230 "dhcp6_parser.cc" break; - case 784: // $@121: %empty -#line 2703 "dhcp6_parser.yy" + case 786: // $@121: %empty +#line 2711 "dhcp6_parser.yy" { ctx.unique("qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4229 "dhcp6_parser.cc" +#line 4239 "dhcp6_parser.cc" break; - case 785: // dep_qualifying_suffix: "qualifying-suffix" $@121 ":" "constant string" -#line 2706 "dhcp6_parser.yy" + case 787: // dep_qualifying_suffix: "qualifying-suffix" $@121 ":" "constant string" +#line 2714 "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 4239 "dhcp6_parser.cc" +#line 4249 "dhcp6_parser.cc" break; - case 786: // $@122: %empty -#line 2712 "dhcp6_parser.yy" + case 788: // $@122: %empty +#line 2720 "dhcp6_parser.yy" { ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4248 "dhcp6_parser.cc" +#line 4258 "dhcp6_parser.cc" break; - case 787: // server_ip: "server-ip" $@122 ":" "constant string" -#line 2715 "dhcp6_parser.yy" + case 789: // server_ip: "server-ip" $@122 ":" "constant string" +#line 2723 "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 4258 "dhcp6_parser.cc" +#line 4268 "dhcp6_parser.cc" break; - case 788: // server_port: "server-port" ":" "integer" -#line 2721 "dhcp6_parser.yy" + case 790: // server_port: "server-port" ":" "integer" +#line 2729 "dhcp6_parser.yy" { ctx.unique("server-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 4268 "dhcp6_parser.cc" +#line 4278 "dhcp6_parser.cc" break; - case 789: // $@123: %empty -#line 2727 "dhcp6_parser.yy" + case 791: // $@123: %empty +#line 2735 "dhcp6_parser.yy" { ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4277 "dhcp6_parser.cc" +#line 4287 "dhcp6_parser.cc" break; - case 790: // sender_ip: "sender-ip" $@123 ":" "constant string" -#line 2730 "dhcp6_parser.yy" + case 792: // sender_ip: "sender-ip" $@123 ":" "constant string" +#line 2738 "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 4287 "dhcp6_parser.cc" +#line 4297 "dhcp6_parser.cc" break; - case 791: // sender_port: "sender-port" ":" "integer" -#line 2736 "dhcp6_parser.yy" + case 793: // sender_port: "sender-port" ":" "integer" +#line 2744 "dhcp6_parser.yy" { ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 4297 "dhcp6_parser.cc" +#line 4307 "dhcp6_parser.cc" break; - case 792: // max_queue_size: "max-queue-size" ":" "integer" -#line 2742 "dhcp6_parser.yy" + case 794: // max_queue_size: "max-queue-size" ":" "integer" +#line 2750 "dhcp6_parser.yy" { ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 4307 "dhcp6_parser.cc" +#line 4317 "dhcp6_parser.cc" break; - case 793: // $@124: %empty -#line 2748 "dhcp6_parser.yy" + case 795: // $@124: %empty +#line 2756 "dhcp6_parser.yy" { ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_PROTOCOL); } -#line 4316 "dhcp6_parser.cc" +#line 4326 "dhcp6_parser.cc" break; - case 794: // ncr_protocol: "ncr-protocol" $@124 ":" ncr_protocol_value -#line 2751 "dhcp6_parser.yy" + case 796: // ncr_protocol: "ncr-protocol" $@124 ":" ncr_protocol_value +#line 2759 "dhcp6_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4325 "dhcp6_parser.cc" +#line 4335 "dhcp6_parser.cc" break; - case 795: // ncr_protocol_value: "UDP" -#line 2757 "dhcp6_parser.yy" + case 797: // ncr_protocol_value: "UDP" +#line 2765 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 4331 "dhcp6_parser.cc" +#line 4341 "dhcp6_parser.cc" break; - case 796: // ncr_protocol_value: "TCP" -#line 2758 "dhcp6_parser.yy" + case 798: // ncr_protocol_value: "TCP" +#line 2766 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 4337 "dhcp6_parser.cc" +#line 4347 "dhcp6_parser.cc" break; - case 797: // $@125: %empty -#line 2761 "dhcp6_parser.yy" + case 799: // $@125: %empty +#line 2769 "dhcp6_parser.yy" { ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_FORMAT); } -#line 4346 "dhcp6_parser.cc" +#line 4356 "dhcp6_parser.cc" break; - case 798: // ncr_format: "ncr-format" $@125 ":" "JSON" -#line 2764 "dhcp6_parser.yy" + case 800: // ncr_format: "ncr-format" $@125 ":" "JSON" +#line 2772 "dhcp6_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 4356 "dhcp6_parser.cc" +#line 4366 "dhcp6_parser.cc" break; - case 799: // dep_override_no_update: "override-no-update" ":" "boolean" -#line 2771 "dhcp6_parser.yy" + case 801: // dep_override_no_update: "override-no-update" ":" "boolean" +#line 2779 "dhcp6_parser.yy" { ctx.unique("override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-no-update", b); } -#line 4366 "dhcp6_parser.cc" +#line 4376 "dhcp6_parser.cc" break; - case 800: // dep_override_client_update: "override-client-update" ":" "boolean" -#line 2778 "dhcp6_parser.yy" + case 802: // dep_override_client_update: "override-client-update" ":" "boolean" +#line 2786 "dhcp6_parser.yy" { ctx.unique("override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-client-update", b); } -#line 4376 "dhcp6_parser.cc" +#line 4386 "dhcp6_parser.cc" break; - case 801: // $@126: %empty -#line 2785 "dhcp6_parser.yy" + case 803: // $@126: %empty +#line 2793 "dhcp6_parser.yy" { ctx.unique("replace-client-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.REPLACE_CLIENT_NAME); } -#line 4385 "dhcp6_parser.cc" +#line 4395 "dhcp6_parser.cc" break; - case 802: // dep_replace_client_name: "replace-client-name" $@126 ":" ddns_replace_client_name_value -#line 2788 "dhcp6_parser.yy" + case 804: // dep_replace_client_name: "replace-client-name" $@126 ":" ddns_replace_client_name_value +#line 2796 "dhcp6_parser.yy" { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4394 "dhcp6_parser.cc" +#line 4404 "dhcp6_parser.cc" break; - case 803: // $@127: %empty -#line 2794 "dhcp6_parser.yy" + case 805: // $@127: %empty +#line 2802 "dhcp6_parser.yy" { ctx.unique("generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4403 "dhcp6_parser.cc" +#line 4413 "dhcp6_parser.cc" break; - case 804: // dep_generated_prefix: "generated-prefix" $@127 ":" "constant string" -#line 2797 "dhcp6_parser.yy" + case 806: // dep_generated_prefix: "generated-prefix" $@127 ":" "constant string" +#line 2805 "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 4413 "dhcp6_parser.cc" +#line 4423 "dhcp6_parser.cc" break; - case 805: // $@128: %empty -#line 2804 "dhcp6_parser.yy" + case 807: // $@128: %empty +#line 2812 "dhcp6_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4422 "dhcp6_parser.cc" +#line 4432 "dhcp6_parser.cc" break; - case 806: // dep_hostname_char_set: "hostname-char-set" $@128 ":" "constant string" -#line 2807 "dhcp6_parser.yy" + case 808: // dep_hostname_char_set: "hostname-char-set" $@128 ":" "constant string" +#line 2815 "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 4432 "dhcp6_parser.cc" +#line 4442 "dhcp6_parser.cc" break; - case 807: // $@129: %empty -#line 2814 "dhcp6_parser.yy" + case 809: // $@129: %empty +#line 2822 "dhcp6_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4441 "dhcp6_parser.cc" +#line 4451 "dhcp6_parser.cc" break; - case 808: // dep_hostname_char_replacement: "hostname-char-replacement" $@129 ":" "constant string" -#line 2817 "dhcp6_parser.yy" + case 810: // dep_hostname_char_replacement: "hostname-char-replacement" $@129 ":" "constant string" +#line 2825 "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 4451 "dhcp6_parser.cc" +#line 4461 "dhcp6_parser.cc" break; - case 809: // $@130: %empty -#line 2826 "dhcp6_parser.yy" + case 811: // $@130: %empty +#line 2834 "dhcp6_parser.yy" { ctx.unique("config-control", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4459,48 +4469,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 4463 "dhcp6_parser.cc" +#line 4473 "dhcp6_parser.cc" break; - case 810: // config_control: "config-control" $@130 ":" "{" config_control_params "}" -#line 2832 "dhcp6_parser.yy" + case 812: // config_control: "config-control" $@130 ":" "{" config_control_params "}" +#line 2840 "dhcp6_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 4473 "dhcp6_parser.cc" +#line 4483 "dhcp6_parser.cc" break; - case 811: // $@131: %empty -#line 2838 "dhcp6_parser.yy" + case 813: // $@131: %empty +#line 2846 "dhcp6_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4483 "dhcp6_parser.cc" +#line 4493 "dhcp6_parser.cc" break; - case 812: // sub_config_control: "{" $@131 config_control_params "}" -#line 2842 "dhcp6_parser.yy" + case 814: // sub_config_control: "{" $@131 config_control_params "}" +#line 2850 "dhcp6_parser.yy" { // No config_control params are required // parsing completed } -#line 4492 "dhcp6_parser.cc" +#line 4502 "dhcp6_parser.cc" break; - case 815: // config_control_params: config_control_params "," -#line 2850 "dhcp6_parser.yy" + case 817: // config_control_params: config_control_params "," +#line 2858 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4500 "dhcp6_parser.cc" +#line 4510 "dhcp6_parser.cc" break; - case 818: // $@132: %empty -#line 2860 "dhcp6_parser.yy" + case 820: // $@132: %empty +#line 2868 "dhcp6_parser.yy" { ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4508,30 +4518,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 4512 "dhcp6_parser.cc" +#line 4522 "dhcp6_parser.cc" break; - case 819: // config_databases: "config-databases" $@132 ":" "[" database_list "]" -#line 2866 "dhcp6_parser.yy" + case 821: // config_databases: "config-databases" $@132 ":" "[" database_list "]" +#line 2874 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4521 "dhcp6_parser.cc" +#line 4531 "dhcp6_parser.cc" break; - case 820: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" -#line 2871 "dhcp6_parser.yy" + case 822: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" +#line 2879 "dhcp6_parser.yy" { ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location)); 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 4531 "dhcp6_parser.cc" +#line 4541 "dhcp6_parser.cc" break; - case 821: // $@133: %empty -#line 2879 "dhcp6_parser.yy" + case 823: // $@133: %empty +#line 2887 "dhcp6_parser.yy" { ctx.unique("loggers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4539,83 +4549,83 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 4543 "dhcp6_parser.cc" +#line 4553 "dhcp6_parser.cc" break; - case 822: // loggers: "loggers" $@133 ":" "[" loggers_entries "]" -#line 2885 "dhcp6_parser.yy" + case 824: // loggers: "loggers" $@133 ":" "[" loggers_entries "]" +#line 2893 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4552 "dhcp6_parser.cc" +#line 4562 "dhcp6_parser.cc" break; - case 825: // loggers_entries: loggers_entries "," -#line 2894 "dhcp6_parser.yy" + case 827: // loggers_entries: loggers_entries "," +#line 2902 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4560 "dhcp6_parser.cc" +#line 4570 "dhcp6_parser.cc" break; - case 826: // $@134: %empty -#line 2900 "dhcp6_parser.yy" + case 828: // $@134: %empty +#line 2908 "dhcp6_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 4570 "dhcp6_parser.cc" +#line 4580 "dhcp6_parser.cc" break; - case 827: // logger_entry: "{" $@134 logger_params "}" -#line 2904 "dhcp6_parser.yy" + case 829: // logger_entry: "{" $@134 logger_params "}" +#line 2912 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 4578 "dhcp6_parser.cc" +#line 4588 "dhcp6_parser.cc" break; - case 830: // logger_params: logger_params "," -#line 2910 "dhcp6_parser.yy" + case 832: // logger_params: logger_params "," +#line 2918 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4586 "dhcp6_parser.cc" +#line 4596 "dhcp6_parser.cc" break; - case 838: // debuglevel: "debuglevel" ":" "integer" -#line 2924 "dhcp6_parser.yy" + case 840: // debuglevel: "debuglevel" ":" "integer" +#line 2932 "dhcp6_parser.yy" { ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location)); ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 4596 "dhcp6_parser.cc" +#line 4606 "dhcp6_parser.cc" break; - case 839: // $@135: %empty -#line 2930 "dhcp6_parser.yy" + case 841: // $@135: %empty +#line 2938 "dhcp6_parser.yy" { ctx.unique("severity", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4605 "dhcp6_parser.cc" +#line 4615 "dhcp6_parser.cc" break; - case 840: // severity: "severity" $@135 ":" "constant string" -#line 2933 "dhcp6_parser.yy" + case 842: // severity: "severity" $@135 ":" "constant string" +#line 2941 "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 4615 "dhcp6_parser.cc" +#line 4625 "dhcp6_parser.cc" break; - case 841: // $@136: %empty -#line 2939 "dhcp6_parser.yy" + case 843: // $@136: %empty +#line 2947 "dhcp6_parser.yy" { ctx.unique("output_options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4623,122 +4633,122 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 4627 "dhcp6_parser.cc" +#line 4637 "dhcp6_parser.cc" break; - case 842: // output_options_list: "output_options" $@136 ":" "[" output_options_list_content "]" -#line 2945 "dhcp6_parser.yy" + case 844: // output_options_list: "output_options" $@136 ":" "[" output_options_list_content "]" +#line 2953 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4636 "dhcp6_parser.cc" +#line 4646 "dhcp6_parser.cc" break; - case 845: // output_options_list_content: output_options_list_content "," -#line 2952 "dhcp6_parser.yy" + case 847: // output_options_list_content: output_options_list_content "," +#line 2960 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4644 "dhcp6_parser.cc" +#line 4654 "dhcp6_parser.cc" break; - case 846: // $@137: %empty -#line 2957 "dhcp6_parser.yy" + case 848: // $@137: %empty +#line 2965 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4654 "dhcp6_parser.cc" +#line 4664 "dhcp6_parser.cc" break; - case 847: // output_entry: "{" $@137 output_params_list "}" -#line 2961 "dhcp6_parser.yy" + case 849: // output_entry: "{" $@137 output_params_list "}" +#line 2969 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 4662 "dhcp6_parser.cc" +#line 4672 "dhcp6_parser.cc" break; - case 850: // output_params_list: output_params_list "," -#line 2967 "dhcp6_parser.yy" + case 852: // output_params_list: output_params_list "," +#line 2975 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4670 "dhcp6_parser.cc" +#line 4680 "dhcp6_parser.cc" break; - case 856: // $@138: %empty -#line 2979 "dhcp6_parser.yy" + case 858: // $@138: %empty +#line 2987 "dhcp6_parser.yy" { ctx.unique("output", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4679 "dhcp6_parser.cc" +#line 4689 "dhcp6_parser.cc" break; - case 857: // output: "output" $@138 ":" "constant string" -#line 2982 "dhcp6_parser.yy" + case 859: // output: "output" $@138 ":" "constant string" +#line 2990 "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 4689 "dhcp6_parser.cc" +#line 4699 "dhcp6_parser.cc" break; - case 858: // flush: "flush" ":" "boolean" -#line 2988 "dhcp6_parser.yy" + case 860: // flush: "flush" ":" "boolean" +#line 2996 "dhcp6_parser.yy" { ctx.unique("flush", ctx.loc2pos(yystack_[2].location)); ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 4699 "dhcp6_parser.cc" +#line 4709 "dhcp6_parser.cc" break; - case 859: // maxsize: "maxsize" ":" "integer" -#line 2994 "dhcp6_parser.yy" + case 861: // maxsize: "maxsize" ":" "integer" +#line 3002 "dhcp6_parser.yy" { ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location)); ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 4709 "dhcp6_parser.cc" +#line 4719 "dhcp6_parser.cc" break; - case 860: // maxver: "maxver" ":" "integer" -#line 3000 "dhcp6_parser.yy" + case 862: // maxver: "maxver" ":" "integer" +#line 3008 "dhcp6_parser.yy" { ctx.unique("maxver", ctx.loc2pos(yystack_[2].location)); ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 4719 "dhcp6_parser.cc" +#line 4729 "dhcp6_parser.cc" break; - case 861: // $@139: %empty -#line 3006 "dhcp6_parser.yy" + case 863: // $@139: %empty +#line 3014 "dhcp6_parser.yy" { ctx.unique("pattern", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4728 "dhcp6_parser.cc" +#line 4738 "dhcp6_parser.cc" break; - case 862: // pattern: "pattern" $@139 ":" "constant string" -#line 3009 "dhcp6_parser.yy" + case 864: // pattern: "pattern" $@139 ":" "constant string" +#line 3017 "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 4738 "dhcp6_parser.cc" +#line 4748 "dhcp6_parser.cc" break; - case 863: // $@140: %empty -#line 3015 "dhcp6_parser.yy" + case 865: // $@140: %empty +#line 3023 "dhcp6_parser.yy" { ctx.unique("compatibility", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4746,38 +4756,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.COMPATIBILITY); } -#line 4750 "dhcp6_parser.cc" +#line 4760 "dhcp6_parser.cc" break; - case 864: // compatibility: "compatibility" $@140 ":" "{" compatibility_params "}" -#line 3021 "dhcp6_parser.yy" + case 866: // compatibility: "compatibility" $@140 ":" "{" compatibility_params "}" +#line 3029 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4759 "dhcp6_parser.cc" +#line 4769 "dhcp6_parser.cc" break; - case 867: // compatibility_params: compatibility_params "," -#line 3028 "dhcp6_parser.yy" + case 869: // compatibility_params: compatibility_params "," +#line 3036 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4767 "dhcp6_parser.cc" +#line 4777 "dhcp6_parser.cc" break; - case 870: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" -#line 3037 "dhcp6_parser.yy" + case 872: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" +#line 3045 "dhcp6_parser.yy" { ctx.unique("lenient-option-parsing", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lenient-option-parsing", b); } -#line 4777 "dhcp6_parser.cc" +#line 4787 "dhcp6_parser.cc" break; -#line 4781 "dhcp6_parser.cc" +#line 4791 "dhcp6_parser.cc" default: break; @@ -5129,148 +5139,148 @@ namespace isc { namespace dhcp { } - const short Dhcp6Parser::yypact_ninf_ = -1001; + const short Dhcp6Parser::yypact_ninf_ = -1005; const signed char Dhcp6Parser::yytable_ninf_ = -1; const short Dhcp6Parser::yypact_[] = { - 456, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, 65, 30, 31, 61, 80, - 94, 98, 116, 117, 123, 131, 133, 137, 148, 165, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, 30, -101, - 213, 142, 36, 647, 184, 288, 51, 145, 15, 83, - -95, 438, 35, -1001, 234, 238, 244, 266, 275, -1001, - 78, -1001, -1001, -1001, -1001, -1001, -1001, -1001, 276, 287, - 292, 296, 303, 328, 332, 350, 351, 376, 389, 427, - 437, 446, -1001, 447, 451, 452, 453, 455, -1001, -1001, - -1001, 459, 460, 461, -1001, -1001, -1001, 462, -1001, -1001, - -1001, -1001, 463, 465, 467, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, 469, -1001, -1001, -1001, -1001, -1001, - -1001, 470, 471, -1001, -1001, 472, -1001, 92, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, 475, -1001, 118, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, 476, 486, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, 138, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, 155, -1001, -1001, -1001, -1001, -1001, 487, -1001, 488, - 490, -1001, -1001, -1001, -1001, -1001, -1001, 222, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, 311, 319, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, 317, -1001, -1001, 491, -1001, - -1001, -1001, 492, -1001, -1001, 327, 401, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - 496, 501, -1001, -1001, -1001, -1001, 384, 404, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - 223, -1001, -1001, -1001, 502, -1001, -1001, 503, -1001, 504, - 505, -1001, -1001, 506, 508, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, 231, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - 510, 258, -1001, -1001, -1001, -1001, 30, 30, -1001, 246, - 511, -1001, -1001, 512, 514, 515, 518, 519, 520, 313, - 325, 326, 329, 333, 334, 337, 338, 309, 339, 341, - 342, 344, 345, 530, 346, 348, 347, 349, 353, 538, - 539, 541, 354, 356, 357, 572, 573, 574, 365, 577, - 580, 582, 583, 371, 373, 375, 589, 590, 591, 593, - 595, 596, 597, 598, 612, 402, 614, 615, 616, 617, - 618, 621, 409, 410, 624, 625, -1001, 142, -1001, 626, - 414, 36, -1001, 628, 629, 630, 631, 633, 423, 426, - 636, 637, 638, 647, -1001, 640, 184, -1001, 641, 431, - 643, 433, 434, 288, -1001, 646, 649, 650, 666, 667, - 671, 673, -1001, 51, -1001, 674, 675, 436, 677, 678, - 679, 468, -1001, 15, 680, 477, 478, -1001, 83, 682, - 683, 50, -1001, 480, 689, 708, 498, 710, 500, 513, - 721, 722, 521, 523, 725, 726, 732, 733, 438, -1001, - 738, 528, 35, -1001, -1001, -1001, 740, 739, 531, 748, - 749, 750, 751, 757, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, 549, -1001, - -1001, -1001, -1001, -1001, -127, 550, 551, -1001, -1001, -1001, - 761, 762, 764, -1001, 765, 766, 560, 261, -1001, -1001, - -1001, 770, 771, 772, 773, 776, 777, 778, 779, 793, - -1001, 794, 795, 796, 807, 564, 570, -1001, -1001, 780, - 810, -1001, 813, -1001, -1001, 814, 815, 607, 608, 609, - -1001, -1001, 813, 610, 818, -1001, 613, -1001, 620, -1001, - 623, -1001, -1001, -1001, 813, 813, 813, 632, 639, 644, - 648, -1001, 651, 652, -1001, 654, 655, 656, -1001, -1001, - 657, -1001, -1001, -1001, 658, 766, -1001, -1001, 659, 660, - -1001, 661, -1001, -1001, 14, 663, -1001, -1001, -127, 662, - 664, 665, -1001, 821, -1001, -1001, 30, 142, -1001, 35, - 36, 316, 316, 822, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, 823, 824, 833, 837, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -96, 30, -57, 709, 838, - 843, 844, 171, 87, 127, -25, 90, 438, -1001, -1001, - 845, -141, -1001, -1001, 847, 848, -1001, -1001, -1001, -1001, - -1001, -82, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, 822, -1001, 260, 284, 285, -1001, -1001, -1001, -1001, - 853, 856, 859, 860, 873, -1001, 876, 877, -1001, -1001, - -1001, -1001, 878, 879, 880, 881, -1001, -1001, -1001, -1001, - -1001, 295, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, 312, -1001, - 882, 883, -1001, -1001, 884, 886, -1001, -1001, 885, 889, - -1001, -1001, 887, 891, -1001, -1001, 890, 892, -1001, -1001, - -1001, 85, -1001, -1001, -1001, 893, -1001, -1001, -1001, 91, - -1001, -1001, -1001, -1001, 315, -1001, -1001, -1001, 106, -1001, - -1001, 894, 895, -1001, -1001, 896, 898, -1001, 899, 900, - 901, 902, 903, 904, 330, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, 905, 906, 907, -1001, -1001, -1001, - -1001, 331, -1001, -1001, -1001, -1001, -1001, -1001, 908, 909, - 910, -1001, 387, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, 388, -1001, -1001, -1001, 911, -1001, - 912, -1001, -1001, -1001, 391, -1001, -1001, -1001, -1001, -1001, - 397, -1001, 153, -1001, 913, -1001, 403, -1001, -1001, 704, - -1001, 916, 920, -1001, -1001, 918, 922, -1001, -1001, -1001, - 919, -1001, 923, -1001, -1001, -1001, 915, 924, 926, 927, - 672, 715, 711, 716, 719, 931, 723, 724, 932, 933, - 936, 937, 727, 728, 729, 737, 940, 943, 946, 949, - 316, -1001, -1001, 316, -1001, 822, 647, -1001, 823, 15, - -1001, 824, 83, -1001, 833, 735, -1001, 837, -96, -1001, - -1001, -57, -1001, 955, 709, -1001, 321, 838, -1001, 51, - -1001, 843, -95, -1001, 844, 745, 747, 754, 760, 763, - 768, 171, -1001, 959, 968, 785, 786, 791, 87, -1001, - 759, 800, 801, 127, -1001, 975, 1015, -25, -1001, 806, - 1021, 811, 1030, 90, -1001, -1001, 189, 845, -1001, 825, - -141, -1001, -1001, 1032, 1036, 184, -1001, 847, 288, -1001, - 848, 1043, -1001, -1001, 412, 846, 869, 888, -1001, -1001, - -1001, -1001, -1001, 897, -1001, -1001, 400, 914, 917, 921, - -1001, -1001, -1001, -1001, 925, 928, 929, 930, -1001, 405, - -1001, 407, -1001, 1059, -1001, 1082, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, 411, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, 934, -1001, -1001, 1089, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, 1088, 1096, -1001, - -1001, -1001, -1001, -1001, 1093, -1001, 415, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, 302, 935, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, 938, 939, -1001, -1001, 941, - -1001, 30, -1001, -1001, 1099, -1001, -1001, -1001, -1001, -1001, - 417, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, 942, - 421, -1001, 424, -1001, 945, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, 735, - -1001, -1001, 1100, 947, -1001, 321, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, 1101, 950, 1102, - 189, -1001, -1001, -1001, -1001, -1001, -1001, 948, -1001, -1001, - 1103, -1001, 952, -1001, -1001, 1105, -1001, -1001, 318, -1001, - -21, 1105, -1001, -1001, 1106, 1109, 1110, -1001, 425, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, 1111, 951, 954, 956, - 1112, -21, -1001, 953, -1001, -1001, -1001, 958, -1001, -1001, - -1001 + 423, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, 48, 30, 31, 58, 61, + 77, 84, 94, 106, 123, 133, 137, 158, 160, 176, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 30, -81, + 181, 142, 36, 651, 197, 212, 51, 114, 15, 290, + -95, 437, 44, -1005, 217, 228, 248, 253, 267, -1005, + 46, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 270, 283, + 300, 333, 352, 354, 366, 376, 377, 384, 385, 410, + 422, 424, -1005, 428, 430, 431, 439, 440, -1005, -1005, + -1005, 442, 443, 446, -1005, -1005, -1005, 447, -1005, -1005, + -1005, -1005, 450, 458, 459, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, 462, -1005, -1005, -1005, -1005, -1005, + -1005, 463, 464, 465, -1005, -1005, 466, -1005, 78, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, 468, -1005, 79, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 470, 472, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 80, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, 87, -1005, -1005, -1005, -1005, -1005, 473, + -1005, 474, 475, -1005, -1005, -1005, -1005, -1005, -1005, 97, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, 293, 331, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, 409, -1005, -1005, + 478, -1005, -1005, -1005, 479, -1005, -1005, 485, 491, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, 493, 494, -1005, -1005, -1005, -1005, 487, 496, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, 109, -1005, -1005, -1005, 499, -1005, -1005, 504, + -1005, 505, 506, -1005, -1005, 507, 508, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, 130, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, 509, 138, -1005, -1005, -1005, -1005, 30, 30, + -1005, 302, 511, -1005, -1005, 514, 515, 517, 518, 521, + 522, 315, 325, 326, 327, 328, 336, 339, 340, 309, + 329, 334, 341, 344, 345, 525, 346, 347, 348, 349, + 351, 543, 544, 560, 355, 356, 358, 573, 575, 576, + 365, 579, 580, 583, 585, 372, 373, 375, 591, 592, + 593, 594, 596, 611, 612, 613, 614, 403, 616, 617, + 634, 635, 637, 638, 426, 427, 429, 642, 644, -1005, + 142, -1005, 645, 432, 36, -1005, 647, 649, 650, 652, + 653, 444, 445, 654, 657, 658, 651, -1005, 660, 197, + -1005, 661, 451, 662, 452, 453, 212, -1005, 666, 667, + 668, 669, 670, 671, 675, -1005, 51, -1005, 677, 678, + 467, 681, 682, 683, 471, -1005, 15, 684, 480, 481, + -1005, 290, 686, 687, 189, -1005, 483, 693, 712, 501, + 714, 503, 513, 726, 728, 516, 523, 729, 736, 740, + 742, 437, -1005, 743, 526, 44, -1005, -1005, -1005, 744, + 648, 534, 752, 753, 754, 755, 745, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, 551, -1005, -1005, -1005, -1005, -1005, -110, 552, 553, + -1005, -1005, -1005, 764, 765, 766, -1005, 768, 767, 562, + 314, -1005, -1005, -1005, 773, 774, 775, 777, 776, 780, + 781, 782, 796, -1005, 797, 798, 799, 810, 567, 572, + -1005, -1005, -1005, 783, 813, -1005, 816, -1005, -1005, 817, + 818, 609, 610, 615, -1005, -1005, 816, 618, 819, -1005, + 619, -1005, 620, -1005, 625, -1005, -1005, -1005, 816, 816, + 816, 628, 631, 632, 633, -1005, 639, 640, -1005, 641, + 643, 646, -1005, -1005, 656, -1005, -1005, -1005, 659, 767, + -1005, -1005, 663, 664, -1005, 665, -1005, -1005, 199, 673, + -1005, -1005, -110, 672, 674, 676, -1005, 822, -1005, -1005, + 30, 142, -1005, 44, 36, 318, 318, 821, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, 824, 825, 842, + 850, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -96, + 30, -5, 710, 853, 856, 857, 254, 88, 127, 164, + 63, 437, -1005, -1005, 858, -145, -1005, -1005, 860, 861, + -1005, -1005, -1005, -1005, -1005, -82, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, 821, -1005, 184, 226, 232, + -1005, -1005, -1005, -1005, 865, 868, 869, 871, 872, -1005, + 873, 877, -1005, -1005, -1005, -1005, 878, 879, 880, 881, + -1005, -1005, -1005, -1005, -1005, 260, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, 277, -1005, 882, 883, -1005, -1005, 884, 889, + -1005, -1005, 887, 891, -1005, -1005, 890, 892, -1005, -1005, + 893, 894, -1005, -1005, -1005, 91, -1005, -1005, -1005, 895, + -1005, -1005, -1005, 152, -1005, -1005, -1005, -1005, 281, -1005, + -1005, -1005, 153, -1005, -1005, 896, 897, -1005, -1005, 898, + 900, -1005, 901, 902, 903, 904, 905, 906, 285, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 907, 908, + 909, -1005, -1005, -1005, -1005, 288, -1005, -1005, -1005, -1005, + -1005, -1005, 910, 911, 912, -1005, 297, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 311, -1005, + -1005, -1005, 913, -1005, 914, -1005, -1005, -1005, 312, -1005, + -1005, -1005, -1005, -1005, 332, -1005, 238, -1005, 915, -1005, + 335, -1005, -1005, 705, -1005, 916, 918, -1005, -1005, 919, + 923, -1005, -1005, -1005, 920, -1005, 921, -1005, -1005, -1005, + 925, 926, 927, 928, 717, 680, 718, 719, 720, 931, + 722, 723, 936, 937, 938, 939, 730, 731, 727, 732, + 940, 946, 947, 950, 318, -1005, -1005, 318, -1005, 821, + 651, -1005, 824, 15, -1005, 825, 290, -1005, 842, 738, + -1005, 850, -96, -1005, -1005, -5, -1005, 952, 710, -1005, + 330, 853, -1005, 51, -1005, 856, -95, -1005, 857, 741, + 747, 748, 750, 751, 757, 254, -1005, 972, 975, 771, + 788, 789, 88, -1005, 762, 794, 803, 127, -1005, 978, + 979, 164, -1005, 802, 1019, 811, 1025, 63, -1005, -1005, + -25, 858, -1005, 812, -145, -1005, -1005, 1032, 1039, 197, + -1005, 860, 212, -1005, 861, 1042, -1005, -1005, 414, 828, + 836, 849, -1005, -1005, -1005, -1005, -1005, 885, -1005, -1005, + 402, 888, 899, 917, -1005, -1005, -1005, -1005, 922, 924, + 929, 930, -1005, 395, -1005, 397, -1005, 1063, -1005, 1079, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, 398, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, 932, -1005, -1005, 1090, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, 1089, 1102, -1005, -1005, -1005, -1005, -1005, 1098, -1005, + 399, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 313, + 933, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 934, + 935, -1005, -1005, 941, -1005, 30, -1005, -1005, 1103, -1005, + -1005, -1005, -1005, -1005, 401, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, 942, 405, -1005, 412, -1005, 943, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, 738, -1005, -1005, 1104, 945, -1005, 330, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, 1105, 944, 1106, -25, -1005, -1005, -1005, -1005, -1005, + -1005, 951, -1005, -1005, 1107, -1005, 953, -1005, -1005, 1108, + -1005, -1005, 247, -1005, -22, 1108, -1005, -1005, 1109, 1112, + 1113, -1005, 413, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + 1114, 954, 955, 957, 1115, -22, -1005, 959, -1005, -1005, + -1005, 960, -1005, -1005, -1005 }; const short @@ -5280,187 +5290,187 @@ namespace isc { namespace dhcp { 20, 22, 24, 26, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 46, 38, 34, 33, 30, 31, 32, 37, 3, - 35, 36, 61, 5, 67, 7, 182, 9, 373, 11, - 576, 13, 603, 15, 635, 17, 496, 19, 505, 21, - 544, 23, 335, 25, 760, 27, 811, 29, 48, 41, - 0, 0, 0, 0, 0, 0, 637, 0, 507, 546, + 35, 36, 61, 5, 67, 7, 184, 9, 375, 11, + 578, 13, 605, 15, 637, 17, 498, 19, 507, 21, + 546, 23, 337, 25, 762, 27, 813, 29, 48, 41, + 0, 0, 0, 0, 0, 0, 639, 0, 509, 548, 0, 0, 0, 50, 0, 49, 0, 0, 42, 63, - 0, 65, 136, 809, 180, 195, 197, 199, 0, 0, + 0, 65, 137, 811, 182, 197, 199, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 175, 0, 0, 0, 0, 0, 155, 162, - 164, 0, 0, 0, 364, 494, 535, 0, 442, 590, - 592, 434, 0, 0, 0, 291, 310, 300, 283, 673, - 626, 326, 347, 702, 0, 312, 727, 741, 758, 168, - 170, 0, 0, 821, 863, 0, 135, 0, 69, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 111, 112, - 113, 114, 115, 81, 119, 120, 121, 122, 123, 124, - 125, 126, 117, 118, 127, 128, 129, 106, 134, 131, - 132, 84, 85, 86, 87, 103, 88, 90, 89, 130, - 94, 95, 82, 108, 109, 110, 107, 83, 92, 93, - 101, 102, 104, 91, 96, 97, 98, 99, 100, 105, - 116, 133, 192, 0, 191, 0, 184, 187, 188, 189, - 190, 567, 594, 421, 423, 425, 0, 0, 429, 427, - 667, 420, 378, 379, 380, 381, 382, 383, 384, 385, - 404, 405, 406, 407, 408, 411, 412, 413, 414, 415, - 416, 417, 418, 409, 410, 419, 0, 375, 389, 390, - 391, 394, 395, 398, 399, 400, 397, 392, 393, 386, - 387, 402, 403, 388, 396, 401, 588, 587, 583, 584, - 582, 0, 578, 581, 585, 586, 619, 0, 622, 0, - 0, 618, 612, 613, 611, 616, 617, 0, 605, 608, - 609, 614, 615, 610, 665, 653, 655, 657, 659, 661, - 663, 652, 649, 650, 651, 0, 638, 639, 644, 645, - 642, 646, 647, 648, 643, 0, 525, 250, 0, 529, - 527, 532, 0, 521, 522, 0, 508, 509, 512, 524, - 513, 514, 515, 531, 516, 517, 518, 519, 520, 561, - 0, 0, 559, 560, 563, 564, 0, 547, 548, 551, - 552, 553, 554, 555, 556, 557, 558, 343, 345, 340, - 0, 337, 341, 342, 0, 784, 786, 0, 789, 0, - 0, 793, 797, 0, 0, 801, 803, 805, 807, 782, - 780, 781, 0, 762, 765, 777, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 775, 776, 778, 779, 818, - 0, 0, 813, 816, 817, 47, 52, 0, 39, 45, - 0, 66, 62, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 176, 0, 0, 0, 0, 0, 156, 163, + 165, 0, 0, 0, 366, 496, 537, 0, 444, 592, + 594, 436, 0, 0, 0, 293, 312, 302, 285, 675, + 628, 328, 349, 704, 0, 314, 729, 743, 760, 169, + 171, 0, 0, 0, 823, 865, 0, 136, 0, 69, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 111, + 112, 113, 114, 115, 81, 119, 120, 121, 122, 123, + 124, 125, 126, 117, 118, 127, 128, 129, 106, 135, + 131, 132, 133, 84, 85, 86, 87, 103, 88, 90, + 89, 130, 94, 95, 82, 108, 109, 110, 107, 83, + 92, 93, 101, 102, 104, 91, 96, 97, 98, 99, + 100, 105, 116, 134, 194, 0, 193, 0, 186, 189, + 190, 191, 192, 569, 596, 423, 425, 427, 0, 0, + 431, 429, 669, 422, 380, 381, 382, 383, 384, 385, + 386, 387, 406, 407, 408, 409, 410, 413, 414, 415, + 416, 417, 418, 419, 420, 411, 412, 421, 0, 377, + 391, 392, 393, 396, 397, 400, 401, 402, 399, 394, + 395, 388, 389, 404, 405, 390, 398, 403, 590, 589, + 585, 586, 584, 0, 580, 583, 587, 588, 621, 0, + 624, 0, 0, 620, 614, 615, 613, 618, 619, 0, + 607, 610, 611, 616, 617, 612, 667, 655, 657, 659, + 661, 663, 665, 654, 651, 652, 653, 0, 640, 641, + 646, 647, 644, 648, 649, 650, 645, 0, 527, 252, + 0, 531, 529, 534, 0, 523, 524, 0, 510, 511, + 514, 526, 515, 516, 517, 533, 518, 519, 520, 521, + 522, 563, 0, 0, 561, 562, 565, 566, 0, 549, + 550, 553, 554, 555, 556, 557, 558, 559, 560, 345, + 347, 342, 0, 339, 343, 344, 0, 786, 788, 0, + 791, 0, 0, 795, 799, 0, 0, 803, 805, 807, + 809, 784, 782, 783, 0, 764, 767, 779, 768, 769, + 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, + 781, 820, 0, 0, 815, 818, 819, 47, 52, 0, + 39, 45, 0, 66, 62, 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, 0, 0, 0, 60, 71, 68, 0, - 0, 186, 183, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 377, 374, 0, 580, 577, 0, 0, - 0, 0, 0, 607, 604, 0, 0, 0, 0, 0, - 0, 0, 636, 641, 497, 0, 0, 0, 0, 0, - 0, 0, 506, 511, 0, 0, 0, 545, 550, 0, - 0, 339, 336, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 764, 761, - 0, 0, 815, 812, 51, 43, 0, 0, 0, 0, - 0, 0, 0, 0, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 0, 173, - 174, 152, 153, 154, 0, 0, 0, 166, 167, 172, - 0, 0, 0, 177, 0, 0, 0, 0, 431, 432, - 433, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 726, 0, 0, 0, 0, 0, 0, 178, 179, 0, - 0, 70, 0, 194, 185, 0, 0, 0, 0, 0, - 440, 441, 0, 0, 0, 376, 0, 579, 0, 621, - 0, 624, 625, 606, 0, 0, 0, 0, 0, 0, - 0, 640, 0, 0, 523, 0, 0, 0, 534, 510, - 0, 565, 566, 549, 0, 0, 338, 783, 0, 0, - 788, 0, 791, 792, 0, 0, 799, 800, 0, 0, - 0, 0, 763, 0, 820, 814, 0, 0, 137, 0, - 0, 0, 0, 201, 176, 157, 158, 159, 160, 161, - 156, 163, 165, 366, 498, 537, 444, 40, 591, 593, - 436, 437, 438, 439, 435, 0, 48, 0, 0, 0, - 628, 328, 0, 0, 0, 0, 0, 0, 169, 171, - 0, 0, 53, 193, 569, 596, 422, 424, 426, 430, - 428, 0, 589, 620, 623, 666, 654, 656, 658, 660, - 662, 664, 526, 251, 530, 528, 533, 562, 344, 346, - 785, 787, 790, 795, 796, 794, 798, 802, 804, 806, - 808, 201, 44, 0, 0, 0, 237, 243, 245, 247, - 0, 0, 0, 0, 0, 266, 0, 0, 257, 269, - 271, 273, 0, 0, 0, 0, 275, 277, 279, 281, - 236, 0, 208, 211, 212, 213, 214, 215, 216, 217, - 218, 219, 220, 223, 224, 231, 225, 226, 227, 221, - 222, 228, 229, 230, 232, 233, 234, 235, 0, 206, - 0, 202, 203, 371, 0, 367, 368, 503, 0, 499, - 500, 542, 0, 538, 539, 449, 0, 445, 446, 298, - 299, 0, 293, 296, 297, 0, 308, 309, 305, 0, - 302, 306, 307, 289, 0, 285, 288, 678, 0, 675, - 633, 0, 629, 630, 333, 0, 329, 330, 0, 0, - 0, 0, 0, 0, 0, 349, 352, 353, 354, 355, - 356, 357, 716, 722, 0, 0, 0, 715, 712, 713, - 714, 0, 704, 707, 710, 708, 709, 711, 0, 0, - 0, 322, 0, 314, 317, 318, 319, 320, 321, 737, - 739, 736, 734, 735, 0, 729, 732, 733, 0, 753, - 0, 756, 749, 750, 0, 743, 746, 747, 748, 751, - 0, 826, 0, 823, 0, 869, 0, 865, 868, 55, - 574, 0, 570, 571, 601, 0, 597, 598, 671, 670, - 0, 669, 0, 64, 810, 181, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, + 71, 68, 0, 0, 188, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 379, 376, 0, 582, + 579, 0, 0, 0, 0, 0, 609, 606, 0, 0, + 0, 0, 0, 0, 0, 638, 643, 499, 0, 0, + 0, 0, 0, 0, 0, 508, 513, 0, 0, 0, + 547, 552, 0, 0, 341, 338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 766, 763, 0, 0, 817, 814, 51, 43, 0, + 0, 0, 0, 0, 0, 0, 0, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 0, 174, 175, 153, 154, 155, 0, 0, 0, + 167, 168, 173, 0, 0, 0, 178, 0, 0, 0, + 0, 433, 434, 435, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, + 179, 180, 181, 0, 0, 70, 0, 196, 187, 0, + 0, 0, 0, 0, 442, 443, 0, 0, 0, 378, + 0, 581, 0, 623, 0, 626, 627, 608, 0, 0, + 0, 0, 0, 0, 0, 642, 0, 0, 525, 0, + 0, 0, 536, 512, 0, 567, 568, 551, 0, 0, + 340, 785, 0, 0, 790, 0, 793, 794, 0, 0, + 801, 802, 0, 0, 0, 0, 765, 0, 822, 816, + 0, 0, 138, 0, 0, 0, 0, 203, 177, 158, + 159, 160, 161, 162, 157, 164, 166, 368, 500, 539, + 446, 40, 593, 595, 438, 439, 440, 441, 437, 0, + 48, 0, 0, 0, 630, 330, 0, 0, 0, 0, + 0, 0, 170, 172, 0, 0, 53, 195, 571, 598, + 424, 426, 428, 432, 430, 0, 591, 622, 625, 668, + 656, 658, 660, 662, 664, 666, 528, 253, 532, 530, + 535, 564, 346, 348, 787, 789, 792, 797, 798, 796, + 800, 804, 806, 808, 810, 203, 44, 0, 0, 0, + 239, 245, 247, 249, 0, 0, 0, 0, 0, 268, + 0, 0, 259, 271, 273, 275, 0, 0, 0, 0, + 277, 279, 281, 283, 238, 0, 210, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 225, 226, 233, + 227, 228, 229, 223, 224, 230, 231, 232, 234, 235, + 236, 237, 0, 208, 0, 204, 205, 373, 0, 369, + 370, 505, 0, 501, 502, 544, 0, 540, 541, 451, + 0, 447, 448, 300, 301, 0, 295, 298, 299, 0, + 310, 311, 307, 0, 304, 308, 309, 291, 0, 287, + 290, 680, 0, 677, 635, 0, 631, 632, 335, 0, + 331, 332, 0, 0, 0, 0, 0, 0, 0, 351, + 354, 355, 356, 357, 358, 359, 718, 724, 0, 0, + 0, 717, 714, 715, 716, 0, 706, 709, 712, 710, + 711, 713, 0, 0, 0, 324, 0, 316, 319, 320, + 321, 322, 323, 739, 741, 738, 736, 737, 0, 731, + 734, 735, 0, 755, 0, 758, 751, 752, 0, 745, + 748, 749, 750, 753, 0, 828, 0, 825, 0, 871, + 0, 867, 870, 55, 576, 0, 572, 573, 603, 0, + 599, 600, 673, 672, 0, 671, 0, 64, 812, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 210, 196, 198, 0, 200, 205, 0, 365, 370, 507, - 495, 502, 546, 536, 541, 0, 443, 448, 295, 292, - 311, 304, 301, 0, 287, 284, 680, 677, 674, 637, - 627, 632, 0, 327, 332, 0, 0, 0, 0, 0, - 0, 351, 348, 0, 0, 0, 0, 0, 706, 703, - 0, 0, 0, 316, 313, 0, 0, 731, 728, 0, - 0, 0, 0, 745, 742, 759, 0, 825, 822, 0, - 867, 864, 57, 0, 56, 0, 568, 573, 0, 595, - 600, 0, 668, 819, 0, 0, 0, 0, 249, 252, - 253, 254, 255, 0, 268, 256, 0, 0, 0, 0, - 263, 264, 265, 262, 0, 0, 0, 0, 209, 0, - 204, 0, 369, 0, 501, 0, 540, 493, 468, 469, - 470, 472, 473, 474, 458, 459, 477, 478, 479, 480, - 481, 484, 485, 486, 487, 488, 489, 490, 491, 482, - 483, 492, 454, 455, 456, 457, 466, 467, 463, 464, - 465, 462, 471, 0, 451, 460, 475, 476, 461, 447, - 294, 303, 0, 286, 699, 0, 697, 691, 692, 693, - 694, 695, 696, 698, 688, 689, 690, 0, 681, 682, - 685, 686, 687, 676, 0, 631, 0, 331, 358, 359, - 360, 361, 362, 363, 350, 0, 0, 721, 724, 725, - 705, 323, 324, 325, 315, 0, 0, 730, 752, 0, - 755, 0, 744, 841, 0, 839, 837, 831, 835, 836, - 0, 828, 833, 834, 832, 824, 870, 866, 54, 59, - 0, 572, 0, 599, 0, 239, 240, 241, 242, 238, - 244, 246, 248, 267, 259, 260, 261, 258, 270, 272, - 274, 276, 278, 280, 282, 207, 372, 504, 543, 453, - 450, 290, 0, 0, 679, 684, 634, 334, 718, 719, - 720, 717, 723, 738, 740, 754, 757, 0, 0, 0, - 830, 827, 58, 575, 602, 672, 452, 0, 701, 683, - 0, 838, 0, 829, 700, 0, 840, 846, 0, 843, - 0, 845, 842, 856, 0, 0, 0, 861, 0, 848, - 851, 852, 853, 854, 855, 844, 0, 0, 0, 0, - 0, 850, 847, 0, 858, 859, 860, 0, 849, 857, - 862 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 212, 198, 200, 0, 202, 207, + 0, 367, 372, 509, 497, 504, 548, 538, 543, 0, + 445, 450, 297, 294, 313, 306, 303, 0, 289, 286, + 682, 679, 676, 639, 629, 634, 0, 329, 334, 0, + 0, 0, 0, 0, 0, 353, 350, 0, 0, 0, + 0, 0, 708, 705, 0, 0, 0, 318, 315, 0, + 0, 733, 730, 0, 0, 0, 0, 747, 744, 761, + 0, 827, 824, 0, 869, 866, 57, 0, 56, 0, + 570, 575, 0, 597, 602, 0, 670, 821, 0, 0, + 0, 0, 251, 254, 255, 256, 257, 0, 270, 258, + 0, 0, 0, 0, 265, 266, 267, 264, 0, 0, + 0, 0, 211, 0, 206, 0, 371, 0, 503, 0, + 542, 495, 470, 471, 472, 474, 475, 476, 460, 461, + 479, 480, 481, 482, 483, 486, 487, 488, 489, 490, + 491, 492, 493, 484, 485, 494, 456, 457, 458, 459, + 468, 469, 465, 466, 467, 464, 473, 0, 453, 462, + 477, 478, 463, 449, 296, 305, 0, 288, 701, 0, + 699, 693, 694, 695, 696, 697, 698, 700, 690, 691, + 692, 0, 683, 684, 687, 688, 689, 678, 0, 633, + 0, 333, 360, 361, 362, 363, 364, 365, 352, 0, + 0, 723, 726, 727, 707, 325, 326, 327, 317, 0, + 0, 732, 754, 0, 757, 0, 746, 843, 0, 841, + 839, 833, 837, 838, 0, 830, 835, 836, 834, 826, + 872, 868, 54, 59, 0, 574, 0, 601, 0, 241, + 242, 243, 244, 240, 246, 248, 250, 269, 261, 262, + 263, 260, 272, 274, 276, 278, 280, 282, 284, 209, + 374, 506, 545, 455, 452, 292, 0, 0, 681, 686, + 636, 336, 720, 721, 722, 719, 725, 740, 742, 756, + 759, 0, 0, 0, 832, 829, 58, 577, 604, 674, + 454, 0, 703, 685, 0, 840, 0, 831, 702, 0, + 842, 848, 0, 845, 0, 847, 844, 858, 0, 0, + 0, 863, 0, 850, 853, 854, 855, 856, 857, 846, + 0, 0, 0, 0, 0, 852, 849, 0, 860, 861, + 862, 0, 851, 859, 864 }; const short Dhcp6Parser::yypgoto_[] = { - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -10, -1001, -565, -1001, - 212, -1001, -1001, -1001, -1001, 381, -1001, -582, -1001, -1001, - -1001, -71, -1001, -1001, -1001, -1001, -1001, -1001, -1001, 413, - 622, -1001, -1001, -43, -14, 12, 16, 20, 33, -59, - -31, -30, -28, -27, -26, 19, -1001, 34, 37, 38, - 41, -1001, 420, 49, -1001, 52, -1001, 54, 55, 56, - -1001, 59, -1001, 62, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, 399, 606, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, 335, -1001, 107, -1001, - -696, 111, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -45, -1001, -732, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, 89, -1001, -1001, -1001, - -1001, -1001, 96, -715, -1001, -1001, -1001, -1001, 99, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, 64, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, 81, -1001, -1001, -1001, 95, 578, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, 82, -1001, -1001, - -1001, -1001, -1001, -1001, -1000, -1001, -1001, -1001, 114, -1001, - -1001, -1001, 120, 627, -1001, -1001, -998, -1001, -997, -1001, - 73, -1001, 75, -1001, 66, 69, 70, 72, -1001, -1001, - -1001, -996, -1001, -1001, -1001, -1001, 119, -1001, -1001, -135, - 1061, -1001, -1001, -1001, -1001, -1001, 124, -1001, -1001, -1001, - 122, -1001, 604, -1001, -67, -1001, -1001, -1001, -1001, -1001, - -64, -1001, -1001, -1001, -1001, -1001, 4, -1001, -1001, -1001, - 126, -1001, -1001, -1001, 129, -1001, 634, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, 67, -1001, - -1001, -1001, 88, 668, -1001, -1001, -55, -1001, -12, -1001, - -1001, -1001, -1001, -1001, 84, -1001, -1001, -1001, 93, 653, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -60, -1001, -1001, - -1001, 134, -1001, -1001, -1001, 139, -1001, 669, 396, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -994, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - 140, -1001, -1001, -1001, -105, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, 121, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, 113, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, 110, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, 439, 619, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, 479, 635, -1001, -1001, -1001, - -1001, -1001, -1001, 108, -1001, -1001, -100, -1001, -1001, -1001, - -1001, -1001, -1001, -122, -1001, -1001, -140, -1001, -1001, -1001, - -1001, -1001, -1001, -1001, -1001, -1001, -1001, 112, -1001 + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -10, -1005, -568, -1005, + 433, -1005, -1005, -1005, -1005, 371, -1005, -484, -1005, -1005, + -1005, -71, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 415, + 621, -1005, -1005, -43, -14, 12, 16, 20, 33, -59, + -31, -30, -28, -27, -26, 19, -1005, 34, 37, 38, + 41, -1005, 418, 49, -1005, 52, -1005, 54, 55, 56, + -1005, 59, -1005, 62, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, 411, 623, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, 338, -1005, 104, + -1005, -700, 110, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -45, -1005, -736, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, 90, -1005, -1005, + -1005, -1005, -1005, 98, -719, -1005, -1005, -1005, -1005, 96, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, 67, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, 81, -1005, -1005, -1005, 89, + 582, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 83, -1005, + -1005, -1005, -1005, -1005, -1005, -1004, -1005, -1005, -1005, 118, + -1005, -1005, -1005, 121, 626, -1005, -1005, -1002, -1005, -1001, + -1005, 73, -1005, 75, -1005, 66, 69, 70, 72, -1005, + -1005, -1005, -1000, -1005, -1005, -1005, -1005, 112, -1005, -1005, + -127, 1074, -1005, -1005, -1005, -1005, -1005, 128, -1005, -1005, + -1005, 129, -1005, 608, -1005, -67, -1005, -1005, -1005, -1005, + -1005, -64, -1005, -1005, -1005, -1005, -1005, 4, -1005, -1005, + -1005, 131, -1005, -1005, -1005, 135, -1005, 604, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 85, + -1005, -1005, -1005, 92, 679, -1005, -1005, -55, -1005, -12, + -1005, -1005, -1005, -1005, -1005, 76, -1005, -1005, -1005, 86, + 685, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -60, -1005, + -1005, -1005, 124, -1005, -1005, -1005, 134, -1005, 655, 417, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -998, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, 139, -1005, -1005, -1005, -100, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, 122, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, 115, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, 108, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, 436, 622, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, 476, 624, -1005, -1005, + -1005, -1005, -1005, -1005, 102, -1005, -1005, -106, -1005, -1005, + -1005, -1005, -1005, -1005, -125, -1005, -1005, -143, -1005, -1005, + -1005, -1005, -1005, -1005, -1005, -1005, -1005, -1005, 111, -1005 }; const short @@ -5468,562 +5478,562 @@ namespace isc { namespace dhcp { { 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 83, 39, 40, 69, - 728, 87, 88, 41, 68, 84, 85, 753, 969, 1083, - 1084, 820, 43, 70, 90, 430, 91, 45, 71, 157, - 158, 159, 433, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 459, 720, 178, 460, 179, 461, 180, 181, 182, - 490, 183, 491, 184, 185, 186, 187, 453, 188, 189, - 190, 191, 435, 47, 72, 225, 226, 227, 499, 228, - 192, 436, 193, 437, 194, 438, 850, 851, 852, 1013, - 821, 822, 823, 986, 1249, 824, 987, 825, 988, 826, - 989, 827, 828, 536, 829, 830, 831, 832, 833, 834, - 998, 1257, 835, 836, 837, 838, 839, 995, 840, 841, - 999, 842, 1000, 843, 1001, 844, 1006, 845, 1007, 846, - 1008, 847, 1009, 195, 479, 884, 885, 886, 1033, 196, - 476, 871, 872, 873, 874, 197, 478, 879, 880, 881, - 882, 198, 477, 199, 486, 932, 933, 934, 935, 936, - 200, 482, 895, 896, 897, 1042, 63, 80, 380, 381, - 382, 549, 383, 550, 201, 483, 904, 905, 906, 907, - 908, 909, 910, 911, 202, 465, 854, 855, 856, 1016, - 49, 73, 266, 267, 268, 505, 269, 506, 270, 507, - 271, 511, 272, 510, 203, 204, 205, 206, 472, 734, - 277, 278, 207, 469, 866, 867, 868, 1025, 1163, 1164, - 208, 466, 57, 77, 858, 859, 860, 1019, 59, 78, - 345, 346, 347, 348, 349, 350, 351, 535, 352, 539, - 353, 538, 354, 355, 540, 356, 209, 467, 862, 863, - 864, 1022, 61, 79, 366, 367, 368, 369, 370, 544, - 371, 372, 373, 374, 280, 503, 971, 972, 973, 1085, - 51, 74, 291, 292, 293, 515, 210, 470, 211, 471, - 283, 504, 975, 976, 977, 1088, 53, 75, 307, 308, - 309, 518, 310, 311, 520, 312, 313, 212, 481, 891, - 892, 893, 1039, 55, 76, 325, 326, 327, 328, 526, - 329, 527, 330, 528, 331, 529, 332, 530, 333, 531, - 334, 525, 285, 512, 980, 981, 1091, 213, 480, 888, - 889, 1036, 1187, 1188, 1189, 1190, 1191, 1272, 1192, 214, - 484, 921, 922, 923, 1053, 1281, 924, 925, 1054, 926, - 927, 215, 216, 487, 944, 945, 946, 1065, 947, 1066, - 217, 488, 954, 955, 956, 957, 1070, 958, 959, 1072, - 218, 489, 65, 81, 402, 403, 404, 405, 554, 406, - 555, 407, 408, 557, 409, 410, 411, 560, 785, 412, - 561, 413, 414, 415, 564, 416, 565, 417, 566, 418, - 567, 219, 434, 67, 82, 421, 422, 423, 570, 424, - 220, 494, 962, 963, 1076, 1230, 1231, 1232, 1233, 1289, - 1234, 1287, 1308, 1309, 1310, 1318, 1319, 1320, 1326, 1321, - 1322, 1323, 1324, 1330, 221, 495, 966, 967, 968 + 732, 87, 88, 41, 68, 84, 85, 757, 973, 1087, + 1088, 824, 43, 70, 90, 432, 91, 45, 71, 158, + 159, 160, 435, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 461, 724, 179, 462, 180, 463, 181, 182, 183, + 492, 184, 493, 185, 186, 187, 188, 455, 189, 190, + 191, 192, 193, 437, 47, 72, 227, 228, 229, 502, + 230, 194, 438, 195, 439, 196, 440, 854, 855, 856, + 1017, 825, 826, 827, 990, 1253, 828, 991, 829, 992, + 830, 993, 831, 832, 539, 833, 834, 835, 836, 837, + 838, 1002, 1261, 839, 840, 841, 842, 843, 999, 844, + 845, 1003, 846, 1004, 847, 1005, 848, 1010, 849, 1011, + 850, 1012, 851, 1013, 197, 481, 888, 889, 890, 1037, + 198, 478, 875, 876, 877, 878, 199, 480, 883, 884, + 885, 886, 200, 479, 201, 488, 936, 937, 938, 939, + 940, 202, 484, 899, 900, 901, 1046, 63, 80, 382, + 383, 384, 552, 385, 553, 203, 485, 908, 909, 910, + 911, 912, 913, 914, 915, 204, 467, 858, 859, 860, + 1020, 49, 73, 268, 269, 270, 508, 271, 509, 272, + 510, 273, 514, 274, 513, 205, 206, 207, 208, 474, + 738, 279, 280, 209, 471, 870, 871, 872, 1029, 1167, + 1168, 210, 468, 57, 77, 862, 863, 864, 1023, 59, + 78, 347, 348, 349, 350, 351, 352, 353, 538, 354, + 542, 355, 541, 356, 357, 543, 358, 211, 469, 866, + 867, 868, 1026, 61, 79, 368, 369, 370, 371, 372, + 547, 373, 374, 375, 376, 282, 506, 975, 976, 977, + 1089, 51, 74, 293, 294, 295, 518, 212, 472, 213, + 473, 285, 507, 979, 980, 981, 1092, 53, 75, 309, + 310, 311, 521, 312, 313, 523, 314, 315, 214, 483, + 895, 896, 897, 1043, 55, 76, 327, 328, 329, 330, + 529, 331, 530, 332, 531, 333, 532, 334, 533, 335, + 534, 336, 528, 287, 515, 984, 985, 1095, 215, 482, + 892, 893, 1040, 1191, 1192, 1193, 1194, 1195, 1276, 1196, + 216, 486, 925, 926, 927, 1057, 1285, 928, 929, 1058, + 930, 931, 217, 218, 489, 948, 949, 950, 1069, 951, + 1070, 219, 490, 958, 959, 960, 961, 1074, 962, 963, + 1076, 220, 491, 65, 81, 404, 405, 406, 407, 557, + 408, 558, 409, 410, 560, 411, 412, 413, 563, 789, + 414, 564, 415, 416, 417, 567, 418, 568, 419, 569, + 420, 570, 221, 436, 67, 82, 423, 424, 425, 573, + 426, 222, 497, 966, 967, 1080, 1234, 1235, 1236, 1237, + 1293, 1238, 1291, 1312, 1313, 1314, 1322, 1323, 1324, 1330, + 1325, 1326, 1327, 1328, 1334, 223, 498, 970, 971, 972 }; const short Dhcp6Parser::yytable_[] = { - 156, 224, 241, 287, 301, 321, 38, 343, 362, 379, - 399, 918, 364, 284, 248, 365, 848, 229, 281, 294, - 305, 323, 878, 357, 375, 1153, 400, 1154, 1155, 1162, - 242, 1168, 869, 344, 363, 31, 336, 32, 42, 33, - 377, 378, 249, 250, 315, 251, 252, 253, 419, 420, - 727, 978, 222, 223, 715, 716, 717, 718, 964, 243, - 230, 282, 295, 306, 324, 30, 358, 376, 44, 401, - 759, 869, 876, 155, 877, 129, 130, 279, 290, 304, - 322, 431, 765, 766, 767, 244, 432, 46, 1028, 245, - 719, 1029, 254, 246, 1031, 497, 337, 1032, 338, 339, - 498, 48, 340, 341, 342, 50, 247, 255, 912, 1037, - 256, 257, 1038, 86, 258, 129, 130, 801, 870, 155, - 727, 501, 259, 52, 54, 260, 502, 261, 262, 263, - 56, 126, 264, 939, 940, 265, 129, 130, 58, 273, - 60, 513, 274, 275, 62, 276, 514, 288, 302, 289, - 303, 129, 130, 92, 93, 64, 1077, 94, 516, 1078, - 95, 96, 97, 517, 337, 359, 338, 339, 360, 361, - 1313, 314, 66, 1314, 1315, 1316, 1317, 315, 316, 317, - 318, 319, 320, 129, 130, 377, 378, 129, 130, 155, - 129, 130, 783, 784, 98, 99, 100, 101, 102, 103, + 157, 226, 243, 289, 303, 323, 38, 345, 364, 381, + 401, 922, 366, 286, 250, 367, 852, 231, 283, 296, + 307, 325, 882, 359, 377, 1157, 402, 1158, 1159, 1166, + 244, 1172, 873, 346, 365, 31, 338, 32, 42, 33, + 379, 380, 251, 252, 317, 253, 254, 255, 30, 433, + 731, 982, 224, 225, 434, 968, 339, 421, 422, 245, + 232, 284, 297, 308, 326, 44, 360, 378, 46, 403, + 156, 719, 720, 721, 722, 129, 130, 281, 292, 306, + 324, 500, 504, 516, 48, 246, 501, 505, 517, 247, + 519, 50, 256, 248, 1032, 520, 339, 1033, 340, 341, + 526, 52, 342, 343, 344, 527, 249, 257, 723, 916, + 258, 259, 554, 54, 260, 129, 130, 555, 805, 874, + 156, 731, 261, 873, 880, 262, 881, 263, 264, 265, + 56, 126, 266, 571, 86, 267, 129, 130, 572, 275, + 58, 575, 276, 277, 60, 278, 576, 290, 304, 291, + 305, 129, 130, 92, 93, 1035, 1041, 94, 1036, 1042, + 95, 96, 97, 129, 130, 62, 1227, 64, 1228, 1229, + 1317, 316, 763, 1318, 1319, 1320, 1321, 317, 318, 319, + 320, 321, 322, 66, 769, 770, 771, 500, 129, 130, + 156, 89, 987, 125, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 89, 125, 523, 551, 129, 130, 155, - 524, 552, 127, 128, 568, 913, 914, 915, 916, 569, - 425, 426, 129, 130, 34, 35, 36, 37, 427, 131, - 155, 948, 949, 950, 132, 133, 134, 135, 136, 137, - 138, 572, 139, 497, 126, 155, 573, 140, 983, 1153, - 337, 1154, 1155, 1162, 428, 1168, 141, 286, 429, 142, - 439, 928, 929, 930, 129, 130, 143, 572, 501, 129, - 130, 440, 984, 985, 144, 145, 441, 155, 1010, 146, - 442, 155, 147, 1011, 951, 238, 148, 443, 239, 898, - 899, 900, 901, 902, 903, 1010, 878, 1119, 1034, 532, - 1012, 1311, 533, 1035, 1312, 534, 918, 149, 150, 151, - 152, 153, 444, 1051, 1058, 542, 445, 796, 1052, 1059, - 154, 155, 797, 798, 799, 800, 801, 802, 803, 804, - 805, 806, 807, 808, 446, 447, 155, 809, 810, 811, - 812, 813, 814, 815, 816, 817, 818, 819, 126, 730, - 731, 732, 733, 98, 99, 100, 101, 102, 103, 1223, - 448, 1224, 1225, 296, 297, 298, 299, 300, 129, 130, - 1063, 1067, 547, 449, 1073, 1064, 1068, 337, 155, 1074, - 568, 126, 337, 155, 543, 1075, 1080, 548, 1010, 238, - 513, 1081, 239, 1265, 1269, 1266, 574, 575, 551, 1270, - 1290, 129, 130, 1277, 516, 1291, 156, 523, 1331, 1293, - 224, 450, 1294, 1332, 1245, 1246, 1247, 1248, 1254, 1255, - 1256, 451, 241, 1174, 1175, 287, 229, 1278, 1279, 1280, - 452, 454, 301, 284, 248, 455, 456, 457, 281, 458, - 576, 294, 321, 462, 463, 464, 468, 473, 305, 474, - 242, 475, 343, 485, 492, 493, 496, 362, 323, 500, - 508, 364, 249, 250, 365, 251, 252, 253, 357, 230, - 509, 519, 521, 375, 522, 537, 541, 399, 344, 243, - 545, 282, 155, 363, 295, 546, 553, 556, 558, 559, - 562, 306, 563, 400, 571, 577, 578, 279, 579, 580, - 290, 324, 581, 582, 583, 244, 592, 304, 584, 245, - 155, 358, 254, 246, 598, 155, 376, 322, 129, 130, - 585, 586, 604, 605, 587, 606, 247, 255, 588, 589, - 256, 257, 590, 591, 258, 593, 401, 594, 595, 596, - 597, 599, 259, 600, 601, 260, 602, 261, 262, 263, - 603, 607, 264, 608, 609, 265, 610, 611, 612, 273, - 613, 614, 274, 275, 615, 276, 616, 617, 618, 288, - 619, 289, 620, 621, 622, 623, 302, 624, 303, 625, - 626, 627, 628, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 629, 630, 631, 632, - 633, 634, 635, 397, 398, 636, 637, 638, 639, 640, - 642, 643, 645, 646, 647, 648, 156, 649, 650, 224, - 652, 653, 654, 651, 656, 658, 659, 660, 661, 662, - 664, 674, 155, 665, 666, 229, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 667, 668, 917, 931, 941, 669, 399, 670, 672, 673, - 965, 675, 676, 677, 680, 678, 684, 685, 919, 937, - 942, 952, 400, 688, 681, 682, 792, 687, 230, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 689, 690, 691, 692, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 694, 695, 126, 693, 698, - 699, 920, 938, 943, 953, 401, 700, 701, 696, 231, - 697, 232, 703, 704, 706, 708, 707, 129, 130, 233, - 234, 235, 236, 237, 131, 709, 710, 711, 712, 132, - 133, 134, 713, 714, 721, 722, 723, 724, 238, 725, - 726, 239, 140, 32, 729, 735, 736, 737, 748, 240, - 738, 739, 740, 741, 749, 750, 742, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 743, 744, 745, 746, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 747, 126, 337, 751, 752, 754, - 755, 756, 757, 758, 760, 761, 791, 762, 883, 849, - 853, 857, 149, 150, 763, 129, 130, 764, 234, 235, - 861, 237, 131, 786, 865, 887, 768, 132, 133, 134, - 890, 894, 961, 769, 970, 974, 238, 990, 770, 239, - 991, 155, 771, 992, 993, 772, 773, 240, 774, 775, - 776, 777, 778, 780, 781, 782, 788, 994, 789, 790, - 996, 997, 1002, 1003, 1004, 1005, 1015, 1098, 1014, 1018, - 1017, 1020, 1021, 1023, 1024, 1027, 1026, 779, 1041, 1030, - 1040, 1044, 1043, 1045, 1046, 1047, 1048, 1049, 1050, 1055, - 1056, 1057, 1060, 1061, 1062, 1069, 1071, 1079, 1082, 1094, - 149, 150, 1086, 1087, 1089, 1090, 1100, 1092, 1095, 1093, - 1096, 1097, 1099, 1101, 1102, 1103, 1106, 1107, 1104, 1105, - 1108, 1109, 1110, 1111, 1114, 241, 1112, 1115, 343, 155, - 1116, 362, 1113, 1117, 1127, 364, 284, 248, 365, 1172, - 1198, 281, 1199, 1205, 357, 1176, 1134, 375, 321, 1200, - 1166, 379, 1206, 242, 344, 1201, 1211, 363, 1202, 1215, - 1152, 1185, 1128, 1203, 323, 249, 250, 917, 251, 252, - 253, 1183, 931, 1177, 1135, 1136, 941, 1137, 1138, 1139, - 1207, 1208, 243, 919, 282, 1226, 1209, 358, 937, 965, - 376, 1129, 942, 1167, 287, 1212, 1213, 301, 952, 1216, - 279, 1228, 1178, 1218, 1186, 1219, 1220, 324, 244, 1165, - 294, 1227, 245, 305, 1221, 254, 246, 1130, 1238, 1239, - 1184, 1131, 1236, 322, 1140, 1132, 920, 1244, 1179, 247, - 255, 938, 1180, 256, 257, 943, 1181, 258, 1133, 1141, - 1250, 953, 1142, 1143, 1229, 259, 1144, 1267, 260, 1182, - 261, 262, 263, 295, 1145, 264, 306, 1146, 265, 1147, - 1148, 1149, 273, 1251, 1150, 274, 275, 1151, 276, 290, - 1268, 1158, 304, 1273, 1159, 1160, 1274, 1161, 1156, 1275, - 1157, 1276, 1252, 1288, 1297, 1300, 1302, 644, 1305, 795, - 1327, 1253, 1307, 1328, 1329, 1333, 1337, 875, 787, 641, - 793, 1118, 1120, 1173, 1170, 1197, 982, 1214, 1258, 686, - 1171, 1259, 1122, 1204, 1296, 1260, 1121, 1196, 335, 1261, - 655, 1123, 1262, 1263, 1264, 1124, 1169, 679, 1271, 1282, - 1126, 1125, 1283, 1284, 1241, 1285, 1292, 979, 288, 1295, - 289, 302, 1304, 303, 1298, 1301, 1306, 1339, 1334, 1335, - 1299, 1336, 1340, 1240, 1243, 1195, 663, 1193, 1194, 1210, - 1217, 1242, 683, 1222, 657, 1235, 960, 702, 794, 1325, - 1303, 1338, 1237, 0, 0, 0, 0, 0, 1127, 0, - 0, 0, 671, 0, 1176, 0, 0, 705, 0, 0, - 1134, 1286, 0, 0, 1166, 0, 0, 0, 0, 1226, - 1185, 0, 0, 0, 1152, 0, 1128, 0, 0, 0, - 1183, 0, 1177, 0, 0, 1228, 0, 0, 1135, 1136, - 0, 1137, 1138, 1139, 0, 1227, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1129, 0, 1167, 0, 0, - 0, 1178, 0, 1186, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1165, 0, 0, 0, 0, 1229, 1184, - 0, 1130, 0, 0, 0, 1131, 0, 1179, 1140, 1132, - 0, 1180, 0, 0, 0, 1181, 0, 0, 0, 0, - 0, 0, 1133, 1141, 0, 0, 1142, 1143, 1182, 0, - 1144, 0, 0, 0, 0, 0, 0, 0, 1145, 0, - 0, 1146, 0, 1147, 1148, 1149, 0, 0, 1150, 0, - 0, 1151, 0, 0, 0, 1158, 0, 0, 1159, 1160, - 0, 1161, 1156, 0, 1157 + 124, 125, 126, 427, 952, 953, 954, 129, 130, 575, + 156, 428, 127, 128, 988, 504, 917, 918, 919, 920, + 989, 1081, 129, 130, 1082, 34, 35, 36, 37, 131, + 1315, 156, 429, 1316, 132, 133, 134, 135, 136, 137, + 138, 430, 139, 1014, 129, 130, 156, 140, 1015, 1157, + 431, 1158, 1159, 1166, 441, 1172, 141, 126, 955, 142, + 1014, 932, 933, 934, 1038, 1016, 143, 442, 1055, 1039, + 288, 1062, 126, 1056, 144, 145, 1063, 129, 130, 146, + 1067, 535, 147, 156, 443, 1068, 148, 298, 299, 300, + 301, 302, 129, 130, 1071, 1077, 882, 1123, 240, 1072, + 1078, 241, 943, 944, 379, 380, 922, 149, 150, 151, + 152, 153, 154, 240, 536, 571, 241, 444, 1084, 800, + 1079, 155, 156, 1085, 801, 802, 803, 804, 805, 806, + 807, 808, 809, 810, 811, 812, 445, 156, 446, 813, + 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, + 447, 339, 361, 340, 341, 362, 363, 787, 788, 156, + 448, 449, 98, 99, 100, 101, 102, 103, 450, 451, + 129, 130, 902, 903, 904, 905, 906, 907, 1014, 339, + 516, 1273, 554, 1269, 1294, 1270, 1274, 1281, 519, 1295, + 126, 339, 156, 1297, 452, 526, 1335, 537, 577, 578, + 1298, 1336, 734, 735, 736, 737, 453, 156, 454, 157, + 129, 130, 456, 226, 457, 458, 1249, 1250, 1251, 1252, + 1258, 1259, 1260, 459, 460, 243, 464, 465, 289, 231, + 466, 470, 1178, 1179, 475, 303, 286, 250, 1282, 1283, + 1284, 283, 476, 477, 296, 323, 487, 494, 495, 496, + 499, 307, 503, 244, 511, 345, 512, 522, 524, 525, + 364, 325, 540, 544, 366, 251, 252, 367, 253, 254, + 255, 359, 232, 545, 546, 550, 377, 548, 549, 551, + 401, 346, 245, 556, 284, 156, 365, 297, 559, 561, + 562, 565, 566, 574, 308, 580, 402, 579, 581, 582, + 281, 583, 584, 292, 326, 585, 586, 595, 246, 601, + 306, 587, 247, 156, 360, 256, 248, 129, 130, 378, + 324, 588, 589, 590, 591, 156, 596, 607, 608, 249, + 257, 597, 592, 258, 259, 593, 594, 260, 598, 403, + 599, 600, 602, 603, 609, 261, 604, 605, 262, 606, + 263, 264, 265, 610, 611, 266, 612, 613, 267, 614, + 615, 616, 275, 617, 618, 276, 277, 619, 278, 620, + 621, 622, 290, 623, 291, 624, 625, 626, 627, 304, + 628, 305, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 629, 630, 631, 632, 633, + 634, 635, 399, 400, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 636, 637, + 157, 638, 639, 226, 640, 641, 643, 642, 644, 646, + 647, 649, 156, 650, 651, 711, 652, 653, 656, 231, + 654, 657, 658, 655, 660, 662, 664, 663, 665, 666, + 668, 669, 670, 671, 672, 673, 921, 935, 945, 674, + 401, 676, 677, 678, 969, 679, 680, 681, 684, 682, + 688, 689, 923, 941, 946, 956, 402, 692, 685, 686, + 796, 691, 232, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 693, 694, 695, 696, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 697, + 698, 126, 699, 702, 700, 924, 942, 947, 957, 403, + 703, 701, 708, 233, 704, 234, 705, 707, 710, 712, + 717, 129, 130, 235, 236, 237, 238, 239, 131, 713, + 714, 715, 716, 132, 133, 134, 718, 725, 726, 727, + 728, 729, 240, 730, 32, 241, 140, 733, 739, 740, + 741, 743, 752, 242, 742, 744, 745, 753, 754, 746, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 747, 748, 749, 750, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 751, 126, 339, + 755, 756, 758, 759, 760, 761, 765, 795, 853, 887, + 762, 857, 861, 764, 766, 767, 149, 150, 129, 130, + 768, 236, 237, 772, 239, 131, 773, 774, 775, 865, + 132, 133, 134, 790, 776, 777, 778, 869, 779, 240, + 891, 780, 241, 894, 898, 965, 156, 974, 978, 994, + 242, 781, 995, 996, 782, 997, 998, 1000, 784, 785, + 786, 1001, 1006, 1007, 1008, 1009, 1019, 792, 1018, 793, + 1021, 794, 1022, 1024, 1025, 1028, 1027, 1031, 1103, 1030, + 1045, 1034, 1044, 1048, 1047, 1049, 1050, 1051, 1052, 1053, + 1054, 1059, 1060, 1061, 1064, 1065, 1066, 1073, 1075, 1083, + 1086, 1091, 1090, 149, 150, 1093, 1094, 1097, 1096, 1098, + 1099, 1100, 1101, 1102, 1104, 1107, 1106, 1105, 1108, 1109, + 1110, 1111, 1112, 1113, 1118, 1116, 1114, 1115, 1117, 243, + 1119, 1120, 345, 156, 1121, 364, 1176, 1202, 1131, 366, + 286, 250, 367, 1203, 1204, 283, 1205, 1206, 359, 1180, + 1138, 377, 323, 1207, 1170, 381, 1209, 244, 346, 1210, + 1215, 365, 1219, 1220, 1156, 1189, 1132, 1211, 325, 251, + 252, 921, 253, 254, 255, 1187, 935, 1181, 1139, 1140, + 945, 1141, 1142, 1143, 1212, 1213, 245, 923, 284, 1230, + 1216, 360, 941, 969, 378, 1133, 946, 1171, 289, 1217, + 1222, 303, 956, 1223, 281, 1232, 1182, 1224, 1190, 1225, + 1240, 326, 246, 1169, 296, 1231, 247, 307, 1242, 256, + 248, 1134, 1243, 1254, 1188, 1135, 1248, 324, 1144, 1136, + 924, 1255, 1183, 249, 257, 942, 1184, 258, 259, 947, + 1185, 260, 1137, 1145, 1256, 957, 1146, 1147, 1233, 261, + 1148, 1271, 262, 1186, 263, 264, 265, 297, 1149, 266, + 308, 1150, 267, 1151, 1152, 1153, 275, 1272, 1154, 276, + 277, 1155, 278, 292, 1277, 1162, 306, 1278, 1163, 1164, + 1257, 1165, 1160, 1262, 1161, 1279, 1280, 1292, 1301, 1304, + 1306, 879, 1309, 1331, 1263, 1311, 1332, 1333, 1337, 1341, + 791, 645, 783, 1124, 1122, 799, 797, 648, 1177, 1201, + 1174, 1175, 1264, 986, 1218, 1200, 690, 1265, 1208, 1266, + 1126, 1125, 659, 1173, 1267, 1268, 1300, 1275, 1286, 1287, + 1288, 337, 1127, 1128, 683, 687, 1289, 1296, 1299, 1130, + 1305, 1129, 290, 1302, 291, 304, 1308, 305, 1310, 1199, + 1247, 1339, 1338, 1340, 1343, 1344, 1245, 1198, 1246, 1303, + 1197, 1244, 983, 1239, 1214, 1226, 1221, 964, 1307, 798, + 1329, 675, 1342, 706, 0, 1241, 0, 0, 661, 709, + 0, 0, 1131, 0, 0, 0, 0, 0, 1180, 0, + 0, 667, 0, 0, 1138, 1290, 0, 0, 1170, 0, + 0, 0, 0, 1230, 1189, 0, 0, 0, 1156, 0, + 1132, 0, 0, 0, 1187, 0, 1181, 0, 0, 1232, + 0, 0, 1139, 1140, 0, 1141, 1142, 1143, 0, 1231, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1133, + 0, 1171, 0, 0, 0, 1182, 0, 1190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1169, 0, 0, + 0, 0, 1233, 1188, 0, 1134, 0, 0, 0, 1135, + 0, 1183, 1144, 1136, 0, 1184, 0, 0, 0, 1185, + 0, 0, 0, 0, 0, 0, 1137, 1145, 0, 0, + 1146, 1147, 1186, 0, 1148, 0, 0, 0, 0, 0, + 0, 0, 1149, 0, 0, 1150, 0, 1151, 1152, 1153, + 0, 0, 1154, 0, 0, 1155, 0, 0, 0, 1162, + 0, 0, 1163, 1164, 0, 1165, 1160, 0, 1161 }; const short Dhcp6Parser::yycheck_[] = { 71, 72, 73, 74, 75, 76, 16, 78, 79, 80, - 81, 743, 79, 73, 73, 79, 712, 72, 73, 74, - 75, 76, 737, 78, 79, 1025, 81, 1025, 1025, 1025, - 73, 1025, 128, 78, 79, 5, 21, 7, 7, 9, - 135, 136, 73, 73, 126, 73, 73, 73, 13, 14, - 615, 133, 16, 17, 181, 182, 183, 184, 199, 73, - 72, 73, 74, 75, 76, 0, 78, 79, 7, 81, - 652, 128, 129, 214, 131, 100, 101, 73, 74, 75, - 76, 3, 664, 665, 666, 73, 8, 7, 3, 73, - 217, 6, 73, 73, 3, 3, 81, 6, 83, 84, - 8, 7, 87, 88, 89, 7, 73, 73, 21, 3, - 73, 73, 6, 214, 73, 100, 101, 30, 214, 214, - 685, 3, 73, 7, 7, 73, 8, 73, 73, 73, - 7, 80, 73, 158, 159, 73, 100, 101, 7, 73, + 81, 747, 79, 73, 73, 79, 716, 72, 73, 74, + 75, 76, 741, 78, 79, 1029, 81, 1029, 1029, 1029, + 73, 1029, 128, 78, 79, 5, 21, 7, 7, 9, + 135, 136, 73, 73, 126, 73, 73, 73, 0, 3, + 618, 133, 16, 17, 8, 200, 81, 13, 14, 73, + 72, 73, 74, 75, 76, 7, 78, 79, 7, 81, + 215, 181, 182, 183, 184, 100, 101, 73, 74, 75, + 76, 3, 3, 3, 7, 73, 8, 8, 8, 73, + 3, 7, 73, 73, 3, 8, 81, 6, 83, 84, + 3, 7, 87, 88, 89, 8, 73, 73, 218, 21, + 73, 73, 3, 7, 73, 100, 101, 8, 30, 215, + 215, 689, 73, 128, 129, 73, 131, 73, 73, 73, + 7, 80, 73, 3, 215, 73, 100, 101, 8, 73, 7, 3, 73, 73, 7, 73, 8, 74, 75, 74, - 75, 100, 101, 11, 12, 7, 3, 15, 3, 6, - 18, 19, 20, 8, 81, 82, 83, 84, 85, 86, - 191, 120, 7, 194, 195, 196, 197, 126, 127, 128, - 129, 130, 131, 100, 101, 135, 136, 100, 101, 214, - 100, 101, 178, 179, 52, 53, 54, 55, 56, 57, + 75, 100, 101, 11, 12, 3, 3, 15, 6, 6, + 18, 19, 20, 100, 101, 7, 191, 7, 193, 194, + 192, 120, 656, 195, 196, 197, 198, 126, 127, 128, + 129, 130, 131, 7, 668, 669, 670, 3, 100, 101, + 215, 10, 8, 79, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 10, 79, 3, 3, 100, 101, 214, - 8, 8, 90, 91, 3, 148, 149, 150, 151, 8, - 6, 3, 100, 101, 214, 215, 216, 217, 4, 107, - 214, 161, 162, 163, 112, 113, 114, 115, 116, 117, - 118, 3, 120, 3, 80, 214, 8, 125, 8, 1269, - 81, 1269, 1269, 1269, 8, 1269, 134, 93, 3, 137, - 4, 154, 155, 156, 100, 101, 144, 3, 3, 100, - 101, 4, 8, 8, 152, 153, 4, 214, 3, 157, - 4, 214, 160, 8, 214, 121, 164, 4, 124, 138, - 139, 140, 141, 142, 143, 3, 1031, 1013, 3, 8, - 8, 3, 3, 8, 6, 8, 1058, 185, 186, 187, - 188, 189, 4, 3, 3, 8, 4, 21, 8, 8, - 198, 214, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 4, 4, 214, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 80, 108, - 109, 110, 111, 52, 53, 54, 55, 56, 57, 190, - 4, 192, 193, 95, 96, 97, 98, 99, 100, 101, - 3, 3, 8, 4, 3, 8, 8, 81, 214, 8, - 3, 80, 81, 214, 3, 8, 3, 3, 3, 121, - 3, 8, 124, 8, 3, 8, 426, 427, 3, 8, - 3, 100, 101, 8, 3, 8, 497, 3, 3, 8, - 501, 4, 8, 8, 22, 23, 24, 25, 38, 39, - 40, 4, 513, 122, 123, 516, 501, 145, 146, 147, - 4, 4, 523, 513, 513, 4, 4, 4, 513, 4, - 214, 516, 533, 4, 4, 4, 4, 4, 523, 4, - 513, 4, 543, 4, 4, 4, 4, 548, 533, 4, - 4, 548, 513, 513, 548, 513, 513, 513, 543, 501, - 4, 4, 4, 548, 4, 4, 4, 568, 543, 513, - 4, 513, 214, 548, 516, 4, 4, 4, 4, 4, - 4, 523, 4, 568, 4, 4, 4, 513, 4, 4, - 516, 533, 4, 4, 4, 513, 217, 523, 215, 513, - 214, 543, 513, 513, 4, 214, 548, 533, 100, 101, - 215, 215, 4, 4, 215, 4, 513, 513, 215, 215, - 513, 513, 215, 215, 513, 216, 568, 216, 216, 215, - 215, 215, 513, 215, 217, 513, 217, 513, 513, 513, - 217, 217, 513, 217, 217, 513, 4, 4, 4, 513, - 215, 4, 513, 513, 4, 513, 4, 4, 217, 516, - 217, 516, 217, 4, 4, 4, 523, 4, 523, 4, - 4, 4, 4, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 4, 215, 4, 4, - 4, 4, 4, 185, 186, 4, 217, 217, 4, 4, - 4, 217, 4, 4, 4, 4, 707, 4, 215, 710, - 4, 4, 4, 217, 4, 4, 215, 4, 215, 215, - 4, 215, 214, 4, 4, 710, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 4, 4, 743, 744, 745, 4, 747, 4, 4, 4, - 751, 4, 4, 4, 4, 217, 4, 4, 743, 744, - 745, 746, 747, 4, 217, 217, 706, 217, 710, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 4, 215, 4, 215, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 4, 4, 80, 215, 4, - 4, 743, 744, 745, 746, 747, 4, 4, 217, 92, - 217, 94, 4, 215, 4, 214, 7, 100, 101, 102, - 103, 104, 105, 106, 107, 7, 7, 7, 7, 112, - 113, 114, 5, 214, 214, 214, 5, 5, 121, 5, - 5, 124, 125, 7, 214, 5, 5, 5, 214, 132, - 7, 5, 5, 5, 214, 5, 7, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 7, 7, 7, 7, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 7, 80, 81, 7, 5, 5, - 5, 214, 214, 214, 214, 7, 5, 214, 119, 7, - 7, 7, 185, 186, 214, 100, 101, 214, 103, 104, - 7, 106, 107, 180, 7, 7, 214, 112, 113, 114, - 7, 7, 7, 214, 7, 7, 121, 4, 214, 124, - 4, 214, 214, 4, 4, 214, 214, 132, 214, 214, - 214, 214, 214, 214, 214, 214, 214, 4, 214, 214, - 4, 4, 4, 4, 4, 4, 3, 215, 6, 3, - 6, 6, 3, 6, 3, 3, 6, 685, 3, 6, - 6, 3, 6, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 214, 4, - 185, 186, 6, 3, 6, 3, 215, 8, 4, 6, - 4, 4, 217, 217, 215, 4, 4, 4, 215, 215, - 4, 4, 215, 215, 4, 1016, 217, 4, 1019, 214, - 4, 1022, 215, 4, 1025, 1022, 1016, 1016, 1022, 4, - 215, 1016, 215, 4, 1019, 1036, 1025, 1022, 1039, 215, - 1025, 1042, 4, 1016, 1019, 215, 217, 1022, 215, 4, - 1025, 1036, 1025, 215, 1039, 1016, 1016, 1058, 1016, 1016, - 1016, 1036, 1063, 1036, 1025, 1025, 1067, 1025, 1025, 1025, - 215, 215, 1016, 1058, 1016, 1076, 215, 1019, 1063, 1080, - 1022, 1025, 1067, 1025, 1085, 215, 215, 1088, 1073, 4, - 1016, 1076, 1036, 217, 1036, 4, 215, 1039, 1016, 1025, - 1085, 1076, 1016, 1088, 4, 1016, 1016, 1025, 6, 3, - 1036, 1025, 217, 1039, 1025, 1025, 1058, 4, 1036, 1016, - 1016, 1063, 1036, 1016, 1016, 1067, 1036, 1016, 1025, 1025, - 214, 1073, 1025, 1025, 1076, 1016, 1025, 8, 1016, 1036, - 1016, 1016, 1016, 1085, 1025, 1016, 1088, 1025, 1016, 1025, - 1025, 1025, 1016, 214, 1025, 1016, 1016, 1025, 1016, 1085, - 8, 1025, 1088, 4, 1025, 1025, 8, 1025, 1025, 3, - 1025, 8, 214, 4, 4, 4, 4, 501, 5, 710, - 4, 214, 7, 4, 4, 4, 4, 736, 698, 497, - 707, 1010, 1015, 1034, 1028, 1044, 791, 1063, 214, 551, - 1031, 214, 1018, 1051, 1269, 214, 1016, 1042, 77, 214, - 513, 1019, 214, 214, 214, 1021, 1027, 543, 214, 214, - 1024, 1022, 214, 214, 1087, 214, 214, 761, 1085, 214, - 1085, 1088, 214, 1088, 217, 215, 214, 214, 217, 215, - 1275, 215, 214, 1085, 1090, 1041, 523, 1037, 1039, 1058, - 1067, 1088, 548, 1073, 516, 1077, 747, 568, 709, 1311, - 1290, 1331, 1080, -1, -1, -1, -1, -1, 1269, -1, - -1, -1, 533, -1, 1275, -1, -1, 572, -1, -1, - 1269, 1221, -1, -1, 1269, -1, -1, -1, -1, 1290, - 1275, -1, -1, -1, 1269, -1, 1269, -1, -1, -1, - 1275, -1, 1275, -1, -1, 1290, -1, -1, 1269, 1269, - -1, 1269, 1269, 1269, -1, 1290, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1269, -1, 1269, -1, -1, - -1, 1275, -1, 1275, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1269, -1, -1, -1, -1, 1290, 1275, - -1, 1269, -1, -1, -1, 1269, -1, 1275, 1269, 1269, - -1, 1275, -1, -1, -1, 1275, -1, -1, -1, -1, - -1, -1, 1269, 1269, -1, -1, 1269, 1269, 1275, -1, - 1269, -1, -1, -1, -1, -1, -1, -1, 1269, -1, - -1, 1269, -1, 1269, 1269, 1269, -1, -1, 1269, -1, - -1, 1269, -1, -1, -1, 1269, -1, -1, 1269, 1269, - -1, 1269, 1269, -1, 1269 + 78, 79, 80, 6, 161, 162, 163, 100, 101, 3, + 215, 3, 90, 91, 8, 3, 148, 149, 150, 151, + 8, 3, 100, 101, 6, 215, 216, 217, 218, 107, + 3, 215, 4, 6, 112, 113, 114, 115, 116, 117, + 118, 8, 120, 3, 100, 101, 215, 125, 8, 1273, + 3, 1273, 1273, 1273, 4, 1273, 134, 80, 215, 137, + 3, 154, 155, 156, 3, 8, 144, 4, 3, 8, + 93, 3, 80, 8, 152, 153, 8, 100, 101, 157, + 3, 8, 160, 215, 4, 8, 164, 95, 96, 97, + 98, 99, 100, 101, 3, 3, 1035, 1017, 121, 8, + 8, 124, 158, 159, 135, 136, 1062, 185, 186, 187, + 188, 189, 190, 121, 3, 3, 124, 4, 3, 21, + 8, 199, 215, 8, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 4, 215, 4, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 4, 81, 82, 83, 84, 85, 86, 178, 179, 215, + 4, 4, 52, 53, 54, 55, 56, 57, 4, 4, + 100, 101, 138, 139, 140, 141, 142, 143, 3, 81, + 3, 3, 3, 8, 3, 8, 8, 8, 3, 8, + 80, 81, 215, 8, 4, 3, 3, 8, 428, 429, + 8, 8, 108, 109, 110, 111, 4, 215, 4, 500, + 100, 101, 4, 504, 4, 4, 22, 23, 24, 25, + 38, 39, 40, 4, 4, 516, 4, 4, 519, 504, + 4, 4, 122, 123, 4, 526, 516, 516, 145, 146, + 147, 516, 4, 4, 519, 536, 4, 4, 4, 4, + 4, 526, 4, 516, 4, 546, 4, 4, 4, 4, + 551, 536, 4, 4, 551, 516, 516, 551, 516, 516, + 516, 546, 504, 8, 3, 8, 551, 4, 4, 3, + 571, 546, 516, 4, 516, 215, 551, 519, 4, 4, + 4, 4, 4, 4, 526, 4, 571, 215, 4, 4, + 516, 4, 4, 519, 536, 4, 4, 218, 516, 4, + 526, 216, 516, 215, 546, 516, 516, 100, 101, 551, + 536, 216, 216, 216, 216, 215, 217, 4, 4, 516, + 516, 217, 216, 516, 516, 216, 216, 516, 217, 571, + 216, 216, 216, 216, 4, 516, 218, 218, 516, 218, + 516, 516, 516, 218, 218, 516, 218, 4, 516, 4, + 4, 216, 516, 4, 4, 516, 516, 4, 516, 4, + 218, 218, 519, 218, 519, 4, 4, 4, 4, 526, + 4, 526, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 4, 4, 4, 4, 216, + 4, 4, 185, 186, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 4, 4, + 711, 4, 4, 714, 218, 218, 4, 218, 4, 4, + 218, 4, 215, 4, 4, 7, 4, 4, 4, 714, + 216, 4, 4, 218, 4, 4, 4, 216, 216, 216, + 4, 4, 4, 4, 4, 4, 747, 748, 749, 4, + 751, 4, 4, 216, 755, 4, 4, 4, 4, 218, + 4, 4, 747, 748, 749, 750, 751, 4, 218, 218, + 710, 218, 714, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 4, 216, 4, 216, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 216, + 4, 80, 4, 4, 218, 747, 748, 749, 750, 751, + 4, 218, 216, 92, 4, 94, 4, 4, 4, 215, + 5, 100, 101, 102, 103, 104, 105, 106, 107, 7, + 7, 7, 7, 112, 113, 114, 215, 215, 215, 5, + 5, 5, 121, 5, 7, 124, 125, 215, 5, 5, + 5, 5, 215, 132, 7, 5, 5, 215, 5, 7, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 7, 7, 7, 7, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 7, 80, 81, + 7, 5, 5, 5, 215, 215, 7, 5, 7, 119, + 215, 7, 7, 215, 215, 215, 185, 186, 100, 101, + 215, 103, 104, 215, 106, 107, 215, 215, 215, 7, + 112, 113, 114, 180, 215, 215, 215, 7, 215, 121, + 7, 215, 124, 7, 7, 7, 215, 7, 7, 4, + 132, 215, 4, 4, 215, 4, 4, 4, 215, 215, + 215, 4, 4, 4, 4, 4, 3, 215, 6, 215, + 6, 215, 3, 6, 3, 3, 6, 3, 218, 6, + 3, 6, 6, 3, 6, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 215, 3, 6, 185, 186, 6, 3, 6, 8, 4, + 4, 4, 4, 216, 216, 4, 216, 218, 216, 216, + 4, 4, 4, 4, 4, 218, 216, 216, 216, 1020, + 4, 4, 1023, 215, 4, 1026, 4, 216, 1029, 1026, + 1020, 1020, 1026, 216, 216, 1020, 216, 216, 1023, 1040, + 1029, 1026, 1043, 216, 1029, 1046, 4, 1020, 1023, 4, + 218, 1026, 4, 4, 1029, 1040, 1029, 216, 1043, 1020, + 1020, 1062, 1020, 1020, 1020, 1040, 1067, 1040, 1029, 1029, + 1071, 1029, 1029, 1029, 216, 216, 1020, 1062, 1020, 1080, + 216, 1023, 1067, 1084, 1026, 1029, 1071, 1029, 1089, 216, + 218, 1092, 1077, 4, 1020, 1080, 1040, 216, 1040, 4, + 218, 1043, 1020, 1029, 1089, 1080, 1020, 1092, 6, 1020, + 1020, 1029, 3, 215, 1040, 1029, 4, 1043, 1029, 1029, + 1062, 215, 1040, 1020, 1020, 1067, 1040, 1020, 1020, 1071, + 1040, 1020, 1029, 1029, 215, 1077, 1029, 1029, 1080, 1020, + 1029, 8, 1020, 1040, 1020, 1020, 1020, 1089, 1029, 1020, + 1092, 1029, 1020, 1029, 1029, 1029, 1020, 8, 1029, 1020, + 1020, 1029, 1020, 1089, 4, 1029, 1092, 8, 1029, 1029, + 215, 1029, 1029, 215, 1029, 3, 8, 4, 4, 4, + 4, 740, 5, 4, 215, 7, 4, 4, 4, 4, + 702, 500, 689, 1019, 1014, 714, 711, 504, 1038, 1048, + 1032, 1035, 215, 795, 1067, 1046, 554, 215, 1055, 215, + 1022, 1020, 516, 1031, 215, 215, 1273, 215, 215, 215, + 215, 77, 1023, 1025, 546, 551, 215, 215, 215, 1028, + 216, 1026, 1089, 218, 1089, 1092, 215, 1092, 215, 1045, + 1094, 216, 218, 216, 215, 215, 1091, 1043, 1092, 1279, + 1041, 1089, 765, 1081, 1062, 1077, 1071, 751, 1294, 713, + 1315, 536, 1335, 571, -1, 1084, -1, -1, 519, 575, + -1, -1, 1273, -1, -1, -1, -1, -1, 1279, -1, + -1, 526, -1, -1, 1273, 1225, -1, -1, 1273, -1, + -1, -1, -1, 1294, 1279, -1, -1, -1, 1273, -1, + 1273, -1, -1, -1, 1279, -1, 1279, -1, -1, 1294, + -1, -1, 1273, 1273, -1, 1273, 1273, 1273, -1, 1294, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1273, + -1, 1273, -1, -1, -1, 1279, -1, 1279, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1273, -1, -1, + -1, -1, 1294, 1279, -1, 1273, -1, -1, -1, 1273, + -1, 1279, 1273, 1273, -1, 1279, -1, -1, -1, 1279, + -1, -1, -1, -1, -1, -1, 1273, 1273, -1, -1, + 1273, 1273, 1279, -1, 1273, -1, -1, -1, -1, -1, + -1, -1, 1273, -1, -1, 1273, -1, 1273, 1273, 1273, + -1, -1, 1273, -1, -1, 1273, -1, -1, -1, 1273, + -1, -1, 1273, 1273, -1, 1273, 1273, -1, 1273 }; const short Dhcp6Parser::yystos_[] = { - 0, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 0, 5, 7, 9, 214, 215, 216, 217, 234, 235, - 236, 241, 7, 250, 7, 255, 7, 301, 7, 418, - 7, 498, 7, 514, 7, 531, 7, 450, 7, 456, - 7, 480, 7, 394, 7, 600, 7, 631, 242, 237, - 251, 256, 302, 419, 499, 515, 532, 451, 457, 481, - 395, 601, 632, 234, 243, 244, 214, 239, 240, 10, - 252, 254, 11, 12, 15, 18, 19, 20, 52, 53, + 0, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 0, 5, 7, 9, 215, 216, 217, 218, 235, 236, + 237, 242, 7, 251, 7, 256, 7, 303, 7, 420, + 7, 500, 7, 516, 7, 533, 7, 452, 7, 458, + 7, 482, 7, 396, 7, 602, 7, 633, 243, 238, + 252, 257, 304, 421, 501, 517, 534, 453, 459, 483, + 397, 603, 634, 235, 244, 245, 215, 240, 241, 10, + 253, 255, 11, 12, 15, 18, 19, 20, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 90, 91, 100, 101, 107, 112, 113, 114, 115, 116, 117, 118, 120, 125, 134, 137, 144, 152, 153, 157, 160, 164, 185, - 186, 187, 188, 189, 198, 214, 249, 257, 258, 259, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 281, 283, - 285, 286, 287, 289, 291, 292, 293, 294, 296, 297, - 298, 299, 308, 310, 312, 361, 367, 373, 379, 381, - 388, 402, 412, 432, 433, 434, 435, 440, 448, 474, - 504, 506, 525, 555, 567, 579, 580, 588, 598, 629, - 638, 662, 16, 17, 249, 303, 304, 305, 307, 504, - 506, 92, 94, 102, 103, 104, 105, 106, 121, 124, - 132, 249, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 275, 276, 277, 278, 281, - 283, 285, 286, 287, 289, 291, 420, 421, 422, 424, - 426, 428, 430, 432, 433, 434, 435, 438, 439, 474, - 492, 504, 506, 508, 525, 550, 93, 249, 428, 430, - 474, 500, 501, 502, 504, 506, 95, 96, 97, 98, - 99, 249, 428, 430, 474, 504, 506, 516, 517, 518, - 520, 521, 523, 524, 120, 126, 127, 128, 129, 130, - 131, 249, 474, 504, 506, 533, 534, 535, 536, 538, - 540, 542, 544, 546, 548, 448, 21, 81, 83, 84, - 87, 88, 89, 249, 330, 458, 459, 460, 461, 462, - 463, 464, 466, 468, 470, 471, 473, 504, 506, 82, - 85, 86, 249, 330, 462, 468, 482, 483, 484, 485, - 486, 488, 489, 490, 491, 504, 506, 135, 136, 249, - 396, 397, 398, 400, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 185, 186, 249, - 504, 506, 602, 603, 604, 605, 607, 609, 610, 612, - 613, 614, 617, 619, 620, 621, 623, 625, 627, 13, - 14, 633, 634, 635, 637, 6, 3, 4, 8, 3, - 253, 3, 8, 260, 630, 300, 309, 311, 313, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 295, 4, 4, 4, 4, 4, 279, - 282, 284, 4, 4, 4, 413, 449, 475, 4, 441, - 505, 507, 436, 4, 4, 4, 368, 380, 374, 362, - 556, 526, 389, 403, 568, 4, 382, 581, 589, 599, - 288, 290, 4, 4, 639, 663, 4, 3, 8, 306, - 4, 3, 8, 493, 509, 423, 425, 427, 4, 4, - 431, 429, 551, 3, 8, 503, 3, 8, 519, 4, - 522, 4, 4, 3, 8, 549, 537, 539, 541, 543, - 545, 547, 8, 3, 8, 465, 331, 4, 469, 467, - 472, 4, 8, 3, 487, 4, 4, 8, 3, 399, - 401, 3, 8, 4, 606, 608, 4, 611, 4, 4, - 615, 618, 4, 4, 622, 624, 626, 628, 3, 8, - 636, 4, 3, 8, 234, 234, 214, 4, 4, 4, - 4, 4, 4, 4, 215, 215, 215, 215, 215, 215, - 215, 215, 217, 216, 216, 216, 215, 215, 4, 215, - 215, 217, 217, 217, 4, 4, 4, 217, 217, 217, - 4, 4, 4, 215, 4, 4, 4, 4, 217, 217, - 217, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 215, 4, 4, 4, 4, 4, 4, 217, 217, 4, - 4, 258, 4, 217, 304, 4, 4, 4, 4, 4, - 215, 217, 4, 4, 4, 421, 4, 501, 4, 215, - 4, 215, 215, 517, 4, 4, 4, 4, 4, 4, - 4, 535, 4, 4, 215, 4, 4, 4, 217, 460, - 4, 217, 217, 484, 4, 4, 397, 217, 4, 4, - 215, 4, 215, 215, 4, 4, 217, 217, 4, 4, - 4, 4, 603, 4, 215, 634, 4, 7, 214, 7, - 7, 7, 7, 5, 214, 181, 182, 183, 184, 217, - 280, 214, 214, 5, 5, 5, 5, 236, 238, 214, - 108, 109, 110, 111, 437, 5, 5, 5, 7, 5, - 5, 5, 7, 7, 7, 7, 7, 7, 214, 214, - 5, 7, 5, 245, 5, 5, 214, 214, 214, 245, - 214, 7, 214, 214, 214, 245, 245, 245, 214, 214, - 214, 214, 214, 214, 214, 214, 214, 214, 214, 238, - 214, 214, 214, 178, 179, 616, 180, 280, 214, 214, - 214, 5, 234, 257, 633, 303, 21, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 249, 318, 319, 320, 323, 325, 327, 329, 330, 332, - 333, 334, 335, 336, 337, 340, 341, 342, 343, 344, - 346, 347, 349, 351, 353, 355, 357, 359, 318, 7, - 314, 315, 316, 7, 414, 415, 416, 7, 452, 453, - 454, 7, 476, 477, 478, 7, 442, 443, 444, 128, - 214, 369, 370, 371, 372, 243, 129, 131, 371, 375, - 376, 377, 378, 119, 363, 364, 365, 7, 557, 558, - 7, 527, 528, 529, 7, 390, 391, 392, 138, 139, - 140, 141, 142, 143, 404, 405, 406, 407, 408, 409, - 410, 411, 21, 148, 149, 150, 151, 249, 332, 504, - 506, 569, 570, 571, 574, 575, 577, 578, 154, 155, - 156, 249, 383, 384, 385, 386, 387, 504, 506, 158, - 159, 249, 504, 506, 582, 583, 584, 586, 161, 162, - 163, 214, 504, 506, 590, 591, 592, 593, 595, 596, - 602, 7, 640, 641, 199, 249, 664, 665, 666, 246, - 7, 494, 495, 496, 7, 510, 511, 512, 133, 536, - 552, 553, 314, 8, 8, 8, 321, 324, 326, 328, - 4, 4, 4, 4, 4, 345, 4, 4, 338, 348, - 350, 352, 4, 4, 4, 4, 354, 356, 358, 360, - 3, 8, 8, 317, 6, 3, 417, 6, 3, 455, - 6, 3, 479, 6, 3, 445, 6, 3, 3, 6, - 6, 3, 6, 366, 3, 8, 559, 3, 6, 530, - 6, 3, 393, 6, 3, 4, 4, 4, 4, 4, - 4, 3, 8, 572, 576, 4, 4, 4, 3, 8, - 4, 4, 4, 3, 8, 585, 587, 3, 8, 4, - 594, 4, 597, 3, 8, 8, 642, 3, 6, 4, - 3, 8, 214, 247, 248, 497, 6, 3, 513, 6, - 3, 554, 8, 6, 4, 4, 4, 4, 215, 217, - 215, 217, 215, 4, 215, 215, 4, 4, 4, 4, - 215, 215, 217, 215, 4, 4, 4, 4, 319, 318, - 316, 420, 416, 458, 454, 482, 478, 249, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 275, 276, 277, 278, 281, 283, 285, 286, 287, - 289, 291, 330, 412, 424, 426, 428, 430, 432, 433, - 434, 435, 439, 446, 447, 474, 504, 506, 550, 444, - 370, 376, 4, 364, 122, 123, 249, 261, 262, 263, - 264, 265, 266, 330, 474, 504, 506, 560, 561, 562, - 563, 564, 566, 558, 533, 529, 396, 392, 215, 215, - 215, 215, 215, 215, 405, 4, 4, 215, 215, 215, - 570, 217, 215, 215, 384, 4, 4, 583, 217, 4, - 215, 4, 591, 190, 192, 193, 249, 330, 504, 506, - 643, 644, 645, 646, 648, 641, 217, 665, 6, 3, - 500, 496, 516, 512, 4, 22, 23, 24, 25, 322, - 214, 214, 214, 214, 38, 39, 40, 339, 214, 214, - 214, 214, 214, 214, 214, 8, 8, 8, 8, 3, - 8, 214, 565, 4, 8, 3, 8, 8, 145, 146, - 147, 573, 214, 214, 214, 214, 234, 649, 4, 647, - 3, 8, 214, 8, 8, 214, 447, 4, 217, 562, - 4, 215, 4, 644, 214, 5, 214, 7, 650, 651, - 652, 3, 6, 191, 194, 195, 196, 197, 653, 654, - 655, 657, 658, 659, 660, 651, 656, 4, 4, 4, - 661, 3, 8, 4, 217, 215, 215, 4, 654, 214, - 214 + 186, 187, 188, 189, 190, 199, 215, 250, 258, 259, + 260, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 282, + 284, 286, 287, 288, 290, 292, 293, 294, 295, 297, + 298, 299, 300, 301, 310, 312, 314, 363, 369, 375, + 381, 383, 390, 404, 414, 434, 435, 436, 437, 442, + 450, 476, 506, 508, 527, 557, 569, 581, 582, 590, + 600, 631, 640, 664, 16, 17, 250, 305, 306, 307, + 309, 506, 508, 92, 94, 102, 103, 104, 105, 106, + 121, 124, 132, 250, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 276, 277, 278, + 279, 282, 284, 286, 287, 288, 290, 292, 422, 423, + 424, 426, 428, 430, 432, 434, 435, 436, 437, 440, + 441, 476, 494, 506, 508, 510, 527, 552, 93, 250, + 430, 432, 476, 502, 503, 504, 506, 508, 95, 96, + 97, 98, 99, 250, 430, 432, 476, 506, 508, 518, + 519, 520, 522, 523, 525, 526, 120, 126, 127, 128, + 129, 130, 131, 250, 476, 506, 508, 535, 536, 537, + 538, 540, 542, 544, 546, 548, 550, 450, 21, 81, + 83, 84, 87, 88, 89, 250, 332, 460, 461, 462, + 463, 464, 465, 466, 468, 470, 472, 473, 475, 506, + 508, 82, 85, 86, 250, 332, 464, 470, 484, 485, + 486, 487, 488, 490, 491, 492, 493, 506, 508, 135, + 136, 250, 398, 399, 400, 402, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 185, + 186, 250, 506, 508, 604, 605, 606, 607, 609, 611, + 612, 614, 615, 616, 619, 621, 622, 623, 625, 627, + 629, 13, 14, 635, 636, 637, 639, 6, 3, 4, + 8, 3, 254, 3, 8, 261, 632, 302, 311, 313, + 315, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 296, 4, 4, 4, 4, + 4, 280, 283, 285, 4, 4, 4, 415, 451, 477, + 4, 443, 507, 509, 438, 4, 4, 4, 370, 382, + 376, 364, 558, 528, 391, 405, 570, 4, 384, 583, + 591, 601, 289, 291, 4, 4, 4, 641, 665, 4, + 3, 8, 308, 4, 3, 8, 495, 511, 425, 427, + 429, 4, 4, 433, 431, 553, 3, 8, 505, 3, + 8, 521, 4, 524, 4, 4, 3, 8, 551, 539, + 541, 543, 545, 547, 549, 8, 3, 8, 467, 333, + 4, 471, 469, 474, 4, 8, 3, 489, 4, 4, + 8, 3, 401, 403, 3, 8, 4, 608, 610, 4, + 613, 4, 4, 617, 620, 4, 4, 624, 626, 628, + 630, 3, 8, 638, 4, 3, 8, 235, 235, 215, + 4, 4, 4, 4, 4, 4, 4, 216, 216, 216, + 216, 216, 216, 216, 216, 218, 217, 217, 217, 216, + 216, 4, 216, 216, 218, 218, 218, 4, 4, 4, + 218, 218, 218, 4, 4, 4, 216, 4, 4, 4, + 4, 218, 218, 218, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 216, 4, 4, 4, 4, 4, 4, + 218, 218, 218, 4, 4, 259, 4, 218, 306, 4, + 4, 4, 4, 4, 216, 218, 4, 4, 4, 423, + 4, 503, 4, 216, 4, 216, 216, 519, 4, 4, + 4, 4, 4, 4, 4, 537, 4, 4, 216, 4, + 4, 4, 218, 462, 4, 218, 218, 486, 4, 4, + 399, 218, 4, 4, 216, 4, 216, 216, 4, 4, + 218, 218, 4, 4, 4, 4, 605, 4, 216, 636, + 4, 7, 215, 7, 7, 7, 7, 5, 215, 181, + 182, 183, 184, 218, 281, 215, 215, 5, 5, 5, + 5, 237, 239, 215, 108, 109, 110, 111, 439, 5, + 5, 5, 7, 5, 5, 5, 7, 7, 7, 7, + 7, 7, 215, 215, 5, 7, 5, 246, 5, 5, + 215, 215, 215, 246, 215, 7, 215, 215, 215, 246, + 246, 246, 215, 215, 215, 215, 215, 215, 215, 215, + 215, 215, 215, 239, 215, 215, 215, 178, 179, 618, + 180, 281, 215, 215, 215, 5, 235, 258, 635, 305, + 21, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 250, 320, 321, 322, 325, 327, + 329, 331, 332, 334, 335, 336, 337, 338, 339, 342, + 343, 344, 345, 346, 348, 349, 351, 353, 355, 357, + 359, 361, 320, 7, 316, 317, 318, 7, 416, 417, + 418, 7, 454, 455, 456, 7, 478, 479, 480, 7, + 444, 445, 446, 128, 215, 371, 372, 373, 374, 244, + 129, 131, 373, 377, 378, 379, 380, 119, 365, 366, + 367, 7, 559, 560, 7, 529, 530, 531, 7, 392, + 393, 394, 138, 139, 140, 141, 142, 143, 406, 407, + 408, 409, 410, 411, 412, 413, 21, 148, 149, 150, + 151, 250, 334, 506, 508, 571, 572, 573, 576, 577, + 579, 580, 154, 155, 156, 250, 385, 386, 387, 388, + 389, 506, 508, 158, 159, 250, 506, 508, 584, 585, + 586, 588, 161, 162, 163, 215, 506, 508, 592, 593, + 594, 595, 597, 598, 604, 7, 642, 643, 200, 250, + 666, 667, 668, 247, 7, 496, 497, 498, 7, 512, + 513, 514, 133, 538, 554, 555, 316, 8, 8, 8, + 323, 326, 328, 330, 4, 4, 4, 4, 4, 347, + 4, 4, 340, 350, 352, 354, 4, 4, 4, 4, + 356, 358, 360, 362, 3, 8, 8, 319, 6, 3, + 419, 6, 3, 457, 6, 3, 481, 6, 3, 447, + 6, 3, 3, 6, 6, 3, 6, 368, 3, 8, + 561, 3, 6, 532, 6, 3, 395, 6, 3, 4, + 4, 4, 4, 4, 4, 3, 8, 574, 578, 4, + 4, 4, 3, 8, 4, 4, 4, 3, 8, 587, + 589, 3, 8, 4, 596, 4, 599, 3, 8, 8, + 644, 3, 6, 4, 3, 8, 215, 248, 249, 499, + 6, 3, 515, 6, 3, 556, 8, 6, 4, 4, + 4, 4, 216, 218, 216, 218, 216, 4, 216, 216, + 4, 4, 4, 4, 216, 216, 218, 216, 4, 4, + 4, 4, 321, 320, 318, 422, 418, 460, 456, 484, + 480, 250, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 276, 277, 278, 279, 282, + 284, 286, 287, 288, 290, 292, 332, 414, 426, 428, + 430, 432, 434, 435, 436, 437, 441, 448, 449, 476, + 506, 508, 552, 446, 372, 378, 4, 366, 122, 123, + 250, 262, 263, 264, 265, 266, 267, 332, 476, 506, + 508, 562, 563, 564, 565, 566, 568, 560, 535, 531, + 398, 394, 216, 216, 216, 216, 216, 216, 407, 4, + 4, 216, 216, 216, 572, 218, 216, 216, 386, 4, + 4, 585, 218, 4, 216, 4, 593, 191, 193, 194, + 250, 332, 506, 508, 645, 646, 647, 648, 650, 643, + 218, 667, 6, 3, 502, 498, 518, 514, 4, 22, + 23, 24, 25, 324, 215, 215, 215, 215, 38, 39, + 40, 341, 215, 215, 215, 215, 215, 215, 215, 8, + 8, 8, 8, 3, 8, 215, 567, 4, 8, 3, + 8, 8, 145, 146, 147, 575, 215, 215, 215, 215, + 235, 651, 4, 649, 3, 8, 215, 8, 8, 215, + 449, 4, 218, 564, 4, 216, 4, 646, 215, 5, + 215, 7, 652, 653, 654, 3, 6, 192, 195, 196, + 197, 198, 655, 656, 657, 659, 660, 661, 662, 653, + 658, 4, 4, 4, 663, 3, 8, 4, 218, 216, + 216, 4, 656, 215, 215 }; const short Dhcp6Parser::yyr1_[] = { - 0, 218, 220, 219, 221, 219, 222, 219, 223, 219, - 224, 219, 225, 219, 226, 219, 227, 219, 228, 219, - 229, 219, 230, 219, 231, 219, 232, 219, 233, 219, - 234, 234, 234, 234, 234, 234, 234, 235, 237, 236, - 238, 239, 239, 240, 240, 240, 242, 241, 243, 243, - 244, 244, 244, 246, 245, 247, 247, 248, 248, 248, - 249, 251, 250, 253, 252, 252, 254, 256, 255, 257, - 257, 257, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 260, 259, 261, 262, + 0, 219, 221, 220, 222, 220, 223, 220, 224, 220, + 225, 220, 226, 220, 227, 220, 228, 220, 229, 220, + 230, 220, 231, 220, 232, 220, 233, 220, 234, 220, + 235, 235, 235, 235, 235, 235, 235, 236, 238, 237, + 239, 240, 240, 241, 241, 241, 243, 242, 244, 244, + 245, 245, 245, 247, 246, 248, 248, 249, 249, 249, + 250, 252, 251, 254, 253, 253, 255, 257, 256, 258, + 258, 258, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 261, 260, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 279, 278, 280, 280, 280, - 280, 280, 282, 281, 284, 283, 285, 286, 288, 287, - 290, 289, 291, 292, 293, 295, 294, 296, 297, 298, - 300, 299, 302, 301, 303, 303, 303, 304, 304, 304, - 304, 304, 306, 305, 307, 309, 308, 311, 310, 313, - 312, 314, 314, 315, 315, 315, 317, 316, 318, 318, - 318, 319, 319, 319, 319, 319, 319, 319, 319, 319, - 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, - 319, 319, 319, 319, 319, 319, 319, 321, 320, 322, - 322, 322, 322, 324, 323, 326, 325, 328, 327, 329, - 331, 330, 332, 333, 334, 335, 336, 338, 337, 339, - 339, 339, 340, 341, 342, 343, 345, 344, 346, 348, - 347, 350, 349, 352, 351, 354, 353, 356, 355, 358, - 357, 360, 359, 362, 361, 363, 363, 363, 364, 366, - 365, 368, 367, 369, 369, 369, 370, 370, 371, 372, - 374, 373, 375, 375, 375, 376, 376, 376, 377, 378, - 380, 379, 382, 381, 383, 383, 383, 384, 384, 384, - 384, 384, 384, 385, 386, 387, 389, 388, 390, 390, - 391, 391, 391, 393, 392, 395, 394, 396, 396, 396, - 396, 397, 397, 399, 398, 401, 400, 403, 402, 404, - 404, 404, 405, 405, 405, 405, 405, 405, 406, 407, - 408, 409, 410, 411, 413, 412, 414, 414, 415, 415, - 415, 417, 416, 419, 418, 420, 420, 420, 421, 421, - 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, - 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, - 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, - 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, - 421, 423, 422, 425, 424, 427, 426, 429, 428, 431, - 430, 432, 433, 434, 436, 435, 437, 437, 437, 437, - 438, 439, 441, 440, 442, 442, 443, 443, 443, 445, - 444, 446, 446, 446, 447, 447, 447, 447, 447, 447, - 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, - 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, - 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, - 447, 447, 447, 447, 449, 448, 451, 450, 452, 452, - 453, 453, 453, 455, 454, 457, 456, 458, 458, 459, - 459, 459, 460, 460, 460, 460, 460, 460, 460, 460, - 460, 460, 461, 462, 463, 465, 464, 467, 466, 469, - 468, 470, 472, 471, 473, 475, 474, 476, 476, 477, - 477, 477, 479, 478, 481, 480, 482, 482, 483, 483, - 483, 484, 484, 484, 484, 484, 484, 484, 484, 484, - 485, 487, 486, 488, 489, 490, 491, 493, 492, 494, - 494, 495, 495, 495, 497, 496, 499, 498, 500, 500, - 500, 501, 501, 501, 501, 501, 501, 501, 503, 502, - 505, 504, 507, 506, 509, 508, 510, 510, 511, 511, - 511, 513, 512, 515, 514, 516, 516, 516, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 519, - 518, 520, 522, 521, 523, 524, 526, 525, 527, 527, - 528, 528, 528, 530, 529, 532, 531, 533, 533, 534, - 534, 534, 535, 535, 535, 535, 535, 535, 535, 535, - 535, 535, 535, 537, 536, 539, 538, 541, 540, 543, - 542, 545, 544, 547, 546, 549, 548, 551, 550, 552, - 552, 554, 553, 556, 555, 557, 557, 557, 559, 558, - 560, 560, 561, 561, 561, 562, 562, 562, 562, 562, - 562, 562, 562, 562, 562, 562, 562, 562, 563, 565, - 564, 566, 568, 567, 569, 569, 569, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 572, 571, 573, 573, - 573, 574, 576, 575, 577, 578, 579, 581, 580, 582, - 582, 582, 583, 583, 583, 583, 583, 585, 584, 587, - 586, 589, 588, 590, 590, 590, 591, 591, 591, 591, - 591, 591, 592, 594, 593, 595, 597, 596, 599, 598, - 601, 600, 602, 602, 602, 603, 603, 603, 603, 603, - 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, - 603, 603, 603, 604, 606, 605, 608, 607, 609, 611, - 610, 612, 613, 615, 614, 616, 616, 618, 617, 619, - 620, 622, 621, 624, 623, 626, 625, 628, 627, 630, - 629, 632, 631, 633, 633, 633, 634, 634, 636, 635, - 637, 639, 638, 640, 640, 640, 642, 641, 643, 643, - 643, 644, 644, 644, 644, 644, 644, 644, 645, 647, - 646, 649, 648, 650, 650, 650, 652, 651, 653, 653, - 653, 654, 654, 654, 654, 654, 656, 655, 657, 658, - 659, 661, 660, 663, 662, 664, 664, 664, 665, 665, - 666 + 273, 274, 275, 276, 277, 278, 280, 279, 281, 281, + 281, 281, 281, 283, 282, 285, 284, 286, 287, 289, + 288, 291, 290, 292, 293, 294, 296, 295, 297, 298, + 299, 300, 302, 301, 304, 303, 305, 305, 305, 306, + 306, 306, 306, 306, 308, 307, 309, 311, 310, 313, + 312, 315, 314, 316, 316, 317, 317, 317, 319, 318, + 320, 320, 320, 321, 321, 321, 321, 321, 321, 321, + 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + 321, 321, 321, 321, 321, 321, 321, 321, 321, 323, + 322, 324, 324, 324, 324, 326, 325, 328, 327, 330, + 329, 331, 333, 332, 334, 335, 336, 337, 338, 340, + 339, 341, 341, 341, 342, 343, 344, 345, 347, 346, + 348, 350, 349, 352, 351, 354, 353, 356, 355, 358, + 357, 360, 359, 362, 361, 364, 363, 365, 365, 365, + 366, 368, 367, 370, 369, 371, 371, 371, 372, 372, + 373, 374, 376, 375, 377, 377, 377, 378, 378, 378, + 379, 380, 382, 381, 384, 383, 385, 385, 385, 386, + 386, 386, 386, 386, 386, 387, 388, 389, 391, 390, + 392, 392, 393, 393, 393, 395, 394, 397, 396, 398, + 398, 398, 398, 399, 399, 401, 400, 403, 402, 405, + 404, 406, 406, 406, 407, 407, 407, 407, 407, 407, + 408, 409, 410, 411, 412, 413, 415, 414, 416, 416, + 417, 417, 417, 419, 418, 421, 420, 422, 422, 422, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 425, 424, 427, 426, 429, 428, 431, + 430, 433, 432, 434, 435, 436, 438, 437, 439, 439, + 439, 439, 440, 441, 443, 442, 444, 444, 445, 445, + 445, 447, 446, 448, 448, 448, 449, 449, 449, 449, + 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, + 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, + 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, + 449, 449, 449, 449, 449, 449, 451, 450, 453, 452, + 454, 454, 455, 455, 455, 457, 456, 459, 458, 460, + 460, 461, 461, 461, 462, 462, 462, 462, 462, 462, + 462, 462, 462, 462, 463, 464, 465, 467, 466, 469, + 468, 471, 470, 472, 474, 473, 475, 477, 476, 478, + 478, 479, 479, 479, 481, 480, 483, 482, 484, 484, + 485, 485, 485, 486, 486, 486, 486, 486, 486, 486, + 486, 486, 487, 489, 488, 490, 491, 492, 493, 495, + 494, 496, 496, 497, 497, 497, 499, 498, 501, 500, + 502, 502, 502, 503, 503, 503, 503, 503, 503, 503, + 505, 504, 507, 506, 509, 508, 511, 510, 512, 512, + 513, 513, 513, 515, 514, 517, 516, 518, 518, 518, + 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + 519, 521, 520, 522, 524, 523, 525, 526, 528, 527, + 529, 529, 530, 530, 530, 532, 531, 534, 533, 535, + 535, 536, 536, 536, 537, 537, 537, 537, 537, 537, + 537, 537, 537, 537, 537, 539, 538, 541, 540, 543, + 542, 545, 544, 547, 546, 549, 548, 551, 550, 553, + 552, 554, 554, 556, 555, 558, 557, 559, 559, 559, + 561, 560, 562, 562, 563, 563, 563, 564, 564, 564, + 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, + 565, 567, 566, 568, 570, 569, 571, 571, 571, 572, + 572, 572, 572, 572, 572, 572, 572, 572, 574, 573, + 575, 575, 575, 576, 578, 577, 579, 580, 581, 583, + 582, 584, 584, 584, 585, 585, 585, 585, 585, 587, + 586, 589, 588, 591, 590, 592, 592, 592, 593, 593, + 593, 593, 593, 593, 594, 596, 595, 597, 599, 598, + 601, 600, 603, 602, 604, 604, 604, 605, 605, 605, + 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, + 605, 605, 605, 605, 605, 606, 608, 607, 610, 609, + 611, 613, 612, 614, 615, 617, 616, 618, 618, 620, + 619, 621, 622, 624, 623, 626, 625, 628, 627, 630, + 629, 632, 631, 634, 633, 635, 635, 635, 636, 636, + 638, 637, 639, 641, 640, 642, 642, 642, 644, 643, + 645, 645, 645, 646, 646, 646, 646, 646, 646, 646, + 647, 649, 648, 651, 650, 652, 652, 652, 654, 653, + 655, 655, 655, 656, 656, 656, 656, 656, 658, 657, + 659, 660, 661, 663, 662, 665, 664, 666, 666, 666, + 667, 667, 668 }; const signed char @@ -6042,81 +6052,81 @@ namespace isc { namespace dhcp { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 0, 4, 1, 1, 1, - 1, 1, 0, 4, 0, 4, 3, 3, 0, 4, - 0, 4, 3, 3, 3, 0, 4, 3, 3, 3, - 0, 6, 0, 4, 1, 3, 2, 1, 1, 1, - 1, 1, 0, 4, 3, 0, 6, 0, 6, 0, - 6, 0, 1, 1, 3, 2, 0, 4, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 3, 3, 3, 3, 3, 3, 0, 4, 1, 1, + 1, 1, 1, 0, 4, 0, 4, 3, 3, 0, + 4, 0, 4, 3, 3, 3, 0, 4, 3, 3, + 3, 3, 0, 6, 0, 4, 1, 3, 2, 1, + 1, 1, 1, 1, 0, 4, 3, 0, 6, 0, + 6, 0, 6, 0, 1, 1, 3, 2, 0, 4, + 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 1, - 1, 1, 1, 0, 4, 0, 4, 0, 4, 3, - 0, 4, 3, 3, 3, 3, 3, 0, 4, 1, - 1, 1, 3, 3, 3, 3, 0, 4, 3, 0, - 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 0, 6, 1, 3, 2, 1, 0, - 4, 0, 6, 1, 3, 2, 1, 1, 1, 1, - 0, 6, 1, 3, 2, 1, 1, 1, 1, 1, - 0, 6, 0, 6, 1, 3, 2, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 0, 6, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 4, 1, 1, 1, 1, 0, 4, 0, 4, 0, + 4, 3, 0, 4, 3, 3, 3, 3, 3, 0, + 4, 1, 1, 1, 3, 3, 3, 3, 0, 4, + 3, 0, 4, 0, 4, 0, 4, 0, 4, 0, + 4, 0, 4, 0, 4, 0, 6, 1, 3, 2, + 1, 0, 4, 0, 6, 1, 3, 2, 1, 1, + 1, 1, 0, 6, 1, 3, 2, 1, 1, 1, + 1, 1, 0, 6, 0, 6, 1, 3, 2, 1, + 1, 1, 1, 1, 1, 3, 3, 3, 0, 6, + 0, 1, 1, 3, 2, 0, 4, 0, 4, 1, + 3, 2, 1, 1, 1, 0, 4, 0, 4, 0, + 6, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 3, 3, 3, 3, 3, 3, 0, 6, 0, 1, 1, 3, 2, 0, 4, 0, 4, 1, 3, 2, - 1, 1, 1, 0, 4, 0, 4, 0, 6, 1, - 3, 2, 1, 1, 1, 1, 1, 1, 3, 3, - 3, 3, 3, 3, 0, 6, 0, 1, 1, 3, - 2, 0, 4, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 3, 3, 3, 0, 4, 1, 1, 1, 1, - 3, 3, 0, 6, 0, 1, 1, 3, 2, 0, - 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 4, 0, 4, 0, 4, 0, + 4, 0, 4, 3, 3, 3, 0, 4, 1, 1, + 1, 1, 3, 3, 0, 6, 0, 1, 1, 3, + 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 6, 0, 4, 0, 1, - 1, 3, 2, 0, 4, 0, 4, 0, 1, 1, - 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 1, 0, 4, 0, 4, 0, - 4, 1, 0, 4, 3, 0, 6, 0, 1, 1, - 3, 2, 0, 4, 0, 4, 0, 1, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 4, 1, 1, 3, 3, 0, 6, 0, - 1, 1, 3, 2, 0, 4, 0, 4, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 1, 0, 4, - 0, 4, 0, 4, 0, 6, 0, 1, 1, 3, - 2, 0, 4, 0, 4, 1, 3, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 4, 3, 0, 4, 3, 3, 0, 6, 0, 1, - 1, 3, 2, 0, 4, 0, 4, 0, 1, 1, - 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 0, 4, 0, 4, 0, 6, 1, - 1, 0, 4, 0, 6, 1, 3, 2, 0, 4, - 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 4, 3, 0, 6, 1, 3, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 1, 1, - 1, 3, 0, 4, 3, 3, 3, 0, 6, 1, - 3, 2, 1, 1, 1, 1, 1, 0, 4, 0, - 4, 0, 6, 1, 3, 2, 1, 1, 1, 1, - 1, 1, 3, 0, 4, 3, 0, 4, 0, 6, - 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 6, 0, 4, + 0, 1, 1, 3, 2, 0, 4, 0, 4, 0, + 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 1, 0, 4, 0, + 4, 0, 4, 1, 0, 4, 3, 0, 6, 0, + 1, 1, 3, 2, 0, 4, 0, 4, 0, 1, + 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 4, 1, 1, 3, 3, 0, + 6, 0, 1, 1, 3, 2, 0, 4, 0, 4, + 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, + 0, 4, 0, 4, 0, 4, 0, 6, 0, 1, + 1, 3, 2, 0, 4, 0, 4, 1, 3, 2, 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, - 6, 0, 4, 1, 3, 2, 1, 1, 0, 6, - 3, 0, 6, 1, 3, 2, 0, 4, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 1, 3, 0, - 4, 0, 6, 1, 3, 2, 0, 4, 1, 3, - 2, 1, 1, 1, 1, 1, 0, 4, 3, 3, - 3, 0, 4, 0, 6, 1, 3, 2, 1, 1, - 3 + 1, 0, 4, 3, 0, 4, 3, 3, 0, 6, + 0, 1, 1, 3, 2, 0, 4, 0, 4, 0, + 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, + 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, + 6, 1, 1, 0, 4, 0, 6, 1, 3, 2, + 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 4, 3, 0, 6, 1, 3, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 1, 1, 1, 3, 0, 4, 3, 3, 3, 0, + 6, 1, 3, 2, 1, 1, 1, 1, 1, 0, + 4, 0, 4, 0, 6, 1, 3, 2, 1, 1, + 1, 1, 1, 1, 3, 0, 4, 3, 0, 4, + 0, 6, 0, 4, 1, 3, 2, 1, 1, 1, + 1, 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, 6, 0, 4, 1, 3, 2, 1, 1, + 0, 6, 3, 0, 6, 1, 3, 2, 0, 4, + 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, + 3, 0, 4, 0, 6, 1, 3, 2, 0, 4, + 1, 3, 2, 1, 1, 1, 1, 1, 0, 4, + 3, 3, 3, 0, 4, 0, 6, 1, 3, 2, + 1, 1, 3 }; @@ -6185,28 +6195,28 @@ namespace isc { namespace dhcp { "\"replace-client-name\"", "\"generated-prefix\"", "\"UDP\"", "\"TCP\"", "\"JSON\"", "\"when-present\"", "\"never\"", "\"always\"", "\"when-not-present\"", "\"hostname-char-set\"", - "\"hostname-char-replacement\"", "\"ip-reservations-unique\"", - "\"reservations-lookup-first\"", "\"loggers\"", "\"output_options\"", - "\"output\"", "\"debuglevel\"", "\"severity\"", "\"flush\"", - "\"maxsize\"", "\"maxver\"", "\"pattern\"", "\"compatibility\"", - "\"lenient-option-parsing\"", "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_CONFIG_CONTROL", "\"constant string\"", "\"integer\"", - "\"floating point\"", "\"boolean\"", "$accept", "start", "$@1", "$@2", - "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "$@12", - "$@13", "$@14", "value", "sub_json", "map2", "$@15", "map_value", - "map_content", "not_empty_map", "list_generic", "$@16", "list_content", - "not_empty_list", "list_strings", "$@17", "list_strings_content", - "not_empty_list_strings", "unknown_map_entry", "syntax_map", "$@18", - "global_object", "$@19", "global_object_comma", "sub_dhcp6", "$@20", - "global_params", "global_param", "data_directory", "$@21", - "preferred_lifetime", "min_preferred_lifetime", "max_preferred_lifetime", - "valid_lifetime", "min_valid_lifetime", "max_valid_lifetime", - "renew_timer", "rebind_timer", "calculate_tee_times", "t1_percent", - "t2_percent", "cache_threshold", "cache_max_age", - "decline_probation_period", "ddns_send_updates", + "\"hostname-char-replacement\"", "\"early-global-reservations-lookup\"", + "\"ip-reservations-unique\"", "\"reservations-lookup-first\"", + "\"loggers\"", "\"output_options\"", "\"output\"", "\"debuglevel\"", + "\"severity\"", "\"flush\"", "\"maxsize\"", "\"maxver\"", "\"pattern\"", + "\"compatibility\"", "\"lenient-option-parsing\"", "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_CONFIG_CONTROL", "\"constant string\"", + "\"integer\"", "\"floating point\"", "\"boolean\"", "$accept", "start", + "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", + "$@11", "$@12", "$@13", "$@14", "value", "sub_json", "map2", "$@15", + "map_value", "map_content", "not_empty_map", "list_generic", "$@16", + "list_content", "not_empty_list", "list_strings", "$@17", + "list_strings_content", "not_empty_list_strings", "unknown_map_entry", + "syntax_map", "$@18", "global_object", "$@19", "global_object_comma", + "sub_dhcp6", "$@20", "global_params", "global_param", "data_directory", + "$@21", "preferred_lifetime", "min_preferred_lifetime", + "max_preferred_lifetime", "valid_lifetime", "min_valid_lifetime", + "max_valid_lifetime", "renew_timer", "rebind_timer", + "calculate_tee_times", "t1_percent", "t2_percent", "cache_threshold", + "cache_max_age", "decline_probation_period", "ddns_send_updates", "ddns_override_no_update", "ddns_override_client_update", "ddns_replace_client_name", "$@22", "ddns_replace_client_name_value", "ddns_generated_prefix", "$@23", "ddns_qualifying_suffix", "$@24", @@ -6214,23 +6224,23 @@ namespace isc { namespace dhcp { "hostname_char_set", "$@25", "hostname_char_replacement", "$@26", "store_extended_info", "statistic_default_sample_count", "statistic_default_sample_age", "server_tag", "$@27", - "parked_packet_limit", "ip_reservations_unique", - "reservations_lookup_first", "interfaces_config", "$@28", - "sub_interfaces6", "$@29", "interfaces_config_params", - "interfaces_config_param", "interfaces_list", "$@30", "re_detect", - "lease_database", "$@31", "hosts_database", "$@32", "hosts_databases", - "$@33", "database_list", "not_empty_database_list", "database", "$@34", - "database_map_params", "database_map_param", "database_type", "$@35", - "db_type", "user", "$@36", "password", "$@37", "host", "$@38", "port", - "name", "$@39", "persist", "lfc_interval", "readonly", "connect_timeout", - "reconnect_wait_time", "on_fail", "$@40", "on_fail_mode", - "max_row_errors", "request_timeout", "tcp_keepalive", "tcp_nodelay", - "contact_points", "$@41", "max_reconnect_tries", "keyspace", "$@42", - "consistency", "$@43", "serial_consistency", "$@44", "trust_anchor", - "$@45", "cert_file", "$@46", "key_file", "$@47", "cipher_list", "$@48", - "sanity_checks", "$@49", "sanity_checks_params", "sanity_checks_param", - "lease_checks", "$@50", "mac_sources", "$@51", "mac_sources_list", - "mac_sources_value", "duid_id", "string_id", + "parked_packet_limit", "early_global_reservations_lookup", + "ip_reservations_unique", "reservations_lookup_first", + "interfaces_config", "$@28", "sub_interfaces6", "$@29", + "interfaces_config_params", "interfaces_config_param", "interfaces_list", + "$@30", "re_detect", "lease_database", "$@31", "hosts_database", "$@32", + "hosts_databases", "$@33", "database_list", "not_empty_database_list", + "database", "$@34", "database_map_params", "database_map_param", + "database_type", "$@35", "db_type", "user", "$@36", "password", "$@37", + "host", "$@38", "port", "name", "$@39", "persist", "lfc_interval", + "readonly", "connect_timeout", "reconnect_wait_time", "on_fail", "$@40", + "on_fail_mode", "max_row_errors", "request_timeout", "tcp_keepalive", + "tcp_nodelay", "contact_points", "$@41", "max_reconnect_tries", + "keyspace", "$@42", "consistency", "$@43", "serial_consistency", "$@44", + "trust_anchor", "$@45", "cert_file", "$@46", "key_file", "$@47", + "cipher_list", "$@48", "sanity_checks", "$@49", "sanity_checks_params", + "sanity_checks_param", "lease_checks", "$@50", "mac_sources", "$@51", + "mac_sources_list", "mac_sources_value", "duid_id", "string_id", "host_reservation_identifiers", "$@52", "host_reservation_identifiers_list", "host_reservation_identifier", "hw_address_id", "flex_id", "relay_supplied_options", "$@53", @@ -6314,94 +6324,94 @@ namespace isc { namespace dhcp { const short Dhcp6Parser::yyrline_[] = { - 0, 306, 306, 306, 307, 307, 308, 308, 309, 309, - 310, 310, 311, 311, 312, 312, 313, 313, 314, 314, - 315, 315, 316, 316, 317, 317, 318, 318, 319, 319, - 327, 328, 329, 330, 331, 332, 333, 336, 341, 341, - 352, 355, 356, 359, 364, 370, 375, 375, 382, 383, - 386, 390, 394, 400, 400, 407, 408, 411, 415, 419, - 429, 438, 438, 453, 453, 467, 470, 476, 476, 485, - 486, 487, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 554, 555, 556, 557, 560, 560, 569, 575, - 581, 587, 593, 599, 605, 611, 617, 623, 629, 635, - 641, 647, 653, 659, 665, 671, 671, 680, 683, 686, - 689, 692, 698, 698, 707, 707, 716, 722, 728, 728, - 737, 737, 746, 752, 758, 764, 764, 773, 779, 785, - 791, 791, 803, 803, 812, 813, 814, 819, 820, 821, - 822, 823, 826, 826, 837, 843, 843, 856, 856, 869, - 869, 880, 881, 884, 885, 886, 891, 891, 901, 902, - 903, 908, 909, 910, 911, 912, 913, 914, 915, 916, - 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, - 927, 928, 929, 930, 931, 932, 933, 936, 936, 944, - 945, 946, 947, 950, 950, 959, 959, 968, 968, 977, - 983, 983, 992, 998, 1004, 1010, 1016, 1022, 1022, 1030, - 1031, 1032, 1035, 1041, 1047, 1053, 1059, 1059, 1068, 1074, - 1074, 1083, 1083, 1092, 1092, 1101, 1101, 1110, 1110, 1119, - 1119, 1128, 1128, 1137, 1137, 1148, 1149, 1150, 1155, 1157, - 1157, 1176, 1176, 1187, 1188, 1189, 1194, 1195, 1198, 1203, - 1208, 1208, 1219, 1220, 1221, 1226, 1227, 1228, 1231, 1236, - 1243, 1243, 1256, 1256, 1269, 1270, 1271, 1276, 1277, 1278, - 1279, 1280, 1281, 1284, 1290, 1296, 1302, 1302, 1313, 1314, - 1317, 1318, 1319, 1324, 1324, 1334, 1334, 1344, 1345, 1346, - 1349, 1352, 1353, 1356, 1356, 1365, 1365, 1374, 1374, 1386, - 1387, 1388, 1393, 1394, 1395, 1396, 1397, 1398, 1401, 1407, - 1413, 1419, 1425, 1431, 1440, 1440, 1454, 1455, 1458, 1459, - 1460, 1469, 1469, 1495, 1495, 1506, 1507, 1508, 1514, 1515, - 1516, 1517, 1518, 1519, 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, 1545, - 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, - 1556, 1559, 1559, 1568, 1568, 1577, 1577, 1586, 1586, 1595, - 1595, 1606, 1612, 1618, 1624, 1624, 1632, 1633, 1634, 1635, - 1638, 1644, 1652, 1652, 1664, 1665, 1669, 1670, 1671, 1676, - 1676, 1684, 1685, 1686, 1691, 1692, 1693, 1694, 1695, 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, 1723, 1724, 1725, 1726, - 1727, 1728, 1729, 1730, 1737, 1737, 1751, 1751, 1760, 1761, - 1764, 1765, 1766, 1773, 1773, 1788, 1788, 1802, 1803, 1806, - 1807, 1808, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, - 1821, 1822, 1825, 1827, 1833, 1835, 1835, 1844, 1844, 1853, - 1853, 1862, 1864, 1864, 1873, 1883, 1883, 1896, 1897, 1902, - 1903, 1904, 1911, 1911, 1923, 1923, 1935, 1936, 1941, 1942, - 1943, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, - 1961, 1963, 1963, 1972, 1974, 1976, 1982, 1991, 1991, 2004, - 2005, 2008, 2009, 2010, 2015, 2015, 2025, 2025, 2035, 2036, - 2037, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2051, 2051, - 2060, 2060, 2085, 2085, 2115, 2115, 2128, 2129, 2132, 2133, - 2134, 2139, 2139, 2151, 2151, 2163, 2164, 2165, 2170, 2171, - 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2183, - 2183, 2192, 2198, 2198, 2207, 2213, 2222, 2222, 2233, 2234, - 2237, 2238, 2239, 2244, 2244, 2253, 2253, 2262, 2263, 2266, - 2267, 2268, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, - 2282, 2283, 2284, 2287, 2287, 2298, 2298, 2309, 2309, 2318, - 2318, 2327, 2327, 2336, 2336, 2345, 2345, 2359, 2359, 2370, - 2371, 2374, 2374, 2386, 2386, 2397, 2398, 2399, 2404, 2404, - 2414, 2415, 2418, 2419, 2420, 2425, 2426, 2427, 2428, 2429, - 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2440, 2442, - 2442, 2451, 2460, 2460, 2473, 2474, 2475, 2480, 2481, 2482, - 2483, 2484, 2485, 2486, 2487, 2488, 2491, 2491, 2499, 2500, - 2501, 2504, 2510, 2510, 2519, 2525, 2533, 2541, 2541, 2552, - 2553, 2554, 2559, 2560, 2561, 2562, 2563, 2566, 2566, 2575, - 2575, 2587, 2587, 2600, 2601, 2602, 2607, 2608, 2609, 2610, - 2611, 2612, 2615, 2621, 2621, 2630, 2636, 2636, 2646, 2646, - 2659, 2659, 2669, 2670, 2671, 2676, 2677, 2678, 2679, 2680, - 2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, - 2691, 2692, 2693, 2696, 2703, 2703, 2712, 2712, 2721, 2727, - 2727, 2736, 2742, 2748, 2748, 2757, 2758, 2761, 2761, 2771, - 2778, 2785, 2785, 2794, 2794, 2804, 2804, 2814, 2814, 2826, - 2826, 2838, 2838, 2848, 2849, 2850, 2856, 2857, 2860, 2860, - 2871, 2879, 2879, 2892, 2893, 2894, 2900, 2900, 2908, 2909, - 2910, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2924, 2930, - 2930, 2939, 2939, 2950, 2951, 2952, 2957, 2957, 2965, 2966, - 2967, 2972, 2973, 2974, 2975, 2976, 2979, 2979, 2988, 2994, - 3000, 3006, 3006, 3015, 3015, 3026, 3027, 3028, 3033, 3034, - 3037 + 0, 307, 307, 307, 308, 308, 309, 309, 310, 310, + 311, 311, 312, 312, 313, 313, 314, 314, 315, 315, + 316, 316, 317, 317, 318, 318, 319, 319, 320, 320, + 328, 329, 330, 331, 332, 333, 334, 337, 342, 342, + 353, 356, 357, 360, 365, 371, 376, 376, 383, 384, + 387, 391, 395, 401, 401, 408, 409, 412, 416, 420, + 430, 439, 439, 454, 454, 468, 471, 477, 477, 486, + 487, 488, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 562, 562, 571, + 577, 583, 589, 595, 601, 607, 613, 619, 625, 631, + 637, 643, 649, 655, 661, 667, 673, 673, 682, 685, + 688, 691, 694, 700, 700, 709, 709, 718, 724, 730, + 730, 739, 739, 748, 754, 760, 766, 766, 775, 781, + 787, 793, 799, 799, 811, 811, 820, 821, 822, 827, + 828, 829, 830, 831, 834, 834, 845, 851, 851, 864, + 864, 877, 877, 888, 889, 892, 893, 894, 899, 899, + 909, 910, 911, 916, 917, 918, 919, 920, 921, 922, + 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, + 933, 934, 935, 936, 937, 938, 939, 940, 941, 944, + 944, 952, 953, 954, 955, 958, 958, 967, 967, 976, + 976, 985, 991, 991, 1000, 1006, 1012, 1018, 1024, 1030, + 1030, 1038, 1039, 1040, 1043, 1049, 1055, 1061, 1067, 1067, + 1076, 1082, 1082, 1091, 1091, 1100, 1100, 1109, 1109, 1118, + 1118, 1127, 1127, 1136, 1136, 1145, 1145, 1156, 1157, 1158, + 1163, 1165, 1165, 1184, 1184, 1195, 1196, 1197, 1202, 1203, + 1206, 1211, 1216, 1216, 1227, 1228, 1229, 1234, 1235, 1236, + 1239, 1244, 1251, 1251, 1264, 1264, 1277, 1278, 1279, 1284, + 1285, 1286, 1287, 1288, 1289, 1292, 1298, 1304, 1310, 1310, + 1321, 1322, 1325, 1326, 1327, 1332, 1332, 1342, 1342, 1352, + 1353, 1354, 1357, 1360, 1361, 1364, 1364, 1373, 1373, 1382, + 1382, 1394, 1395, 1396, 1401, 1402, 1403, 1404, 1405, 1406, + 1409, 1415, 1421, 1427, 1433, 1439, 1448, 1448, 1462, 1463, + 1466, 1467, 1468, 1477, 1477, 1503, 1503, 1514, 1515, 1516, + 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, + 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, + 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, + 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, + 1562, 1563, 1564, 1567, 1567, 1576, 1576, 1585, 1585, 1594, + 1594, 1603, 1603, 1614, 1620, 1626, 1632, 1632, 1640, 1641, + 1642, 1643, 1646, 1652, 1660, 1660, 1672, 1673, 1677, 1678, + 1679, 1684, 1684, 1692, 1693, 1694, 1699, 1700, 1701, 1702, + 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, + 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, + 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, + 1733, 1734, 1735, 1736, 1737, 1738, 1745, 1745, 1759, 1759, + 1768, 1769, 1772, 1773, 1774, 1781, 1781, 1796, 1796, 1810, + 1811, 1814, 1815, 1816, 1821, 1822, 1823, 1824, 1825, 1826, + 1827, 1828, 1829, 1830, 1833, 1835, 1841, 1843, 1843, 1852, + 1852, 1861, 1861, 1870, 1872, 1872, 1881, 1891, 1891, 1904, + 1905, 1910, 1911, 1912, 1919, 1919, 1931, 1931, 1943, 1944, + 1949, 1950, 1951, 1958, 1959, 1960, 1961, 1962, 1963, 1964, + 1965, 1966, 1969, 1971, 1971, 1980, 1982, 1984, 1990, 1999, + 1999, 2012, 2013, 2016, 2017, 2018, 2023, 2023, 2033, 2033, + 2043, 2044, 2045, 2050, 2051, 2052, 2053, 2054, 2055, 2056, + 2059, 2059, 2068, 2068, 2093, 2093, 2123, 2123, 2136, 2137, + 2140, 2141, 2142, 2147, 2147, 2159, 2159, 2171, 2172, 2173, + 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, + 2188, 2191, 2191, 2200, 2206, 2206, 2215, 2221, 2230, 2230, + 2241, 2242, 2245, 2246, 2247, 2252, 2252, 2261, 2261, 2270, + 2271, 2274, 2275, 2276, 2282, 2283, 2284, 2285, 2286, 2287, + 2288, 2289, 2290, 2291, 2292, 2295, 2295, 2306, 2306, 2317, + 2317, 2326, 2326, 2335, 2335, 2344, 2344, 2353, 2353, 2367, + 2367, 2378, 2379, 2382, 2382, 2394, 2394, 2405, 2406, 2407, + 2412, 2412, 2422, 2423, 2426, 2427, 2428, 2433, 2434, 2435, + 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444, 2445, + 2448, 2450, 2450, 2459, 2468, 2468, 2481, 2482, 2483, 2488, + 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2499, 2499, + 2507, 2508, 2509, 2512, 2518, 2518, 2527, 2533, 2541, 2549, + 2549, 2560, 2561, 2562, 2567, 2568, 2569, 2570, 2571, 2574, + 2574, 2583, 2583, 2595, 2595, 2608, 2609, 2610, 2615, 2616, + 2617, 2618, 2619, 2620, 2623, 2629, 2629, 2638, 2644, 2644, + 2654, 2654, 2667, 2667, 2677, 2678, 2679, 2684, 2685, 2686, + 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, + 2697, 2698, 2699, 2700, 2701, 2704, 2711, 2711, 2720, 2720, + 2729, 2735, 2735, 2744, 2750, 2756, 2756, 2765, 2766, 2769, + 2769, 2779, 2786, 2793, 2793, 2802, 2802, 2812, 2812, 2822, + 2822, 2834, 2834, 2846, 2846, 2856, 2857, 2858, 2864, 2865, + 2868, 2868, 2879, 2887, 2887, 2900, 2901, 2902, 2908, 2908, + 2916, 2917, 2918, 2923, 2924, 2925, 2926, 2927, 2928, 2929, + 2932, 2938, 2938, 2947, 2947, 2958, 2959, 2960, 2965, 2965, + 2973, 2974, 2975, 2980, 2981, 2982, 2983, 2984, 2987, 2987, + 2996, 3002, 3008, 3014, 3014, 3023, 3023, 3034, 3035, 3036, + 3041, 3042, 3045 }; void @@ -6434,9 +6444,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 6438 "dhcp6_parser.cc" +#line 6448 "dhcp6_parser.cc" -#line 3043 "dhcp6_parser.yy" +#line 3051 "dhcp6_parser.yy" void diff --git a/src/bin/dhcp6/dhcp6_parser.h b/src/bin/dhcp6/dhcp6_parser.h index 9e517fe19e..3fc2410591 100644 --- a/src/bin/dhcp6/dhcp6_parser.h +++ b/src/bin/dhcp6/dhcp6_parser.h @@ -682,37 +682,38 @@ namespace isc { namespace dhcp { TOKEN_WHEN_NOT_PRESENT = 439, // "when-not-present" TOKEN_HOSTNAME_CHAR_SET = 440, // "hostname-char-set" TOKEN_HOSTNAME_CHAR_REPLACEMENT = 441, // "hostname-char-replacement" - TOKEN_IP_RESERVATIONS_UNIQUE = 442, // "ip-reservations-unique" - TOKEN_RESERVATIONS_LOOKUP_FIRST = 443, // "reservations-lookup-first" - TOKEN_LOGGERS = 444, // "loggers" - TOKEN_OUTPUT_OPTIONS = 445, // "output_options" - TOKEN_OUTPUT = 446, // "output" - TOKEN_DEBUGLEVEL = 447, // "debuglevel" - TOKEN_SEVERITY = 448, // "severity" - TOKEN_FLUSH = 449, // "flush" - TOKEN_MAXSIZE = 450, // "maxsize" - TOKEN_MAXVER = 451, // "maxver" - TOKEN_PATTERN = 452, // "pattern" - TOKEN_COMPATIBILITY = 453, // "compatibility" - TOKEN_LENIENT_OPTION_PARSING = 454, // "lenient-option-parsing" - TOKEN_TOPLEVEL_JSON = 455, // TOPLEVEL_JSON - TOKEN_TOPLEVEL_DHCP6 = 456, // TOPLEVEL_DHCP6 - TOKEN_SUB_DHCP6 = 457, // SUB_DHCP6 - TOKEN_SUB_INTERFACES6 = 458, // SUB_INTERFACES6 - TOKEN_SUB_SUBNET6 = 459, // SUB_SUBNET6 - TOKEN_SUB_POOL6 = 460, // SUB_POOL6 - TOKEN_SUB_PD_POOL = 461, // SUB_PD_POOL - TOKEN_SUB_RESERVATION = 462, // SUB_RESERVATION - TOKEN_SUB_OPTION_DEFS = 463, // SUB_OPTION_DEFS - TOKEN_SUB_OPTION_DEF = 464, // SUB_OPTION_DEF - TOKEN_SUB_OPTION_DATA = 465, // SUB_OPTION_DATA - TOKEN_SUB_HOOKS_LIBRARY = 466, // SUB_HOOKS_LIBRARY - TOKEN_SUB_DHCP_DDNS = 467, // SUB_DHCP_DDNS - TOKEN_SUB_CONFIG_CONTROL = 468, // SUB_CONFIG_CONTROL - TOKEN_STRING = 469, // "constant string" - TOKEN_INTEGER = 470, // "integer" - TOKEN_FLOAT = 471, // "floating point" - TOKEN_BOOLEAN = 472 // "boolean" + TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 442, // "early-global-reservations-lookup" + TOKEN_IP_RESERVATIONS_UNIQUE = 443, // "ip-reservations-unique" + TOKEN_RESERVATIONS_LOOKUP_FIRST = 444, // "reservations-lookup-first" + TOKEN_LOGGERS = 445, // "loggers" + TOKEN_OUTPUT_OPTIONS = 446, // "output_options" + TOKEN_OUTPUT = 447, // "output" + TOKEN_DEBUGLEVEL = 448, // "debuglevel" + TOKEN_SEVERITY = 449, // "severity" + TOKEN_FLUSH = 450, // "flush" + TOKEN_MAXSIZE = 451, // "maxsize" + TOKEN_MAXVER = 452, // "maxver" + TOKEN_PATTERN = 453, // "pattern" + TOKEN_COMPATIBILITY = 454, // "compatibility" + TOKEN_LENIENT_OPTION_PARSING = 455, // "lenient-option-parsing" + TOKEN_TOPLEVEL_JSON = 456, // TOPLEVEL_JSON + TOKEN_TOPLEVEL_DHCP6 = 457, // TOPLEVEL_DHCP6 + TOKEN_SUB_DHCP6 = 458, // SUB_DHCP6 + TOKEN_SUB_INTERFACES6 = 459, // SUB_INTERFACES6 + TOKEN_SUB_SUBNET6 = 460, // SUB_SUBNET6 + TOKEN_SUB_POOL6 = 461, // SUB_POOL6 + TOKEN_SUB_PD_POOL = 462, // SUB_PD_POOL + TOKEN_SUB_RESERVATION = 463, // SUB_RESERVATION + TOKEN_SUB_OPTION_DEFS = 464, // SUB_OPTION_DEFS + TOKEN_SUB_OPTION_DEF = 465, // SUB_OPTION_DEF + TOKEN_SUB_OPTION_DATA = 466, // SUB_OPTION_DATA + TOKEN_SUB_HOOKS_LIBRARY = 467, // SUB_HOOKS_LIBRARY + TOKEN_SUB_DHCP_DDNS = 468, // SUB_DHCP_DDNS + TOKEN_SUB_CONFIG_CONTROL = 469, // SUB_CONFIG_CONTROL + TOKEN_STRING = 470, // "constant string" + TOKEN_INTEGER = 471, // "integer" + TOKEN_FLOAT = 472, // "floating point" + TOKEN_BOOLEAN = 473 // "boolean" }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -729,7 +730,7 @@ namespace isc { namespace dhcp { { enum symbol_kind_type { - YYNTOKENS = 218, ///< Number of tokens. + YYNTOKENS = 219, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -918,486 +919,488 @@ namespace isc { namespace dhcp { S_WHEN_NOT_PRESENT = 184, // "when-not-present" S_HOSTNAME_CHAR_SET = 185, // "hostname-char-set" S_HOSTNAME_CHAR_REPLACEMENT = 186, // "hostname-char-replacement" - S_IP_RESERVATIONS_UNIQUE = 187, // "ip-reservations-unique" - S_RESERVATIONS_LOOKUP_FIRST = 188, // "reservations-lookup-first" - S_LOGGERS = 189, // "loggers" - S_OUTPUT_OPTIONS = 190, // "output_options" - S_OUTPUT = 191, // "output" - S_DEBUGLEVEL = 192, // "debuglevel" - S_SEVERITY = 193, // "severity" - S_FLUSH = 194, // "flush" - S_MAXSIZE = 195, // "maxsize" - S_MAXVER = 196, // "maxver" - S_PATTERN = 197, // "pattern" - S_COMPATIBILITY = 198, // "compatibility" - S_LENIENT_OPTION_PARSING = 199, // "lenient-option-parsing" - S_TOPLEVEL_JSON = 200, // TOPLEVEL_JSON - S_TOPLEVEL_DHCP6 = 201, // TOPLEVEL_DHCP6 - S_SUB_DHCP6 = 202, // SUB_DHCP6 - S_SUB_INTERFACES6 = 203, // SUB_INTERFACES6 - S_SUB_SUBNET6 = 204, // SUB_SUBNET6 - S_SUB_POOL6 = 205, // SUB_POOL6 - S_SUB_PD_POOL = 206, // SUB_PD_POOL - S_SUB_RESERVATION = 207, // SUB_RESERVATION - S_SUB_OPTION_DEFS = 208, // SUB_OPTION_DEFS - S_SUB_OPTION_DEF = 209, // SUB_OPTION_DEF - S_SUB_OPTION_DATA = 210, // SUB_OPTION_DATA - S_SUB_HOOKS_LIBRARY = 211, // SUB_HOOKS_LIBRARY - S_SUB_DHCP_DDNS = 212, // SUB_DHCP_DDNS - S_SUB_CONFIG_CONTROL = 213, // SUB_CONFIG_CONTROL - S_STRING = 214, // "constant string" - S_INTEGER = 215, // "integer" - S_FLOAT = 216, // "floating point" - S_BOOLEAN = 217, // "boolean" - S_YYACCEPT = 218, // $accept - S_start = 219, // start - S_220_1 = 220, // $@1 - S_221_2 = 221, // $@2 - S_222_3 = 222, // $@3 - S_223_4 = 223, // $@4 - S_224_5 = 224, // $@5 - S_225_6 = 225, // $@6 - S_226_7 = 226, // $@7 - S_227_8 = 227, // $@8 - S_228_9 = 228, // $@9 - S_229_10 = 229, // $@10 - S_230_11 = 230, // $@11 - S_231_12 = 231, // $@12 - S_232_13 = 232, // $@13 - S_233_14 = 233, // $@14 - S_value = 234, // value - S_sub_json = 235, // sub_json - S_map2 = 236, // map2 - S_237_15 = 237, // $@15 - S_map_value = 238, // map_value - S_map_content = 239, // map_content - S_not_empty_map = 240, // not_empty_map - S_list_generic = 241, // list_generic - S_242_16 = 242, // $@16 - S_list_content = 243, // list_content - S_not_empty_list = 244, // not_empty_list - S_list_strings = 245, // list_strings - S_246_17 = 246, // $@17 - S_list_strings_content = 247, // list_strings_content - S_not_empty_list_strings = 248, // not_empty_list_strings - S_unknown_map_entry = 249, // unknown_map_entry - S_syntax_map = 250, // syntax_map - S_251_18 = 251, // $@18 - S_global_object = 252, // global_object - S_253_19 = 253, // $@19 - S_global_object_comma = 254, // global_object_comma - S_sub_dhcp6 = 255, // sub_dhcp6 - S_256_20 = 256, // $@20 - S_global_params = 257, // global_params - S_global_param = 258, // global_param - S_data_directory = 259, // data_directory - S_260_21 = 260, // $@21 - S_preferred_lifetime = 261, // preferred_lifetime - S_min_preferred_lifetime = 262, // min_preferred_lifetime - S_max_preferred_lifetime = 263, // max_preferred_lifetime - S_valid_lifetime = 264, // valid_lifetime - S_min_valid_lifetime = 265, // min_valid_lifetime - S_max_valid_lifetime = 266, // max_valid_lifetime - S_renew_timer = 267, // renew_timer - S_rebind_timer = 268, // rebind_timer - S_calculate_tee_times = 269, // calculate_tee_times - S_t1_percent = 270, // t1_percent - S_t2_percent = 271, // t2_percent - S_cache_threshold = 272, // cache_threshold - S_cache_max_age = 273, // cache_max_age - S_decline_probation_period = 274, // decline_probation_period - S_ddns_send_updates = 275, // ddns_send_updates - S_ddns_override_no_update = 276, // ddns_override_no_update - S_ddns_override_client_update = 277, // ddns_override_client_update - S_ddns_replace_client_name = 278, // ddns_replace_client_name - S_279_22 = 279, // $@22 - S_ddns_replace_client_name_value = 280, // ddns_replace_client_name_value - S_ddns_generated_prefix = 281, // ddns_generated_prefix - S_282_23 = 282, // $@23 - S_ddns_qualifying_suffix = 283, // ddns_qualifying_suffix - S_284_24 = 284, // $@24 - S_ddns_update_on_renew = 285, // ddns_update_on_renew - S_ddns_use_conflict_resolution = 286, // ddns_use_conflict_resolution - S_hostname_char_set = 287, // hostname_char_set - S_288_25 = 288, // $@25 - S_hostname_char_replacement = 289, // hostname_char_replacement - S_290_26 = 290, // $@26 - S_store_extended_info = 291, // store_extended_info - S_statistic_default_sample_count = 292, // statistic_default_sample_count - S_statistic_default_sample_age = 293, // statistic_default_sample_age - S_server_tag = 294, // server_tag - S_295_27 = 295, // $@27 - S_parked_packet_limit = 296, // parked_packet_limit - S_ip_reservations_unique = 297, // ip_reservations_unique - S_reservations_lookup_first = 298, // reservations_lookup_first - S_interfaces_config = 299, // interfaces_config - S_300_28 = 300, // $@28 - S_sub_interfaces6 = 301, // sub_interfaces6 - S_302_29 = 302, // $@29 - S_interfaces_config_params = 303, // interfaces_config_params - S_interfaces_config_param = 304, // interfaces_config_param - S_interfaces_list = 305, // interfaces_list - S_306_30 = 306, // $@30 - S_re_detect = 307, // re_detect - S_lease_database = 308, // lease_database - S_309_31 = 309, // $@31 - S_hosts_database = 310, // hosts_database - S_311_32 = 311, // $@32 - S_hosts_databases = 312, // hosts_databases - S_313_33 = 313, // $@33 - S_database_list = 314, // database_list - S_not_empty_database_list = 315, // not_empty_database_list - S_database = 316, // database - S_317_34 = 317, // $@34 - S_database_map_params = 318, // database_map_params - S_database_map_param = 319, // database_map_param - S_database_type = 320, // database_type - S_321_35 = 321, // $@35 - S_db_type = 322, // db_type - S_user = 323, // user - S_324_36 = 324, // $@36 - S_password = 325, // password - S_326_37 = 326, // $@37 - S_host = 327, // host - S_328_38 = 328, // $@38 - S_port = 329, // port - S_name = 330, // name - S_331_39 = 331, // $@39 - S_persist = 332, // persist - S_lfc_interval = 333, // lfc_interval - S_readonly = 334, // readonly - S_connect_timeout = 335, // connect_timeout - S_reconnect_wait_time = 336, // reconnect_wait_time - S_on_fail = 337, // on_fail - S_338_40 = 338, // $@40 - S_on_fail_mode = 339, // on_fail_mode - S_max_row_errors = 340, // max_row_errors - S_request_timeout = 341, // request_timeout - S_tcp_keepalive = 342, // tcp_keepalive - S_tcp_nodelay = 343, // tcp_nodelay - S_contact_points = 344, // contact_points - S_345_41 = 345, // $@41 - S_max_reconnect_tries = 346, // max_reconnect_tries - S_keyspace = 347, // keyspace - S_348_42 = 348, // $@42 - S_consistency = 349, // consistency - S_350_43 = 350, // $@43 - S_serial_consistency = 351, // serial_consistency - S_352_44 = 352, // $@44 - S_trust_anchor = 353, // trust_anchor - S_354_45 = 354, // $@45 - S_cert_file = 355, // cert_file - S_356_46 = 356, // $@46 - S_key_file = 357, // key_file - S_358_47 = 358, // $@47 - S_cipher_list = 359, // cipher_list - S_360_48 = 360, // $@48 - S_sanity_checks = 361, // sanity_checks - S_362_49 = 362, // $@49 - S_sanity_checks_params = 363, // sanity_checks_params - S_sanity_checks_param = 364, // sanity_checks_param - S_lease_checks = 365, // lease_checks - S_366_50 = 366, // $@50 - S_mac_sources = 367, // mac_sources - S_368_51 = 368, // $@51 - S_mac_sources_list = 369, // mac_sources_list - S_mac_sources_value = 370, // mac_sources_value - S_duid_id = 371, // duid_id - S_string_id = 372, // string_id - S_host_reservation_identifiers = 373, // host_reservation_identifiers - S_374_52 = 374, // $@52 - S_host_reservation_identifiers_list = 375, // host_reservation_identifiers_list - S_host_reservation_identifier = 376, // host_reservation_identifier - S_hw_address_id = 377, // hw_address_id - S_flex_id = 378, // flex_id - S_relay_supplied_options = 379, // relay_supplied_options - S_380_53 = 380, // $@53 - S_dhcp_multi_threading = 381, // dhcp_multi_threading - S_382_54 = 382, // $@54 - S_multi_threading_params = 383, // multi_threading_params - S_multi_threading_param = 384, // multi_threading_param - S_enable_multi_threading = 385, // enable_multi_threading - S_thread_pool_size = 386, // thread_pool_size - S_packet_queue_size = 387, // packet_queue_size - S_hooks_libraries = 388, // hooks_libraries - S_389_55 = 389, // $@55 - S_hooks_libraries_list = 390, // hooks_libraries_list - S_not_empty_hooks_libraries_list = 391, // not_empty_hooks_libraries_list - S_hooks_library = 392, // hooks_library - S_393_56 = 393, // $@56 - S_sub_hooks_library = 394, // sub_hooks_library - S_395_57 = 395, // $@57 - S_hooks_params = 396, // hooks_params - S_hooks_param = 397, // hooks_param - S_library = 398, // library - S_399_58 = 399, // $@58 - S_parameters = 400, // parameters - S_401_59 = 401, // $@59 - S_expired_leases_processing = 402, // expired_leases_processing - S_403_60 = 403, // $@60 - S_expired_leases_params = 404, // expired_leases_params - S_expired_leases_param = 405, // expired_leases_param - S_reclaim_timer_wait_time = 406, // reclaim_timer_wait_time - S_flush_reclaimed_timer_wait_time = 407, // flush_reclaimed_timer_wait_time - S_hold_reclaimed_time = 408, // hold_reclaimed_time - S_max_reclaim_leases = 409, // max_reclaim_leases - S_max_reclaim_time = 410, // max_reclaim_time - S_unwarned_reclaim_cycles = 411, // unwarned_reclaim_cycles - S_subnet6_list = 412, // subnet6_list - S_413_61 = 413, // $@61 - S_subnet6_list_content = 414, // subnet6_list_content - S_not_empty_subnet6_list = 415, // not_empty_subnet6_list - S_subnet6 = 416, // subnet6 - S_417_62 = 417, // $@62 - S_sub_subnet6 = 418, // sub_subnet6 - S_419_63 = 419, // $@63 - S_subnet6_params = 420, // subnet6_params - S_subnet6_param = 421, // subnet6_param - S_subnet = 422, // subnet - S_423_64 = 423, // $@64 - S_interface = 424, // interface - S_425_65 = 425, // $@65 - S_interface_id = 426, // interface_id - S_427_66 = 427, // $@66 - S_client_class = 428, // client_class - S_429_67 = 429, // $@67 - S_require_client_classes = 430, // require_client_classes - S_431_68 = 431, // $@68 - S_reservations_global = 432, // reservations_global - S_reservations_in_subnet = 433, // reservations_in_subnet - S_reservations_out_of_pool = 434, // reservations_out_of_pool - S_reservation_mode = 435, // reservation_mode - S_436_69 = 436, // $@69 - S_hr_mode = 437, // hr_mode - S_id = 438, // id - S_rapid_commit = 439, // rapid_commit - S_shared_networks = 440, // shared_networks - S_441_70 = 441, // $@70 - S_shared_networks_content = 442, // shared_networks_content - S_shared_networks_list = 443, // shared_networks_list - S_shared_network = 444, // shared_network - S_445_71 = 445, // $@71 - S_shared_network_params = 446, // shared_network_params - S_shared_network_param = 447, // shared_network_param - S_option_def_list = 448, // option_def_list - S_449_72 = 449, // $@72 - S_sub_option_def_list = 450, // sub_option_def_list - S_451_73 = 451, // $@73 - S_option_def_list_content = 452, // option_def_list_content - S_not_empty_option_def_list = 453, // not_empty_option_def_list - S_option_def_entry = 454, // option_def_entry - S_455_74 = 455, // $@74 - S_sub_option_def = 456, // sub_option_def - S_457_75 = 457, // $@75 - S_option_def_params = 458, // option_def_params - S_not_empty_option_def_params = 459, // not_empty_option_def_params - S_option_def_param = 460, // option_def_param - S_option_def_name = 461, // option_def_name - S_code = 462, // code - S_option_def_code = 463, // option_def_code - S_option_def_type = 464, // option_def_type - S_465_76 = 465, // $@76 - S_option_def_record_types = 466, // option_def_record_types - S_467_77 = 467, // $@77 - S_space = 468, // space - S_469_78 = 469, // $@78 - S_option_def_space = 470, // option_def_space - S_option_def_encapsulate = 471, // option_def_encapsulate - S_472_79 = 472, // $@79 - S_option_def_array = 473, // option_def_array - S_option_data_list = 474, // option_data_list - S_475_80 = 475, // $@80 - S_option_data_list_content = 476, // option_data_list_content - S_not_empty_option_data_list = 477, // not_empty_option_data_list - S_option_data_entry = 478, // option_data_entry - S_479_81 = 479, // $@81 - S_sub_option_data = 480, // sub_option_data - S_481_82 = 481, // $@82 - S_option_data_params = 482, // option_data_params - S_not_empty_option_data_params = 483, // not_empty_option_data_params - S_option_data_param = 484, // option_data_param - S_option_data_name = 485, // option_data_name - S_option_data_data = 486, // option_data_data - S_487_83 = 487, // $@83 - S_option_data_code = 488, // option_data_code - S_option_data_space = 489, // option_data_space - S_option_data_csv_format = 490, // option_data_csv_format - S_option_data_always_send = 491, // option_data_always_send - S_pools_list = 492, // pools_list - S_493_84 = 493, // $@84 - S_pools_list_content = 494, // pools_list_content - S_not_empty_pools_list = 495, // not_empty_pools_list - S_pool_list_entry = 496, // pool_list_entry - S_497_85 = 497, // $@85 - S_sub_pool6 = 498, // sub_pool6 - S_499_86 = 499, // $@86 - S_pool_params = 500, // pool_params - S_pool_param = 501, // pool_param - S_pool_entry = 502, // pool_entry - S_503_87 = 503, // $@87 - S_user_context = 504, // user_context - S_505_88 = 505, // $@88 - S_comment = 506, // comment - S_507_89 = 507, // $@89 - S_pd_pools_list = 508, // pd_pools_list - S_509_90 = 509, // $@90 - S_pd_pools_list_content = 510, // pd_pools_list_content - S_not_empty_pd_pools_list = 511, // not_empty_pd_pools_list - S_pd_pool_entry = 512, // pd_pool_entry - S_513_91 = 513, // $@91 - S_sub_pd_pool = 514, // sub_pd_pool - S_515_92 = 515, // $@92 - S_pd_pool_params = 516, // pd_pool_params - S_pd_pool_param = 517, // pd_pool_param - S_pd_prefix = 518, // pd_prefix - S_519_93 = 519, // $@93 - S_pd_prefix_len = 520, // pd_prefix_len - S_excluded_prefix = 521, // excluded_prefix - S_522_94 = 522, // $@94 - S_excluded_prefix_len = 523, // excluded_prefix_len - S_pd_delegated_len = 524, // pd_delegated_len - S_reservations = 525, // reservations - S_526_95 = 526, // $@95 - S_reservations_list = 527, // reservations_list - S_not_empty_reservations_list = 528, // not_empty_reservations_list - S_reservation = 529, // reservation - S_530_96 = 530, // $@96 - S_sub_reservation = 531, // sub_reservation - S_532_97 = 532, // $@97 - S_reservation_params = 533, // reservation_params - S_not_empty_reservation_params = 534, // not_empty_reservation_params - S_reservation_param = 535, // reservation_param - S_ip_addresses = 536, // ip_addresses - S_537_98 = 537, // $@98 - S_prefixes = 538, // prefixes - S_539_99 = 539, // $@99 - S_duid = 540, // duid - S_541_100 = 541, // $@100 - S_hw_address = 542, // hw_address - S_543_101 = 543, // $@101 - S_hostname = 544, // hostname - S_545_102 = 545, // $@102 - S_flex_id_value = 546, // flex_id_value - S_547_103 = 547, // $@103 - S_reservation_client_classes = 548, // reservation_client_classes - S_549_104 = 549, // $@104 - S_relay = 550, // relay - S_551_105 = 551, // $@105 - S_relay_map = 552, // relay_map - S_ip_address = 553, // ip_address - S_554_106 = 554, // $@106 - S_client_classes = 555, // client_classes - S_556_107 = 556, // $@107 - S_client_classes_list = 557, // client_classes_list - S_client_class_entry = 558, // client_class_entry - S_559_108 = 559, // $@108 - S_client_class_params = 560, // client_class_params - S_not_empty_client_class_params = 561, // not_empty_client_class_params - S_client_class_param = 562, // client_class_param - S_client_class_name = 563, // client_class_name - S_client_class_test = 564, // client_class_test - S_565_109 = 565, // $@109 - S_only_if_required = 566, // only_if_required - S_server_id = 567, // server_id - S_568_110 = 568, // $@110 - S_server_id_params = 569, // server_id_params - S_server_id_param = 570, // server_id_param - S_server_id_type = 571, // server_id_type - S_572_111 = 572, // $@111 - S_duid_type = 573, // duid_type - S_htype = 574, // htype - S_identifier = 575, // identifier - S_576_112 = 576, // $@112 - S_time = 577, // time - S_enterprise_id = 578, // enterprise_id - S_dhcp4o6_port = 579, // dhcp4o6_port - S_control_socket = 580, // control_socket - S_581_113 = 581, // $@113 - S_control_socket_params = 582, // control_socket_params - S_control_socket_param = 583, // control_socket_param - S_socket_type = 584, // socket_type - S_585_114 = 585, // $@114 - S_socket_name = 586, // socket_name - S_587_115 = 587, // $@115 - S_dhcp_queue_control = 588, // dhcp_queue_control - S_589_116 = 589, // $@116 - S_queue_control_params = 590, // queue_control_params - S_queue_control_param = 591, // queue_control_param - S_enable_queue = 592, // enable_queue - S_queue_type = 593, // queue_type - S_594_117 = 594, // $@117 - S_capacity = 595, // capacity - S_arbitrary_map_entry = 596, // arbitrary_map_entry - S_597_118 = 597, // $@118 - S_dhcp_ddns = 598, // dhcp_ddns - S_599_119 = 599, // $@119 - S_sub_dhcp_ddns = 600, // sub_dhcp_ddns - S_601_120 = 601, // $@120 - S_dhcp_ddns_params = 602, // dhcp_ddns_params - S_dhcp_ddns_param = 603, // dhcp_ddns_param - S_enable_updates = 604, // enable_updates - S_dep_qualifying_suffix = 605, // dep_qualifying_suffix - S_606_121 = 606, // $@121 - S_server_ip = 607, // server_ip - S_608_122 = 608, // $@122 - S_server_port = 609, // server_port - S_sender_ip = 610, // sender_ip - S_611_123 = 611, // $@123 - S_sender_port = 612, // sender_port - S_max_queue_size = 613, // max_queue_size - S_ncr_protocol = 614, // ncr_protocol - S_615_124 = 615, // $@124 - S_ncr_protocol_value = 616, // ncr_protocol_value - S_ncr_format = 617, // ncr_format - S_618_125 = 618, // $@125 - S_dep_override_no_update = 619, // dep_override_no_update - S_dep_override_client_update = 620, // dep_override_client_update - S_dep_replace_client_name = 621, // dep_replace_client_name - S_622_126 = 622, // $@126 - S_dep_generated_prefix = 623, // dep_generated_prefix - S_624_127 = 624, // $@127 - S_dep_hostname_char_set = 625, // dep_hostname_char_set - S_626_128 = 626, // $@128 - S_dep_hostname_char_replacement = 627, // dep_hostname_char_replacement - S_628_129 = 628, // $@129 - S_config_control = 629, // config_control - S_630_130 = 630, // $@130 - S_sub_config_control = 631, // sub_config_control - S_632_131 = 632, // $@131 - S_config_control_params = 633, // config_control_params - S_config_control_param = 634, // config_control_param - S_config_databases = 635, // config_databases - S_636_132 = 636, // $@132 - S_config_fetch_wait_time = 637, // config_fetch_wait_time - S_loggers = 638, // loggers - S_639_133 = 639, // $@133 - S_loggers_entries = 640, // loggers_entries - S_logger_entry = 641, // logger_entry - S_642_134 = 642, // $@134 - S_logger_params = 643, // logger_params - S_logger_param = 644, // logger_param - S_debuglevel = 645, // debuglevel - S_severity = 646, // severity - S_647_135 = 647, // $@135 - S_output_options_list = 648, // output_options_list - S_649_136 = 649, // $@136 - S_output_options_list_content = 650, // output_options_list_content - S_output_entry = 651, // output_entry - S_652_137 = 652, // $@137 - S_output_params_list = 653, // output_params_list - S_output_params = 654, // output_params - S_output = 655, // output - S_656_138 = 656, // $@138 - S_flush = 657, // flush - S_maxsize = 658, // maxsize - S_maxver = 659, // maxver - S_pattern = 660, // pattern - S_661_139 = 661, // $@139 - S_compatibility = 662, // compatibility - S_663_140 = 663, // $@140 - S_compatibility_params = 664, // compatibility_params - S_compatibility_param = 665, // compatibility_param - S_lenient_option_parsing = 666 // lenient_option_parsing + S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 187, // "early-global-reservations-lookup" + S_IP_RESERVATIONS_UNIQUE = 188, // "ip-reservations-unique" + S_RESERVATIONS_LOOKUP_FIRST = 189, // "reservations-lookup-first" + S_LOGGERS = 190, // "loggers" + S_OUTPUT_OPTIONS = 191, // "output_options" + S_OUTPUT = 192, // "output" + S_DEBUGLEVEL = 193, // "debuglevel" + S_SEVERITY = 194, // "severity" + S_FLUSH = 195, // "flush" + S_MAXSIZE = 196, // "maxsize" + S_MAXVER = 197, // "maxver" + S_PATTERN = 198, // "pattern" + S_COMPATIBILITY = 199, // "compatibility" + S_LENIENT_OPTION_PARSING = 200, // "lenient-option-parsing" + S_TOPLEVEL_JSON = 201, // TOPLEVEL_JSON + S_TOPLEVEL_DHCP6 = 202, // TOPLEVEL_DHCP6 + S_SUB_DHCP6 = 203, // SUB_DHCP6 + S_SUB_INTERFACES6 = 204, // SUB_INTERFACES6 + S_SUB_SUBNET6 = 205, // SUB_SUBNET6 + S_SUB_POOL6 = 206, // SUB_POOL6 + S_SUB_PD_POOL = 207, // SUB_PD_POOL + S_SUB_RESERVATION = 208, // SUB_RESERVATION + S_SUB_OPTION_DEFS = 209, // SUB_OPTION_DEFS + S_SUB_OPTION_DEF = 210, // SUB_OPTION_DEF + S_SUB_OPTION_DATA = 211, // SUB_OPTION_DATA + S_SUB_HOOKS_LIBRARY = 212, // SUB_HOOKS_LIBRARY + S_SUB_DHCP_DDNS = 213, // SUB_DHCP_DDNS + S_SUB_CONFIG_CONTROL = 214, // SUB_CONFIG_CONTROL + S_STRING = 215, // "constant string" + S_INTEGER = 216, // "integer" + S_FLOAT = 217, // "floating point" + S_BOOLEAN = 218, // "boolean" + S_YYACCEPT = 219, // $accept + S_start = 220, // start + S_221_1 = 221, // $@1 + S_222_2 = 222, // $@2 + S_223_3 = 223, // $@3 + S_224_4 = 224, // $@4 + S_225_5 = 225, // $@5 + S_226_6 = 226, // $@6 + S_227_7 = 227, // $@7 + S_228_8 = 228, // $@8 + S_229_9 = 229, // $@9 + S_230_10 = 230, // $@10 + S_231_11 = 231, // $@11 + S_232_12 = 232, // $@12 + S_233_13 = 233, // $@13 + S_234_14 = 234, // $@14 + S_value = 235, // value + S_sub_json = 236, // sub_json + S_map2 = 237, // map2 + S_238_15 = 238, // $@15 + S_map_value = 239, // map_value + S_map_content = 240, // map_content + S_not_empty_map = 241, // not_empty_map + S_list_generic = 242, // list_generic + S_243_16 = 243, // $@16 + S_list_content = 244, // list_content + S_not_empty_list = 245, // not_empty_list + S_list_strings = 246, // list_strings + S_247_17 = 247, // $@17 + S_list_strings_content = 248, // list_strings_content + S_not_empty_list_strings = 249, // not_empty_list_strings + S_unknown_map_entry = 250, // unknown_map_entry + S_syntax_map = 251, // syntax_map + S_252_18 = 252, // $@18 + S_global_object = 253, // global_object + S_254_19 = 254, // $@19 + S_global_object_comma = 255, // global_object_comma + S_sub_dhcp6 = 256, // sub_dhcp6 + S_257_20 = 257, // $@20 + S_global_params = 258, // global_params + S_global_param = 259, // global_param + S_data_directory = 260, // data_directory + S_261_21 = 261, // $@21 + S_preferred_lifetime = 262, // preferred_lifetime + S_min_preferred_lifetime = 263, // min_preferred_lifetime + S_max_preferred_lifetime = 264, // max_preferred_lifetime + S_valid_lifetime = 265, // valid_lifetime + S_min_valid_lifetime = 266, // min_valid_lifetime + S_max_valid_lifetime = 267, // max_valid_lifetime + S_renew_timer = 268, // renew_timer + S_rebind_timer = 269, // rebind_timer + S_calculate_tee_times = 270, // calculate_tee_times + S_t1_percent = 271, // t1_percent + S_t2_percent = 272, // t2_percent + S_cache_threshold = 273, // cache_threshold + S_cache_max_age = 274, // cache_max_age + S_decline_probation_period = 275, // decline_probation_period + S_ddns_send_updates = 276, // ddns_send_updates + S_ddns_override_no_update = 277, // ddns_override_no_update + S_ddns_override_client_update = 278, // ddns_override_client_update + S_ddns_replace_client_name = 279, // ddns_replace_client_name + S_280_22 = 280, // $@22 + S_ddns_replace_client_name_value = 281, // ddns_replace_client_name_value + S_ddns_generated_prefix = 282, // ddns_generated_prefix + S_283_23 = 283, // $@23 + S_ddns_qualifying_suffix = 284, // ddns_qualifying_suffix + S_285_24 = 285, // $@24 + S_ddns_update_on_renew = 286, // ddns_update_on_renew + S_ddns_use_conflict_resolution = 287, // ddns_use_conflict_resolution + S_hostname_char_set = 288, // hostname_char_set + S_289_25 = 289, // $@25 + S_hostname_char_replacement = 290, // hostname_char_replacement + S_291_26 = 291, // $@26 + S_store_extended_info = 292, // store_extended_info + S_statistic_default_sample_count = 293, // statistic_default_sample_count + S_statistic_default_sample_age = 294, // statistic_default_sample_age + S_server_tag = 295, // server_tag + S_296_27 = 296, // $@27 + S_parked_packet_limit = 297, // parked_packet_limit + S_early_global_reservations_lookup = 298, // early_global_reservations_lookup + S_ip_reservations_unique = 299, // ip_reservations_unique + S_reservations_lookup_first = 300, // reservations_lookup_first + S_interfaces_config = 301, // interfaces_config + S_302_28 = 302, // $@28 + S_sub_interfaces6 = 303, // sub_interfaces6 + S_304_29 = 304, // $@29 + S_interfaces_config_params = 305, // interfaces_config_params + S_interfaces_config_param = 306, // interfaces_config_param + S_interfaces_list = 307, // interfaces_list + S_308_30 = 308, // $@30 + S_re_detect = 309, // re_detect + S_lease_database = 310, // lease_database + S_311_31 = 311, // $@31 + S_hosts_database = 312, // hosts_database + S_313_32 = 313, // $@32 + S_hosts_databases = 314, // hosts_databases + S_315_33 = 315, // $@33 + S_database_list = 316, // database_list + S_not_empty_database_list = 317, // not_empty_database_list + S_database = 318, // database + S_319_34 = 319, // $@34 + S_database_map_params = 320, // database_map_params + S_database_map_param = 321, // database_map_param + S_database_type = 322, // database_type + S_323_35 = 323, // $@35 + S_db_type = 324, // db_type + S_user = 325, // user + S_326_36 = 326, // $@36 + S_password = 327, // password + S_328_37 = 328, // $@37 + S_host = 329, // host + S_330_38 = 330, // $@38 + S_port = 331, // port + S_name = 332, // name + S_333_39 = 333, // $@39 + S_persist = 334, // persist + S_lfc_interval = 335, // lfc_interval + S_readonly = 336, // readonly + S_connect_timeout = 337, // connect_timeout + S_reconnect_wait_time = 338, // reconnect_wait_time + S_on_fail = 339, // on_fail + S_340_40 = 340, // $@40 + S_on_fail_mode = 341, // on_fail_mode + S_max_row_errors = 342, // max_row_errors + S_request_timeout = 343, // request_timeout + S_tcp_keepalive = 344, // tcp_keepalive + S_tcp_nodelay = 345, // tcp_nodelay + S_contact_points = 346, // contact_points + S_347_41 = 347, // $@41 + S_max_reconnect_tries = 348, // max_reconnect_tries + S_keyspace = 349, // keyspace + S_350_42 = 350, // $@42 + S_consistency = 351, // consistency + S_352_43 = 352, // $@43 + S_serial_consistency = 353, // serial_consistency + S_354_44 = 354, // $@44 + S_trust_anchor = 355, // trust_anchor + S_356_45 = 356, // $@45 + S_cert_file = 357, // cert_file + S_358_46 = 358, // $@46 + S_key_file = 359, // key_file + S_360_47 = 360, // $@47 + S_cipher_list = 361, // cipher_list + S_362_48 = 362, // $@48 + S_sanity_checks = 363, // sanity_checks + S_364_49 = 364, // $@49 + S_sanity_checks_params = 365, // sanity_checks_params + S_sanity_checks_param = 366, // sanity_checks_param + S_lease_checks = 367, // lease_checks + S_368_50 = 368, // $@50 + S_mac_sources = 369, // mac_sources + S_370_51 = 370, // $@51 + S_mac_sources_list = 371, // mac_sources_list + S_mac_sources_value = 372, // mac_sources_value + S_duid_id = 373, // duid_id + S_string_id = 374, // string_id + S_host_reservation_identifiers = 375, // host_reservation_identifiers + S_376_52 = 376, // $@52 + S_host_reservation_identifiers_list = 377, // host_reservation_identifiers_list + S_host_reservation_identifier = 378, // host_reservation_identifier + S_hw_address_id = 379, // hw_address_id + S_flex_id = 380, // flex_id + S_relay_supplied_options = 381, // relay_supplied_options + S_382_53 = 382, // $@53 + S_dhcp_multi_threading = 383, // dhcp_multi_threading + S_384_54 = 384, // $@54 + S_multi_threading_params = 385, // multi_threading_params + S_multi_threading_param = 386, // multi_threading_param + S_enable_multi_threading = 387, // enable_multi_threading + S_thread_pool_size = 388, // thread_pool_size + S_packet_queue_size = 389, // packet_queue_size + S_hooks_libraries = 390, // hooks_libraries + S_391_55 = 391, // $@55 + S_hooks_libraries_list = 392, // hooks_libraries_list + S_not_empty_hooks_libraries_list = 393, // not_empty_hooks_libraries_list + S_hooks_library = 394, // hooks_library + S_395_56 = 395, // $@56 + S_sub_hooks_library = 396, // sub_hooks_library + S_397_57 = 397, // $@57 + S_hooks_params = 398, // hooks_params + S_hooks_param = 399, // hooks_param + S_library = 400, // library + S_401_58 = 401, // $@58 + S_parameters = 402, // parameters + S_403_59 = 403, // $@59 + S_expired_leases_processing = 404, // expired_leases_processing + S_405_60 = 405, // $@60 + S_expired_leases_params = 406, // expired_leases_params + S_expired_leases_param = 407, // expired_leases_param + S_reclaim_timer_wait_time = 408, // reclaim_timer_wait_time + S_flush_reclaimed_timer_wait_time = 409, // flush_reclaimed_timer_wait_time + S_hold_reclaimed_time = 410, // hold_reclaimed_time + S_max_reclaim_leases = 411, // max_reclaim_leases + S_max_reclaim_time = 412, // max_reclaim_time + S_unwarned_reclaim_cycles = 413, // unwarned_reclaim_cycles + S_subnet6_list = 414, // subnet6_list + S_415_61 = 415, // $@61 + S_subnet6_list_content = 416, // subnet6_list_content + S_not_empty_subnet6_list = 417, // not_empty_subnet6_list + S_subnet6 = 418, // subnet6 + S_419_62 = 419, // $@62 + S_sub_subnet6 = 420, // sub_subnet6 + S_421_63 = 421, // $@63 + S_subnet6_params = 422, // subnet6_params + S_subnet6_param = 423, // subnet6_param + S_subnet = 424, // subnet + S_425_64 = 425, // $@64 + S_interface = 426, // interface + S_427_65 = 427, // $@65 + S_interface_id = 428, // interface_id + S_429_66 = 429, // $@66 + S_client_class = 430, // client_class + S_431_67 = 431, // $@67 + S_require_client_classes = 432, // require_client_classes + S_433_68 = 433, // $@68 + S_reservations_global = 434, // reservations_global + S_reservations_in_subnet = 435, // reservations_in_subnet + S_reservations_out_of_pool = 436, // reservations_out_of_pool + S_reservation_mode = 437, // reservation_mode + S_438_69 = 438, // $@69 + S_hr_mode = 439, // hr_mode + S_id = 440, // id + S_rapid_commit = 441, // rapid_commit + S_shared_networks = 442, // shared_networks + S_443_70 = 443, // $@70 + S_shared_networks_content = 444, // shared_networks_content + S_shared_networks_list = 445, // shared_networks_list + S_shared_network = 446, // shared_network + S_447_71 = 447, // $@71 + S_shared_network_params = 448, // shared_network_params + S_shared_network_param = 449, // shared_network_param + S_option_def_list = 450, // option_def_list + S_451_72 = 451, // $@72 + S_sub_option_def_list = 452, // sub_option_def_list + S_453_73 = 453, // $@73 + S_option_def_list_content = 454, // option_def_list_content + S_not_empty_option_def_list = 455, // not_empty_option_def_list + S_option_def_entry = 456, // option_def_entry + S_457_74 = 457, // $@74 + S_sub_option_def = 458, // sub_option_def + S_459_75 = 459, // $@75 + S_option_def_params = 460, // option_def_params + S_not_empty_option_def_params = 461, // not_empty_option_def_params + S_option_def_param = 462, // option_def_param + S_option_def_name = 463, // option_def_name + S_code = 464, // code + S_option_def_code = 465, // option_def_code + S_option_def_type = 466, // option_def_type + S_467_76 = 467, // $@76 + S_option_def_record_types = 468, // option_def_record_types + S_469_77 = 469, // $@77 + S_space = 470, // space + S_471_78 = 471, // $@78 + S_option_def_space = 472, // option_def_space + S_option_def_encapsulate = 473, // option_def_encapsulate + S_474_79 = 474, // $@79 + S_option_def_array = 475, // option_def_array + S_option_data_list = 476, // option_data_list + S_477_80 = 477, // $@80 + S_option_data_list_content = 478, // option_data_list_content + S_not_empty_option_data_list = 479, // not_empty_option_data_list + S_option_data_entry = 480, // option_data_entry + S_481_81 = 481, // $@81 + S_sub_option_data = 482, // sub_option_data + S_483_82 = 483, // $@82 + S_option_data_params = 484, // option_data_params + S_not_empty_option_data_params = 485, // not_empty_option_data_params + S_option_data_param = 486, // option_data_param + S_option_data_name = 487, // option_data_name + S_option_data_data = 488, // option_data_data + S_489_83 = 489, // $@83 + S_option_data_code = 490, // option_data_code + S_option_data_space = 491, // option_data_space + S_option_data_csv_format = 492, // option_data_csv_format + S_option_data_always_send = 493, // option_data_always_send + S_pools_list = 494, // pools_list + S_495_84 = 495, // $@84 + S_pools_list_content = 496, // pools_list_content + S_not_empty_pools_list = 497, // not_empty_pools_list + S_pool_list_entry = 498, // pool_list_entry + S_499_85 = 499, // $@85 + S_sub_pool6 = 500, // sub_pool6 + S_501_86 = 501, // $@86 + S_pool_params = 502, // pool_params + S_pool_param = 503, // pool_param + S_pool_entry = 504, // pool_entry + S_505_87 = 505, // $@87 + S_user_context = 506, // user_context + S_507_88 = 507, // $@88 + S_comment = 508, // comment + S_509_89 = 509, // $@89 + S_pd_pools_list = 510, // pd_pools_list + S_511_90 = 511, // $@90 + S_pd_pools_list_content = 512, // pd_pools_list_content + S_not_empty_pd_pools_list = 513, // not_empty_pd_pools_list + S_pd_pool_entry = 514, // pd_pool_entry + S_515_91 = 515, // $@91 + S_sub_pd_pool = 516, // sub_pd_pool + S_517_92 = 517, // $@92 + S_pd_pool_params = 518, // pd_pool_params + S_pd_pool_param = 519, // pd_pool_param + S_pd_prefix = 520, // pd_prefix + S_521_93 = 521, // $@93 + S_pd_prefix_len = 522, // pd_prefix_len + S_excluded_prefix = 523, // excluded_prefix + S_524_94 = 524, // $@94 + S_excluded_prefix_len = 525, // excluded_prefix_len + S_pd_delegated_len = 526, // pd_delegated_len + S_reservations = 527, // reservations + S_528_95 = 528, // $@95 + S_reservations_list = 529, // reservations_list + S_not_empty_reservations_list = 530, // not_empty_reservations_list + S_reservation = 531, // reservation + S_532_96 = 532, // $@96 + S_sub_reservation = 533, // sub_reservation + S_534_97 = 534, // $@97 + S_reservation_params = 535, // reservation_params + S_not_empty_reservation_params = 536, // not_empty_reservation_params + S_reservation_param = 537, // reservation_param + S_ip_addresses = 538, // ip_addresses + S_539_98 = 539, // $@98 + S_prefixes = 540, // prefixes + S_541_99 = 541, // $@99 + S_duid = 542, // duid + S_543_100 = 543, // $@100 + S_hw_address = 544, // hw_address + S_545_101 = 545, // $@101 + S_hostname = 546, // hostname + S_547_102 = 547, // $@102 + S_flex_id_value = 548, // flex_id_value + S_549_103 = 549, // $@103 + S_reservation_client_classes = 550, // reservation_client_classes + S_551_104 = 551, // $@104 + S_relay = 552, // relay + S_553_105 = 553, // $@105 + S_relay_map = 554, // relay_map + S_ip_address = 555, // ip_address + S_556_106 = 556, // $@106 + S_client_classes = 557, // client_classes + S_558_107 = 558, // $@107 + S_client_classes_list = 559, // client_classes_list + S_client_class_entry = 560, // client_class_entry + S_561_108 = 561, // $@108 + S_client_class_params = 562, // client_class_params + S_not_empty_client_class_params = 563, // not_empty_client_class_params + S_client_class_param = 564, // client_class_param + S_client_class_name = 565, // client_class_name + S_client_class_test = 566, // client_class_test + S_567_109 = 567, // $@109 + S_only_if_required = 568, // only_if_required + S_server_id = 569, // server_id + S_570_110 = 570, // $@110 + S_server_id_params = 571, // server_id_params + S_server_id_param = 572, // server_id_param + S_server_id_type = 573, // server_id_type + S_574_111 = 574, // $@111 + S_duid_type = 575, // duid_type + S_htype = 576, // htype + S_identifier = 577, // identifier + S_578_112 = 578, // $@112 + S_time = 579, // time + S_enterprise_id = 580, // enterprise_id + S_dhcp4o6_port = 581, // dhcp4o6_port + S_control_socket = 582, // control_socket + S_583_113 = 583, // $@113 + S_control_socket_params = 584, // control_socket_params + S_control_socket_param = 585, // control_socket_param + S_socket_type = 586, // socket_type + S_587_114 = 587, // $@114 + S_socket_name = 588, // socket_name + S_589_115 = 589, // $@115 + S_dhcp_queue_control = 590, // dhcp_queue_control + S_591_116 = 591, // $@116 + S_queue_control_params = 592, // queue_control_params + S_queue_control_param = 593, // queue_control_param + S_enable_queue = 594, // enable_queue + S_queue_type = 595, // queue_type + S_596_117 = 596, // $@117 + S_capacity = 597, // capacity + S_arbitrary_map_entry = 598, // arbitrary_map_entry + S_599_118 = 599, // $@118 + S_dhcp_ddns = 600, // dhcp_ddns + S_601_119 = 601, // $@119 + S_sub_dhcp_ddns = 602, // sub_dhcp_ddns + S_603_120 = 603, // $@120 + S_dhcp_ddns_params = 604, // dhcp_ddns_params + S_dhcp_ddns_param = 605, // dhcp_ddns_param + S_enable_updates = 606, // enable_updates + S_dep_qualifying_suffix = 607, // dep_qualifying_suffix + S_608_121 = 608, // $@121 + S_server_ip = 609, // server_ip + S_610_122 = 610, // $@122 + S_server_port = 611, // server_port + S_sender_ip = 612, // sender_ip + S_613_123 = 613, // $@123 + S_sender_port = 614, // sender_port + S_max_queue_size = 615, // max_queue_size + S_ncr_protocol = 616, // ncr_protocol + S_617_124 = 617, // $@124 + S_ncr_protocol_value = 618, // ncr_protocol_value + S_ncr_format = 619, // ncr_format + S_620_125 = 620, // $@125 + S_dep_override_no_update = 621, // dep_override_no_update + S_dep_override_client_update = 622, // dep_override_client_update + S_dep_replace_client_name = 623, // dep_replace_client_name + S_624_126 = 624, // $@126 + S_dep_generated_prefix = 625, // dep_generated_prefix + S_626_127 = 626, // $@127 + S_dep_hostname_char_set = 627, // dep_hostname_char_set + S_628_128 = 628, // $@128 + S_dep_hostname_char_replacement = 629, // dep_hostname_char_replacement + S_630_129 = 630, // $@129 + S_config_control = 631, // config_control + S_632_130 = 632, // $@130 + S_sub_config_control = 633, // sub_config_control + S_634_131 = 634, // $@131 + S_config_control_params = 635, // config_control_params + S_config_control_param = 636, // config_control_param + S_config_databases = 637, // config_databases + S_638_132 = 638, // $@132 + S_config_fetch_wait_time = 639, // config_fetch_wait_time + S_loggers = 640, // loggers + S_641_133 = 641, // $@133 + S_loggers_entries = 642, // loggers_entries + S_logger_entry = 643, // logger_entry + S_644_134 = 644, // $@134 + S_logger_params = 645, // logger_params + S_logger_param = 646, // logger_param + S_debuglevel = 647, // debuglevel + S_severity = 648, // severity + S_649_135 = 649, // $@135 + S_output_options_list = 650, // output_options_list + S_651_136 = 651, // $@136 + S_output_options_list_content = 652, // output_options_list_content + S_output_entry = 653, // output_entry + S_654_137 = 654, // $@137 + S_output_params_list = 655, // output_params_list + S_output_params = 656, // output_params + S_output = 657, // output + S_658_138 = 658, // $@138 + S_flush = 659, // flush + S_maxsize = 660, // maxsize + S_maxver = 661, // maxver + S_pattern = 662, // pattern + S_663_139 = 663, // $@139 + S_compatibility = 664, // compatibility + S_665_140 = 665, // $@140 + S_compatibility_params = 666, // compatibility_params + S_compatibility_param = 667, // compatibility_param + S_lenient_option_parsing = 668 // lenient_option_parsing }; }; @@ -4610,6 +4613,21 @@ switch (yykind) #if 201103L <= YY_CPLUSPLUS static symbol_type + make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (location_type l) + { + return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, std::move (l)); + } +#else + static + symbol_type + make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (const location_type& l) + { + return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type make_IP_RESERVATIONS_UNIQUE (location_type l) { return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l)); @@ -5402,8 +5420,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 1344, ///< Last index in yytable_. - yynnts_ = 449, ///< Number of nonterminal symbols. + yylast_ = 1348, ///< Last index in yytable_. + yynnts_ = 450, ///< Number of nonterminal symbols. yyfinal_ = 30 ///< Termination state number. }; @@ -5470,10 +5488,10 @@ switch (yykind) 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217 + 215, 216, 217, 218 }; // Last valid token kind. - const int code_max = 472; + const int code_max = 473; if (t <= 0) return symbol_kind::S_YYEOF; @@ -5644,7 +5662,7 @@ switch (yykind) #line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 5648 "dhcp6_parser.h" +#line 5666 "dhcp6_parser.h" diff --git a/src/bin/dhcp6/location.hh b/src/bin/dhcp6/location.hh index 4fb140a70e..960e56ac86 100644 --- a/src/bin/dhcp6/location.hh +++ b/src/bin/dhcp6/location.hh @@ -1,3 +1,4 @@ +// Generated 202202042039 // A Bison parser, made by GNU Bison 3.8.2. // Locations for Bison parsers in C++ |