1 #line 1 "netconf_lexer.cc"
3 #line 3 "netconf_lexer.cc"
5 #define YY_INT_ALIGNED short int
12 #define yy_create_buffer netconf__create_buffer
13 #define yy_delete_buffer netconf__delete_buffer
14 #define yy_scan_buffer netconf__scan_buffer
15 #define yy_scan_string netconf__scan_string
16 #define yy_scan_bytes netconf__scan_bytes
17 #define yy_init_buffer netconf__init_buffer
18 #define yy_flush_buffer netconf__flush_buffer
19 #define yy_load_buffer_state netconf__load_buffer_state
20 #define yy_switch_to_buffer netconf__switch_to_buffer
21 #define yypush_buffer_state netconf_push_buffer_state
22 #define yypop_buffer_state netconf_pop_buffer_state
23 #define yyensure_buffer_stack netconf_ensure_buffer_stack
24 #define yy_flex_debug netconf__flex_debug
25 #define yyin netconf_in
26 #define yyleng netconf_leng
27 #define yylex netconf_lex
28 #define yylineno netconf_lineno
29 #define yyout netconf_out
30 #define yyrestart netconf_restart
31 #define yytext netconf_text
32 #define yywrap netconf_wrap
33 #define yyalloc netconf_alloc
34 #define yyrealloc netconf_realloc
35 #define yyfree netconf_free
42 #define YY_FLEX_MAJOR_VERSION 2
43 #define YY_FLEX_MINOR_VERSION 6
44 #define YY_FLEX_SUBMINOR_VERSION 4
45 #if YY_FLEX_SUBMINOR_VERSION > 0
53 #ifdef yy_create_buffer
54 #define netconf__create_buffer_ALREADY_DEFINED
56 #define yy_create_buffer netconf__create_buffer
59 #ifdef yy_delete_buffer
60 #define netconf__delete_buffer_ALREADY_DEFINED
62 #define yy_delete_buffer netconf__delete_buffer
66 #define netconf__scan_buffer_ALREADY_DEFINED
68 #define yy_scan_buffer netconf__scan_buffer
72 #define netconf__scan_string_ALREADY_DEFINED
74 #define yy_scan_string netconf__scan_string
78 #define netconf__scan_bytes_ALREADY_DEFINED
80 #define yy_scan_bytes netconf__scan_bytes
84 #define netconf__init_buffer_ALREADY_DEFINED
86 #define yy_init_buffer netconf__init_buffer
89 #ifdef yy_flush_buffer
90 #define netconf__flush_buffer_ALREADY_DEFINED
92 #define yy_flush_buffer netconf__flush_buffer
95 #ifdef yy_load_buffer_state
96 #define netconf__load_buffer_state_ALREADY_DEFINED
98 #define yy_load_buffer_state netconf__load_buffer_state
101 #ifdef yy_switch_to_buffer
102 #define netconf__switch_to_buffer_ALREADY_DEFINED
104 #define yy_switch_to_buffer netconf__switch_to_buffer
107 #ifdef yypush_buffer_state
108 #define netconf_push_buffer_state_ALREADY_DEFINED
110 #define yypush_buffer_state netconf_push_buffer_state
113 #ifdef yypop_buffer_state
114 #define netconf_pop_buffer_state_ALREADY_DEFINED
116 #define yypop_buffer_state netconf_pop_buffer_state
119 #ifdef yyensure_buffer_stack
120 #define netconf_ensure_buffer_stack_ALREADY_DEFINED
122 #define yyensure_buffer_stack netconf_ensure_buffer_stack
126 #define netconf_lex_ALREADY_DEFINED
128 #define yylex netconf_lex
132 #define netconf_restart_ALREADY_DEFINED
134 #define yyrestart netconf_restart
138 #define netconf_lex_init_ALREADY_DEFINED
140 #define yylex_init netconf_lex_init
143 #ifdef yylex_init_extra
144 #define netconf_lex_init_extra_ALREADY_DEFINED
146 #define yylex_init_extra netconf_lex_init_extra
150 #define netconf_lex_destroy_ALREADY_DEFINED
152 #define yylex_destroy netconf_lex_destroy
156 #define netconf_get_debug_ALREADY_DEFINED
158 #define yyget_debug netconf_get_debug
162 #define netconf_set_debug_ALREADY_DEFINED
164 #define yyset_debug netconf_set_debug
168 #define netconf_get_extra_ALREADY_DEFINED
170 #define yyget_extra netconf_get_extra
174 #define netconf_set_extra_ALREADY_DEFINED
176 #define yyset_extra netconf_set_extra
180 #define netconf_get_in_ALREADY_DEFINED
182 #define yyget_in netconf_get_in
186 #define netconf_set_in_ALREADY_DEFINED
188 #define yyset_in netconf_set_in
192 #define netconf_get_out_ALREADY_DEFINED
194 #define yyget_out netconf_get_out
198 #define netconf_set_out_ALREADY_DEFINED
200 #define yyset_out netconf_set_out
204 #define netconf_get_leng_ALREADY_DEFINED
206 #define yyget_leng netconf_get_leng
210 #define netconf_get_text_ALREADY_DEFINED
212 #define yyget_text netconf_get_text
216 #define netconf_get_lineno_ALREADY_DEFINED
218 #define yyget_lineno netconf_get_lineno
222 #define netconf_set_lineno_ALREADY_DEFINED
224 #define yyset_lineno netconf_set_lineno
228 #define netconf_wrap_ALREADY_DEFINED
230 #define yywrap netconf_wrap
236 #define netconf_alloc_ALREADY_DEFINED
238 #define yyalloc netconf_alloc
242 #define netconf_realloc_ALREADY_DEFINED
244 #define yyrealloc netconf_realloc
248 #define netconf_free_ALREADY_DEFINED
250 #define yyfree netconf_free
256 #define netconf_text_ALREADY_DEFINED
258 #define yytext netconf_text
262 #define netconf_leng_ALREADY_DEFINED
264 #define yyleng netconf_leng
268 #define netconf_in_ALREADY_DEFINED
270 #define yyin netconf_in
274 #define netconf_out_ALREADY_DEFINED
276 #define yyout netconf_out
280 #define netconf__flex_debug_ALREADY_DEFINED
282 #define yy_flex_debug netconf__flex_debug
286 #define netconf_lineno_ALREADY_DEFINED
288 #define yylineno netconf_lineno
315 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
320 #ifndef __STDC_LIMIT_MACROS
321 #define __STDC_LIMIT_MACROS 1
324 #include <inttypes.h>
341 #define INT8_MIN (-128)
344 #define INT16_MIN (-32767-1)
347 #define INT32_MIN (-2147483647-1)
350 #define INT8_MAX (127)
353 #define INT16_MAX (32767)
356 #define INT32_MAX (2147483647)
359 #define UINT8_MAX (255U)
362 #define UINT16_MAX (65535U)
365 #define UINT32_MAX (4294967295U)
369 #define SIZE_MAX (~(size_t)0)
383 #define yyconst const
385 #if defined(__GNUC__) && __GNUC__ >= 3
386 #define yynoreturn __attribute__((__noreturn__))
400 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
414 #define BEGIN (yy_start) = 1 + 2 *
419 #define YY_START (((yy_start) - 1) / 2)
420 #define YYSTATE YY_START
422 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
424 #define YY_NEW_FILE yyrestart( yyin )
425 #define YY_END_OF_BUFFER_CHAR 0
434 #define YY_BUF_SIZE 32768
436 #define YY_BUF_SIZE 16384
442 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
444 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
445 #define YY_TYPEDEF_YY_BUFFER_STATE
449 #ifndef YY_TYPEDEF_YY_SIZE_T
450 #define YY_TYPEDEF_YY_SIZE_T
464 #define EOB_ACT_CONTINUE_SCAN 0
465 #define EOB_ACT_END_OF_FILE 1
466 #define EOB_ACT_LAST_MATCH 2
468 #define YY_LESS_LINENO(n)
469 #define YY_LINENO_REWIND_TO(ptr)
476 int yyless_macro_arg = (n); \
477 YY_LESS_LINENO(yyless_macro_arg);\
478 *yy_cp = (yy_hold_char); \
479 YY_RESTORE_YY_MORE_OFFSET \
480 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
481 YY_DO_BEFORE_ACTION; \
484 #define unput(c) yyunput( c, (yytext_ptr) )
486 #ifndef YY_STRUCT_YY_BUFFER_STATE
487 #define YY_STRUCT_YY_BUFFER_STATE
539 #define YY_BUFFER_NEW 0
540 #define YY_BUFFER_NORMAL 1
551 #define YY_BUFFER_EOF_PENDING 2
561 static size_t yy_buffer_stack_top = 0;
562 static size_t yy_buffer_stack_max = 0;
563 static YY_BUFFER_STATE * yy_buffer_stack = NULL;
575 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
576 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
581 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
588 static char yy_hold_char;
589 static int yy_n_chars;
593 static char *yy_c_buf_p = NULL;
594 static int yy_init = 0;
595 static int yy_start = 0;
600 static int yy_did_buffer_switch_on_eof;
616 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
620 YY_BUFFER_STATE
yy_scan_bytes (
const char *bytes,
int len );
628 #define yy_new_buffer yy_create_buffer
629 #define yy_set_interactive(is_interactive) \
631 if ( ! YY_CURRENT_BUFFER ){ \
632 yyensure_buffer_stack (); \
633 YY_CURRENT_BUFFER_LVALUE = \
634 yy_create_buffer( yyin, YY_BUF_SIZE ); \
636 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
638 #define yy_set_bol(at_bol) \
640 if ( ! YY_CURRENT_BUFFER ){\
641 yyensure_buffer_stack (); \
642 YY_CURRENT_BUFFER_LVALUE = \
643 yy_create_buffer( yyin, YY_BUF_SIZE ); \
645 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
647 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
652 #define netconf_wrap() (1)
653 #define YY_SKIP_YYWRAP
669 #define yytext_ptr yytext
677 static int yy_get_next_buffer (
void );
678 static void yynoreturn yy_fatal_error (
const char* msg );
685 #define YY_DO_BEFORE_ACTION \
686 (yytext_ptr) = yy_bp; \
688 yyleng = (int) (yy_cp - yy_bp); \
689 (yy_hold_char) = *yy_cp; \
692 (yy_c_buf_p) = yy_cp;
694 #define YY_NUM_RULES 63
695 #define YY_END_OF_BUFFER 64
705 56, 56, 0, 0, 0, 0, 0, 0, 0, 0,
706 64, 62, 10, 11, 62, 1, 56, 53, 56, 56,
707 62, 55, 54, 62, 62, 62, 62, 62, 49, 50,
708 62, 62, 62, 51, 52, 5, 5, 5, 62, 62,
709 62, 10, 11, 0, 0, 44, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 1, 56, 56, 0, 55, 56, 3, 2, 6,
712 0, 56, 0, 0, 0, 0, 0, 0, 4, 0,
713 0, 9, 0, 45, 0, 0, 0, 47, 0, 0,
714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
718 8, 0, 0, 46, 48, 0, 0, 22, 0, 0,
719 21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 61, 59, 0, 58, 57, 0, 0,
722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
724 0, 0, 0, 0, 0, 0, 60, 57, 0, 0,
725 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
727 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
728 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,
729 0, 0, 0, 19, 20, 38, 0, 0, 0, 0,
730 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
731 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
732 0, 0, 0, 40, 37, 0, 0, 0, 0, 0,
733 27, 0, 0, 0, 12, 0, 14, 0, 0, 0,
734 32, 34, 0, 39, 0, 0, 41, 0, 0, 0,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 43, 0, 0, 0, 0, 0, 0, 0, 0,
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
739 0, 0, 0, 42, 0, 0, 0, 33, 0, 0,
740 30, 0, 0, 0, 15, 0, 0, 0, 0, 29,
741 28, 0, 0, 0, 0, 0, 0, 0, 0, 13,
742 0, 0, 0, 0, 0, 0, 0, 24, 0, 0,
743 36, 0, 0, 31, 18, 0, 0, 0, 17, 16,
747 static const YY_CHAR yy_ec[256] =
749 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
750 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
752 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
753 5, 8, 9, 10, 11, 12, 13, 14, 14, 15,
754 14, 16, 14, 17, 14, 14, 14, 18, 5, 19,
755 5, 20, 21, 5, 22, 23, 23, 23, 24, 25,
756 5, 5, 5, 5, 5, 26, 5, 27, 5, 5,
757 5, 28, 29, 30, 31, 5, 5, 5, 5, 5,
758 32, 33, 34, 5, 35, 5, 36, 37, 38, 39,
760 40, 41, 42, 43, 44, 5, 45, 46, 47, 48,
761 49, 50, 5, 51, 52, 53, 54, 55, 5, 56,
762 57, 58, 59, 5, 60, 5, 5, 5, 5, 5,
763 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
764 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
765 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
766 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
767 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
768 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
769 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
771 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
772 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
773 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
774 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
775 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
779 static const YY_CHAR yy_meta[61] =
781 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
782 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
783 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
784 1, 1, 4, 1, 1, 1, 4, 1, 1, 1,
785 4, 1, 1, 1, 1, 1, 1, 4, 1, 1,
786 4, 1, 4, 4, 1, 1, 1, 1, 1, 1
791 0, 0, 59, 62, 65, 0, 63, 67, 47, 64,
792 286, 2435, 84, 259, 125, 0, 105, 2435, 120, 125,
793 85, 169, 2435, 238, 139, 65, 69, 82, 2435, 2435,
794 80, 84, 118, 2435, 2435, 2435, 92, 205, 168, 0,
795 193, 110, 205, 97, 186, 2435, 193, 184, 201, 209,
796 221, 238, 245, 264, 254, 271, 279, 290, 299, 308,
797 314, 0, 314, 347, 358, 364, 368, 2435, 0, 2435,
798 214, 320, 121, 152, 128, 174, 217, 160, 2435, 168,
799 199, 2435, 137, 2435, 0, 388, 195, 394, 436, 400,
800 410, 422, 429, 462, 477, 483, 490, 499, 505, 511,
802 518, 524, 544, 553, 559, 566, 578, 587, 594, 601,
803 616, 622, 0, 223, 223, 255, 224, 242, 259, 130,
804 2435, 634, 155, 2435, 2435, 659, 656, 2435, 645, 684,
805 2435, 700, 709, 717, 723, 729, 737, 743, 771, 780,
806 788, 794, 800, 808, 814, 823, 836, 851, 858, 869,
807 876, 884, 282, 2435, 2435, 300, 2435, 2435, 103, 891,
808 927, 902, 913, 928, 953, 968, 974, 986, 996, 1003,
809 1009, 1019, 1025, 1031, 1042, 1053, 1064, 1075, 1081, 1090,
810 1097, 1103, 1109, 1123, 1132, 1143, 2435, 2435, 112, 1152,
811 1187, 1160, 1172, 1166, 1185, 1231, 1237, 1243, 1249, 2435,
813 1255, 1265, 1271, 1277, 1288, 1294, 2435, 1311, 1317, 1323,
814 1335, 1345, 1352, 1359, 2435, 1369, 1380, 64, 1387, 1393,
815 1416, 1428, 1435, 2435, 2435, 2435, 1444, 1450, 1456, 1464,
816 1478, 1490, 2435, 1498, 1511, 1518, 1524, 1534, 1540, 1546,
817 1552, 1559, 2435, 1569, 1580, 1592, 1603, 1614, 1620, 1626,
818 1632, 1638, 1649, 2435, 2435, 1655, 1672, 1678, 1684, 1690,
819 2435, 1696, 1707, 1713, 2435, 1724, 2435, 1733, 1746, 1761,
820 2435, 2435, 1767, 2435, 1774, 1781, 2435, 1787, 1800, 1807,
821 1815, 1825, 1836, 1843, 1849, 1871, 1877, 1884, 1891, 1897,
822 1905, 2435, 1912, 1931, 1938, 1945, 1952, 1960, 1966, 1974,
824 1985, 1994, 2002, 2008, 2014, 2022, 2030, 2036, 2042, 2048,
825 2055, 2070, 2076, 2435, 2083, 2089, 2099, 2435, 2105, 2112,
826 2435, 2122, 2134, 2140, 2435, 2148, 2156, 2168, 2176, 2435,
827 2435, 2189, 2196, 2204, 2210, 2217, 2225, 2232, 2238, 2435,
828 2245, 2258, 2266, 2279, 2287, 2294, 2300, 2435, 2308, 2320,
829 2435, 2336, 2342, 2435, 2435, 2348, 2354, 2360, 2435, 2435,
830 2435, 2400, 2404, 2408, 2412, 2416, 2420, 2424, 2426, 2430
835 361, 1, 362, 362, 1, 5, 5, 5, 5, 5,
836 361, 361, 361, 361, 363, 364, 361, 361, 361, 361,
837 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
838 361, 361, 361, 361, 361, 361, 361, 361, 361, 365,
839 361, 361, 361, 366, 363, 361, 363, 367, 363, 363,
840 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
841 363, 364, 361, 361, 361, 361, 361, 361, 368, 361,
842 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
843 365, 361, 366, 361, 369, 363, 370, 363, 367, 363,
844 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
846 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
847 363, 363, 368, 361, 361, 361, 361, 361, 361, 361,
848 361, 363, 370, 361, 361, 89, 363, 361, 363, 363,
849 361, 363, 363, 363, 363, 363, 363, 363, 363, 363,
850 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
851 363, 363, 361, 361, 361, 361, 361, 361, 361, 363,
852 89, 363, 363, 363, 363, 363, 363, 363, 363, 363,
853 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
854 363, 363, 363, 363, 363, 363, 361, 361, 361, 363,
855 89, 363, 363, 363, 363, 363, 363, 363, 363, 361,
857 363, 363, 363, 363, 363, 363, 361, 363, 363, 363,
858 363, 363, 363, 363, 361, 363, 363, 361, 363, 363,
859 363, 363, 363, 361, 361, 361, 363, 363, 363, 363,
860 363, 363, 361, 363, 363, 363, 363, 363, 363, 363,
861 363, 363, 361, 363, 363, 363, 363, 363, 363, 363,
862 363, 363, 363, 361, 361, 363, 363, 363, 363, 363,
863 361, 363, 363, 363, 361, 363, 361, 363, 363, 363,
864 361, 361, 363, 361, 363, 363, 361, 363, 363, 363,
865 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
866 363, 361, 363, 363, 363, 363, 363, 363, 363, 363,
868 363, 363, 363, 363, 363, 363, 363, 363, 363, 363,
869 363, 363, 363, 361, 363, 363, 363, 361, 363, 363,
870 361, 363, 363, 363, 361, 363, 363, 363, 363, 361,
871 361, 363, 363, 363, 363, 363, 363, 363, 363, 361,
872 363, 363, 363, 363, 363, 363, 363, 361, 363, 363,
873 361, 363, 363, 361, 361, 363, 363, 363, 361, 361,
874 0, 361, 361, 361, 361, 361, 361, 361, 361, 361
879 12, 13, 14, 13, 12, 15, 16, 12, 17, 18,
880 19, 20, 21, 22, 22, 22, 22, 23, 24, 12,
881 12, 12, 12, 25, 26, 12, 27, 12, 12, 28,
882 12, 29, 12, 30, 12, 12, 12, 12, 12, 25,
883 31, 12, 12, 12, 12, 12, 12, 32, 12, 12,
884 12, 12, 33, 12, 12, 12, 12, 12, 34, 35,
885 37, 14, 37, 37, 14, 37, 38, 41, 40, 38,
886 12, 12, 40, 12, 12, 12, 12, 12, 12, 12,
887 12, 12, 12, 12, 41, 42, 73, 42, 12, 12,
888 12, 12, 68, 42, 12, 42, 12, 69, 12, 74,
890 73, 73, 84, 243, 12, 12, 12, 12, 39, 75,
891 12, 42, 12, 42, 74, 76, 63, 12, 64, 64,
892 64, 64, 74, 12, 12, 44, 44, 44, 65, 85,
893 46, 63, 75, 66, 66, 66, 66, 77, 67, 67,
894 67, 67, 84, 65, 65, 75, 114, 71, 65, 71,
895 218, 47, 72, 72, 72, 72, 189, 48, 116, 65,
896 124, 49, 50, 51, 65, 52, 114, 53, 78, 85,
897 54, 55, 56, 57, 58, 159, 59, 115, 60, 61,
898 63, 116, 66, 66, 66, 66, 44, 44, 44, 88,
899 116, 46, 65, 44, 44, 44, 45, 115, 46, 114,
901 124, 44, 44, 44, 121, 120, 46, 43, 65, 44,
902 44, 44, 82, 119, 46, 80, 45, 79, 48, 117,
903 45, 44, 44, 44, 45, 48, 46, 72, 72, 72,
904 72, 45, 86, 48, 45, 93, 45, 89, 44, 44,
905 44, 48, 115, 46, 91, 44, 44, 44, 154, 90,
906 46, 153, 153, 48, 44, 44, 44, 92, 70, 46,
907 94, 43, 118, 95, 44, 44, 44, 154, 154, 46,
908 48, 44, 44, 44, 153, 156, 46, 48, 155, 44,
909 44, 44, 155, 96, 46, 361, 48, 157, 361, 101,
910 44, 44, 44, 97, 155, 46, 48, 98, 158, 44,
912 44, 44, 102, 48, 46, 187, 103, 99, 44, 44,
913 44, 48, 100, 46, 44, 44, 44, 361, 361, 46,
914 361, 187, 48, 187, 361, 105, 361, 67, 67, 67,
915 67, 48, 104, 72, 72, 72, 72, 65, 106, 188,
916 48, 361, 361, 361, 361, 361, 48, 107, 361, 112,
917 361, 108, 109, 65, 361, 110, 361, 361, 63, 111,
918 64, 64, 64, 64, 361, 361, 71, 361, 71, 361,
919 65, 72, 72, 72, 72, 63, 361, 66, 66, 66,
920 66, 67, 67, 67, 67, 361, 65, 65, 44, 44,
921 44, 65, 361, 46, 44, 44, 44, 361, 361, 46,
923 44, 44, 44, 65, 361, 46, 361, 65, 361, 361,
924 44, 44, 44, 361, 361, 128, 361, 361, 361, 361,
925 48, 361, 44, 44, 44, 361, 48, 46, 361, 44,
926 44, 44, 48, 361, 131, 361, 361, 361, 361, 361,
927 122, 125, 48, 361, 361, 361, 361, 361, 127, 126,
928 126, 126, 126, 361, 48, 361, 361, 126, 126, 126,
929 126, 48, 44, 44, 44, 361, 361, 46, 129, 130,
930 361, 126, 126, 126, 126, 126, 126, 44, 44, 44,
931 361, 361, 46, 44, 44, 44, 361, 361, 46, 361,
932 44, 44, 44, 361, 48, 46, 361, 361, 132, 44,
934 44, 44, 361, 361, 46, 44, 44, 44, 361, 48,
935 46, 44, 44, 44, 133, 48, 46, 361, 44, 44,
936 44, 361, 48, 46, 44, 44, 44, 361, 361, 46,
937 361, 48, 361, 361, 361, 361, 134, 48, 135, 361,
938 361, 137, 361, 48, 44, 44, 44, 361, 361, 46,
939 48, 136, 138, 44, 44, 44, 48, 361, 46, 44,
940 44, 44, 141, 361, 46, 139, 44, 44, 44, 361,
941 361, 46, 361, 140, 361, 361, 48, 361, 44, 44,
942 44, 361, 361, 46, 361, 48, 361, 44, 44, 44,
943 142, 48, 46, 361, 44, 44, 44, 361, 48, 46,
945 361, 44, 44, 44, 361, 143, 46, 361, 361, 144,
946 48, 145, 361, 361, 361, 147, 44, 44, 44, 48,
947 146, 46, 44, 44, 44, 148, 48, 46, 361, 361,
948 149, 361, 361, 48, 44, 44, 44, 361, 361, 46,
949 361, 361, 361, 361, 150, 44, 44, 44, 48, 361,
950 46, 361, 361, 361, 48, 151, 44, 44, 44, 361,
951 361, 46, 361, 361, 361, 361, 48, 152, 361, 361,
952 361, 160, 161, 161, 161, 161, 361, 48, 361, 361,
953 161, 161, 161, 161, 44, 44, 44, 361, 48, 46,
954 361, 163, 361, 361, 161, 161, 161, 161, 161, 161,
956 44, 44, 44, 361, 361, 46, 361, 361, 162, 44,
957 44, 44, 361, 361, 46, 361, 48, 44, 44, 44,
958 361, 361, 46, 44, 44, 44, 361, 361, 46, 44,
959 44, 44, 48, 361, 46, 361, 164, 44, 44, 44,
960 361, 48, 46, 44, 44, 44, 361, 361, 46, 48,
961 361, 361, 361, 165, 361, 48, 361, 361, 166, 361,
962 361, 48, 361, 361, 361, 361, 361, 168, 167, 48,
963 361, 44, 44, 44, 361, 48, 46, 361, 169, 361,
964 44, 44, 44, 361, 171, 46, 361, 170, 44, 44,
965 44, 361, 361, 46, 44, 44, 44, 361, 361, 46,
967 44, 44, 44, 48, 361, 46, 172, 361, 44, 44,
968 44, 361, 48, 46, 44, 44, 44, 361, 361, 46,
969 48, 361, 361, 44, 44, 44, 48, 175, 46, 361,
970 361, 173, 48, 176, 174, 361, 44, 44, 44, 361,
971 48, 46, 361, 178, 361, 361, 48, 361, 361, 177,
972 361, 44, 44, 44, 361, 48, 46, 361, 44, 44,
973 44, 361, 180, 46, 361, 361, 179, 361, 48, 44,
974 44, 44, 361, 361, 46, 361, 44, 44, 44, 361,
975 181, 46, 361, 48, 44, 44, 44, 361, 361, 46,
976 48, 44, 44, 44, 361, 361, 46, 361, 361, 182,
978 361, 48, 44, 44, 44, 361, 361, 46, 48, 183,
979 361, 361, 192, 44, 44, 44, 48, 361, 46, 361,
980 361, 361, 361, 48, 184, 361, 185, 186, 44, 44,
981 44, 361, 361, 46, 48, 361, 361, 361, 361, 190,
982 191, 191, 191, 191, 361, 48, 361, 361, 191, 191,
983 191, 191, 193, 44, 44, 44, 361, 361, 46, 361,
984 48, 361, 191, 191, 191, 191, 191, 191, 44, 44,
985 44, 361, 361, 46, 44, 44, 44, 361, 194, 46,
986 361, 361, 361, 196, 197, 48, 44, 44, 44, 361,
987 361, 46, 361, 361, 195, 361, 44, 44, 44, 361,
989 48, 200, 361, 44, 44, 44, 48, 361, 46, 44,
990 44, 44, 361, 361, 46, 361, 198, 361, 48, 44,
991 44, 44, 361, 361, 46, 44, 44, 44, 48, 361,
992 46, 44, 44, 44, 361, 48, 46, 199, 201, 361,
993 361, 48, 44, 44, 44, 361, 361, 46, 202, 361,
994 361, 48, 361, 44, 44, 44, 361, 48, 207, 361,
995 203, 361, 361, 48, 44, 44, 44, 361, 204, 46,
996 205, 361, 361, 361, 48, 44, 44, 44, 361, 361,
997 46, 44, 44, 44, 361, 48, 46, 206, 361, 361,
998 44, 44, 44, 361, 361, 46, 48, 44, 44, 44,
1000 361, 361, 46, 44, 44, 44, 361, 48, 46, 44,
1001 44, 44, 361, 48, 46, 361, 361, 208, 361, 361,
1002 210, 209, 48, 44, 44, 44, 361, 361, 215, 48,
1003 361, 361, 44, 44, 44, 48, 212, 46, 361, 361,
1004 211, 48, 216, 44, 44, 44, 214, 361, 46, 361,
1005 361, 361, 44, 44, 44, 48, 213, 46, 361, 361,
1006 44, 44, 44, 361, 48, 46, 44, 44, 44, 361,
1007 361, 46, 44, 44, 44, 48, 361, 46, 361, 361,
1008 361, 217, 361, 361, 48, 44, 44, 44, 361, 361,
1009 46, 361, 48, 361, 361, 361, 361, 361, 48, 219,
1011 45, 45, 45, 45, 48, 361, 361, 361, 45, 45,
1012 45, 45, 361, 220, 222, 361, 361, 48, 361, 221,
1013 361, 361, 45, 45, 45, 45, 45, 45, 361, 361,
1014 223, 44, 44, 44, 361, 361, 224, 44, 44, 44,
1015 361, 361, 225, 44, 44, 44, 361, 361, 226, 44,
1016 44, 44, 361, 361, 46, 44, 44, 44, 361, 227,
1017 46, 361, 361, 48, 361, 44, 44, 44, 361, 48,
1018 46, 44, 44, 44, 361, 48, 46, 44, 44, 44,
1019 361, 48, 46, 361, 361, 361, 361, 48, 44, 44,
1020 44, 361, 361, 46, 44, 44, 44, 48, 361, 233,
1022 361, 361, 361, 48, 361, 228, 361, 361, 361, 48,
1023 230, 44, 44, 44, 361, 229, 46, 44, 44, 44,
1024 48, 361, 46, 44, 44, 44, 48, 361, 46, 361,
1025 361, 361, 361, 361, 231, 44, 44, 44, 232, 361,
1026 46, 361, 361, 48, 361, 44, 44, 44, 361, 48,
1027 46, 361, 44, 44, 44, 48, 235, 46, 361, 44,
1028 44, 44, 361, 234, 46, 361, 361, 48, 361, 44,
1029 44, 44, 361, 236, 46, 361, 361, 48, 237, 361,
1030 44, 44, 44, 361, 48, 46, 361, 44, 44, 44,
1031 361, 48, 46, 44, 44, 44, 361, 238, 46, 361,
1033 361, 48, 361, 361, 239, 361, 241, 361, 361, 240,
1034 361, 361, 48, 361, 361, 242, 44, 44, 44, 48,
1035 361, 46, 361, 361, 361, 48, 361, 244, 44, 44,
1036 44, 361, 361, 46, 361, 44, 44, 44, 361, 361,
1037 46, 361, 245, 361, 44, 44, 44, 361, 48, 46,
1038 44, 44, 44, 361, 361, 46, 44, 44, 44, 361,
1039 48, 46, 361, 361, 44, 44, 44, 48, 246, 46,
1040 361, 361, 361, 247, 248, 361, 48, 361, 44, 44,
1041 44, 361, 48, 46, 361, 361, 361, 361, 48, 249,
1042 44, 44, 44, 361, 361, 254, 48, 361, 44, 44,
1044 44, 361, 252, 255, 361, 361, 250, 251, 361, 361,
1045 48, 44, 44, 44, 361, 361, 46, 253, 44, 44,
1046 44, 361, 48, 46, 44, 44, 44, 361, 361, 46,
1047 48, 361, 256, 361, 44, 44, 44, 361, 361, 46,
1048 44, 44, 44, 48, 260, 261, 44, 44, 44, 361,
1049 48, 46, 44, 44, 44, 361, 48, 46, 361, 44,
1050 44, 44, 361, 257, 46, 258, 48, 361, 361, 44,
1051 44, 44, 48, 361, 265, 361, 259, 361, 48, 361,
1052 44, 44, 44, 361, 48, 46, 361, 361, 361, 262,
1053 361, 48, 44, 44, 44, 361, 361, 267, 361, 361,
1055 263, 48, 361, 44, 44, 44, 361, 361, 46, 361,
1056 361, 264, 48, 268, 44, 44, 44, 361, 266, 46,
1057 44, 44, 44, 361, 48, 46, 44, 44, 44, 361,
1058 361, 271, 44, 44, 44, 48, 361, 272, 44, 44,
1059 44, 361, 361, 46, 361, 361, 48, 361, 273, 44,
1060 44, 44, 48, 361, 274, 44, 44, 44, 48, 361,
1061 46, 361, 361, 270, 48, 361, 361, 361, 269, 361,
1062 48, 361, 44, 44, 44, 361, 361, 46, 44, 44,
1063 44, 48, 361, 277, 44, 44, 44, 48, 361, 46,
1064 44, 44, 44, 361, 361, 46, 44, 44, 44, 361,
1066 361, 46, 361, 275, 48, 361, 361, 44, 44, 44,
1067 48, 276, 46, 44, 44, 44, 48, 361, 46, 361,
1068 361, 361, 48, 361, 44, 44, 44, 361, 48, 46,
1069 361, 361, 282, 44, 44, 44, 361, 279, 46, 48,
1070 278, 361, 280, 281, 361, 48, 44, 44, 44, 361,
1071 361, 46, 284, 361, 283, 361, 48, 361, 361, 285,
1072 361, 44, 44, 44, 361, 48, 46, 44, 44, 44,
1073 361, 361, 46, 361, 44, 44, 44, 361, 48, 46,
1074 361, 44, 44, 44, 286, 287, 46, 44, 44, 44,
1075 361, 361, 292, 48, 361, 361, 361, 288, 361, 48,
1077 44, 44, 44, 361, 361, 46, 48, 44, 44, 44,
1078 361, 361, 46, 48, 361, 44, 44, 44, 289, 48,
1079 46, 361, 361, 290, 361, 44, 44, 44, 361, 361,
1080 46, 291, 48, 361, 361, 293, 44, 44, 44, 48,
1081 361, 46, 361, 44, 44, 44, 361, 48, 46, 44,
1082 44, 44, 361, 298, 46, 361, 361, 48, 361, 361,
1083 361, 361, 361, 294, 296, 295, 361, 361, 48, 361,
1084 361, 44, 44, 44, 361, 48, 46, 44, 44, 44,
1085 361, 48, 46, 361, 44, 44, 44, 361, 297, 46,
1086 361, 44, 44, 44, 361, 361, 46, 44, 44, 44,
1088 361, 299, 46, 48, 361, 44, 44, 44, 361, 48,
1089 46, 361, 44, 44, 44, 361, 48, 46, 361, 300,
1090 361, 361, 301, 48, 361, 361, 361, 361, 361, 48,
1091 303, 44, 44, 44, 302, 361, 46, 48, 44, 44,
1092 44, 361, 361, 46, 48, 44, 44, 44, 361, 304,
1093 46, 361, 44, 44, 44, 309, 305, 46, 306, 361,
1094 44, 44, 44, 48, 361, 46, 44, 44, 44, 361,
1095 48, 46, 361, 361, 44, 44, 44, 48, 361, 46,
1096 307, 361, 361, 308, 48, 44, 44, 44, 361, 361,
1097 314, 310, 48, 361, 44, 44, 44, 311, 48, 46,
1099 361, 361, 44, 44, 44, 312, 48, 46, 44, 44,
1100 44, 313, 361, 46, 44, 44, 44, 48, 361, 318,
1101 361, 361, 44, 44, 44, 361, 48, 46, 361, 315,
1102 44, 44, 44, 361, 48, 46, 44, 44, 44, 361,
1103 48, 321, 44, 44, 44, 361, 48, 46, 44, 44,
1104 44, 317, 316, 46, 48, 44, 44, 44, 361, 361,
1105 46, 319, 48, 361, 361, 361, 361, 361, 48, 320,
1106 44, 44, 44, 361, 48, 325, 44, 44, 44, 322,
1107 48, 46, 361, 44, 44, 44, 361, 48, 46, 44,
1108 44, 44, 361, 361, 46, 361, 361, 324, 361, 44,
1110 44, 44, 48, 323, 46, 44, 44, 44, 48, 361,
1111 330, 361, 44, 44, 44, 48, 361, 331, 361, 361,
1112 326, 48, 44, 44, 44, 361, 361, 46, 361, 361,
1113 361, 48, 361, 327, 44, 44, 44, 48, 361, 46,
1114 44, 44, 44, 328, 48, 46, 361, 329, 44, 44,
1115 44, 361, 361, 46, 48, 361, 44, 44, 44, 361,
1116 361, 46, 361, 361, 332, 361, 48, 361, 44, 44,
1117 44, 361, 48, 46, 361, 334, 44, 44, 44, 361,
1118 48, 46, 361, 361, 361, 361, 333, 335, 48, 44,
1119 44, 44, 361, 361, 46, 361, 44, 44, 44, 336,
1121 48, 340, 361, 361, 44, 44, 44, 337, 48, 46,
1122 44, 44, 44, 361, 361, 46, 361, 44, 44, 44,
1123 361, 48, 46, 338, 339, 44, 44, 44, 48, 361,
1124 46, 361, 44, 44, 44, 361, 48, 46, 44, 44,
1125 44, 361, 48, 46, 361, 44, 44, 44, 361, 48,
1126 46, 341, 361, 361, 361, 361, 343, 48, 44, 44,
1127 44, 361, 342, 348, 48, 361, 44, 44, 44, 361,
1128 48, 46, 361, 361, 361, 344, 361, 48, 361, 44,
1129 44, 44, 361, 345, 46, 346, 347, 44, 44, 44,
1130 48, 361, 351, 361, 44, 44, 44, 361, 48, 46,
1132 44, 44, 44, 361, 361, 46, 361, 361, 44, 44,
1133 44, 48, 361, 354, 361, 361, 361, 349, 361, 48,
1134 44, 44, 44, 361, 361, 355, 48, 361, 361, 361,
1135 350, 361, 48, 361, 361, 352, 44, 44, 44, 353,
1136 48, 46, 44, 44, 44, 361, 361, 46, 44, 44,
1137 44, 361, 48, 46, 44, 44, 44, 361, 361, 359,
1138 44, 44, 44, 361, 361, 360, 361, 361, 48, 361,
1139 361, 361, 361, 361, 48, 356, 361, 361, 361, 361,
1140 48, 361, 361, 361, 361, 361, 48, 361, 361, 361,
1141 361, 361, 48, 357, 361, 361, 361, 361, 361, 358,
1143 36, 36, 36, 36, 45, 45, 45, 45, 62, 361,
1144 62, 62, 81, 361, 361, 81, 83, 83, 83, 83,
1145 87, 87, 87, 87, 113, 361, 113, 113, 83, 83,
1146 123, 123, 123, 123, 11, 361, 361, 361, 361, 361,
1147 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
1148 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
1149 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
1150 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
1151 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
1152 361, 361, 361, 361, 361
1158 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1159 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1160 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1161 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1162 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1163 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1164 3, 3, 3, 4, 4, 4, 3, 9, 7, 4,
1165 5, 5, 8, 5, 5, 5, 5, 5, 5, 5,
1166 5, 5, 5, 5, 10, 13, 26, 13, 5, 5,
1167 9, 5, 21, 37, 5, 37, 5, 21, 5, 27,
1169 26, 31, 44, 218, 5, 5, 7, 10, 5, 28,
1170 8, 42, 5, 42, 32, 31, 17, 5, 17, 17,
1171 17, 17, 27, 5, 5, 15, 15, 15, 17, 44,
1172 15, 19, 28, 19, 19, 19, 19, 32, 20, 20,
1173 20, 20, 83, 19, 17, 33, 73, 25, 20, 25,
1174 189, 15, 25, 25, 25, 25, 159, 15, 75, 19,
1175 123, 15, 15, 15, 20, 15, 73, 15, 33, 83,
1176 15, 15, 15, 15, 15, 120, 15, 74, 15, 15,
1177 22, 75, 22, 22, 22, 22, 45, 45, 45, 48,
1178 78, 45, 22, 47, 47, 47, 48, 74, 47, 76,
1180 87, 49, 49, 49, 81, 80, 49, 43, 22, 50,
1181 50, 50, 41, 78, 50, 39, 48, 38, 45, 76,
1182 48, 51, 51, 51, 48, 47, 51, 71, 71, 71,
1183 71, 48, 47, 49, 48, 51, 48, 48, 52, 52,
1184 52, 50, 77, 52, 50, 53, 53, 53, 115, 49,
1185 53, 114, 117, 51, 55, 55, 55, 50, 24, 55,
1186 51, 14, 77, 51, 54, 54, 54, 118, 115, 54,
1187 52, 56, 56, 56, 114, 117, 56, 53, 116, 57,
1188 57, 57, 119, 52, 57, 11, 55, 118, 0, 55,
1189 58, 58, 58, 53, 116, 58, 54, 53, 119, 59,
1191 59, 59, 55, 56, 59, 153, 56, 54, 60, 60,
1192 60, 57, 54, 60, 61, 61, 61, 0, 0, 61,
1193 0, 153, 58, 156, 0, 58, 0, 63, 63, 63,
1194 63, 59, 57, 72, 72, 72, 72, 63, 59, 156,
1195 60, 0, 0, 0, 0, 0, 61, 59, 0, 61,
1196 0, 59, 59, 63, 0, 60, 0, 0, 64, 60,
1197 64, 64, 64, 64, 0, 0, 65, 0, 65, 0,
1198 64, 65, 65, 65, 65, 66, 0, 66, 66, 66,
1199 66, 67, 67, 67, 67, 0, 64, 66, 86, 86,
1200 86, 67, 0, 86, 88, 88, 88, 0, 0, 88,
1202 90, 90, 90, 66, 0, 90, 0, 67, 0, 0,
1203 91, 91, 91, 0, 0, 91, 0, 0, 0, 0,
1204 86, 0, 92, 92, 92, 0, 88, 92, 0, 93,
1205 93, 93, 90, 0, 93, 0, 0, 0, 0, 0,
1206 86, 89, 91, 0, 0, 0, 0, 0, 90, 89,
1207 89, 89, 89, 0, 92, 0, 0, 89, 89, 89,
1208 89, 93, 94, 94, 94, 0, 0, 94, 92, 92,
1209 0, 89, 89, 89, 89, 89, 89, 95, 95, 95,
1210 0, 0, 95, 96, 96, 96, 0, 0, 96, 0,
1211 97, 97, 97, 0, 94, 97, 0, 0, 94, 98,
1213 98, 98, 0, 0, 98, 99, 99, 99, 0, 95,
1214 99, 100, 100, 100, 95, 96, 100, 0, 101, 101,
1215 101, 0, 97, 101, 102, 102, 102, 0, 0, 102,
1216 0, 98, 0, 0, 0, 0, 96, 99, 97, 0,
1217 0, 99, 0, 100, 103, 103, 103, 0, 0, 103,
1218 101, 98, 100, 104, 104, 104, 102, 0, 104, 105,
1219 105, 105, 102, 0, 105, 101, 106, 106, 106, 0,
1220 0, 106, 0, 101, 0, 0, 103, 0, 107, 107,
1221 107, 0, 0, 107, 0, 104, 0, 108, 108, 108,
1222 103, 105, 108, 0, 109, 109, 109, 0, 106, 109,
1224 0, 110, 110, 110, 0, 104, 110, 0, 0, 105,
1225 107, 105, 0, 0, 0, 107, 111, 111, 111, 108,
1226 106, 111, 112, 112, 112, 108, 109, 112, 0, 0,
1227 109, 0, 0, 110, 122, 122, 122, 0, 0, 122,
1228 0, 0, 0, 0, 110, 129, 129, 129, 111, 0,
1229 129, 0, 0, 0, 112, 111, 127, 127, 127, 0,
1230 0, 127, 0, 0, 0, 0, 122, 112, 0, 0,
1231 0, 122, 126, 126, 126, 126, 0, 129, 0, 0,
1232 126, 126, 126, 126, 130, 130, 130, 0, 127, 130,
1233 0, 129, 0, 0, 126, 126, 126, 126, 126, 126,
1235 132, 132, 132, 0, 0, 132, 0, 0, 127, 133,
1236 133, 133, 0, 0, 133, 0, 130, 134, 134, 134,
1237 0, 0, 134, 135, 135, 135, 0, 0, 135, 136,
1238 136, 136, 132, 0, 136, 0, 130, 137, 137, 137,
1239 0, 133, 137, 138, 138, 138, 0, 0, 138, 134,
1240 0, 0, 0, 132, 0, 135, 0, 0, 133, 0,
1241 0, 136, 0, 0, 0, 0, 0, 135, 134, 137,
1242 0, 139, 139, 139, 0, 138, 139, 0, 136, 0,
1243 140, 140, 140, 0, 138, 140, 0, 137, 141, 141,
1244 141, 0, 0, 141, 142, 142, 142, 0, 0, 142,
1246 143, 143, 143, 139, 0, 143, 139, 0, 144, 144,
1247 144, 0, 140, 144, 145, 145, 145, 0, 0, 145,
1248 141, 0, 0, 146, 146, 146, 142, 141, 146, 0,
1249 0, 140, 143, 142, 140, 0, 147, 147, 147, 0,
1250 144, 147, 0, 144, 0, 0, 145, 0, 0, 143,
1251 0, 148, 148, 148, 0, 146, 148, 0, 149, 149,
1252 149, 0, 146, 149, 0, 0, 145, 0, 147, 150,
1253 150, 150, 0, 0, 150, 0, 151, 151, 151, 0,
1254 147, 151, 0, 148, 152, 152, 152, 0, 0, 152,
1255 149, 160, 160, 160, 0, 0, 160, 0, 0, 148,
1257 0, 150, 162, 162, 162, 0, 0, 162, 151, 149,
1258 0, 0, 162, 163, 163, 163, 152, 0, 163, 0,
1259 0, 0, 0, 160, 150, 0, 151, 152, 164, 164,
1260 164, 0, 0, 164, 162, 0, 0, 0, 0, 160,
1261 161, 161, 161, 161, 0, 163, 0, 0, 161, 161,
1262 161, 161, 163, 165, 165, 165, 0, 0, 165, 0,
1263 164, 0, 161, 161, 161, 161, 161, 161, 166, 166,
1264 166, 0, 0, 166, 167, 167, 167, 0, 164, 167,
1265 0, 0, 0, 166, 166, 165, 168, 168, 168, 0,
1266 0, 168, 0, 0, 165, 0, 169, 169, 169, 0,
1268 166, 169, 0, 170, 170, 170, 167, 0, 170, 171,
1269 171, 171, 0, 0, 171, 0, 167, 0, 168, 172,
1270 172, 172, 0, 0, 172, 173, 173, 173, 169, 0,
1271 173, 174, 174, 174, 0, 170, 174, 168, 170, 0,
1272 0, 171, 175, 175, 175, 0, 0, 175, 171, 0,
1273 0, 172, 0, 176, 176, 176, 0, 173, 176, 0,
1274 172, 0, 0, 174, 177, 177, 177, 0, 173, 177,
1275 174, 0, 0, 0, 175, 178, 178, 178, 0, 0,
1276 178, 179, 179, 179, 0, 176, 179, 175, 0, 0,
1277 180, 180, 180, 0, 0, 180, 177, 181, 181, 181,
1279 0, 0, 181, 182, 182, 182, 0, 178, 182, 183,
1280 183, 183, 0, 179, 183, 0, 0, 177, 0, 0,
1281 179, 178, 180, 184, 184, 184, 0, 0, 184, 181,
1282 0, 0, 185, 185, 185, 182, 181, 185, 0, 0,
1283 180, 183, 185, 186, 186, 186, 183, 0, 186, 0,
1284 0, 0, 190, 190, 190, 184, 182, 190, 0, 0,
1285 192, 192, 192, 0, 185, 192, 194, 194, 194, 0,
1286 0, 194, 193, 193, 193, 186, 0, 193, 0, 0,
1287 0, 186, 0, 0, 190, 195, 195, 195, 0, 0,
1288 195, 0, 192, 0, 0, 0, 0, 0, 194, 190,
1290 191, 191, 191, 191, 193, 0, 0, 0, 191, 191,
1291 191, 191, 0, 192, 194, 0, 0, 195, 0, 193,
1292 0, 0, 191, 191, 191, 191, 191, 191, 0, 0,
1293 195, 196, 196, 196, 0, 0, 196, 197, 197, 197,
1294 0, 0, 197, 198, 198, 198, 0, 0, 198, 199,
1295 199, 199, 0, 0, 199, 201, 201, 201, 0, 199,
1296 201, 0, 0, 196, 0, 202, 202, 202, 0, 197,
1297 202, 203, 203, 203, 0, 198, 203, 204, 204, 204,
1298 0, 199, 204, 0, 0, 0, 0, 201, 205, 205,
1299 205, 0, 0, 205, 206, 206, 206, 202, 0, 206,
1301 0, 0, 0, 203, 0, 201, 0, 0, 0, 204,
1302 203, 208, 208, 208, 0, 202, 208, 209, 209, 209,
1303 205, 0, 209, 210, 210, 210, 206, 0, 210, 0,
1304 0, 0, 0, 0, 204, 211, 211, 211, 205, 0,
1305 211, 0, 0, 208, 0, 212, 212, 212, 0, 209,
1306 212, 0, 213, 213, 213, 210, 209, 213, 0, 214,
1307 214, 214, 0, 208, 214, 0, 0, 211, 0, 216,
1308 216, 216, 0, 210, 216, 0, 0, 212, 211, 0,
1309 217, 217, 217, 0, 213, 217, 0, 219, 219, 219,
1310 0, 214, 219, 220, 220, 220, 0, 212, 220, 0,
1312 0, 216, 0, 0, 213, 0, 216, 0, 0, 214,
1313 0, 0, 217, 0, 0, 217, 221, 221, 221, 219,
1314 0, 221, 0, 0, 0, 220, 0, 219, 222, 222,
1315 222, 0, 0, 222, 0, 223, 223, 223, 0, 0,
1316 223, 0, 220, 0, 227, 227, 227, 0, 221, 227,
1317 228, 228, 228, 0, 0, 228, 229, 229, 229, 0,
1318 222, 229, 0, 0, 230, 230, 230, 223, 221, 230,
1319 0, 0, 0, 222, 223, 0, 227, 0, 231, 231,
1320 231, 0, 228, 231, 0, 0, 0, 0, 229, 227,
1321 232, 232, 232, 0, 0, 232, 230, 0, 234, 234,
1323 234, 0, 230, 234, 0, 0, 228, 229, 0, 0,
1324 231, 235, 235, 235, 0, 0, 235, 231, 236, 236,
1325 236, 0, 232, 236, 237, 237, 237, 0, 0, 237,
1326 234, 0, 234, 0, 238, 238, 238, 0, 0, 238,
1327 239, 239, 239, 235, 238, 239, 240, 240, 240, 0,
1328 236, 240, 241, 241, 241, 0, 237, 241, 0, 242,
1329 242, 242, 0, 235, 242, 236, 238, 0, 0, 244,
1330 244, 244, 239, 0, 244, 0, 237, 0, 240, 0,
1331 245, 245, 245, 0, 241, 245, 0, 0, 0, 240,
1332 0, 242, 246, 246, 246, 0, 0, 246, 0, 0,
1334 241, 244, 0, 247, 247, 247, 0, 0, 247, 0,
1335 0, 242, 245, 247, 248, 248, 248, 0, 245, 248,
1336 249, 249, 249, 0, 246, 249, 250, 250, 250, 0,
1337 0, 250, 251, 251, 251, 247, 0, 251, 252, 252,
1338 252, 0, 0, 252, 0, 0, 248, 0, 252, 253,
1339 253, 253, 249, 0, 253, 256, 256, 256, 250, 0,
1340 256, 0, 0, 249, 251, 0, 0, 0, 248, 0,
1341 252, 0, 257, 257, 257, 0, 0, 257, 258, 258,
1342 258, 253, 0, 258, 259, 259, 259, 256, 0, 259,
1343 260, 260, 260, 0, 0, 260, 262, 262, 262, 0,
1345 0, 262, 0, 256, 257, 0, 0, 263, 263, 263,
1346 258, 257, 263, 264, 264, 264, 259, 0, 264, 0,
1347 0, 0, 260, 0, 266, 266, 266, 0, 262, 266,
1348 0, 0, 262, 268, 268, 268, 0, 260, 268, 263,
1349 259, 0, 260, 260, 0, 264, 269, 269, 269, 0,
1350 0, 269, 264, 0, 263, 0, 266, 0, 0, 266,
1351 0, 270, 270, 270, 0, 268, 270, 273, 273, 273,
1352 0, 0, 273, 0, 275, 275, 275, 0, 269, 275,
1353 0, 276, 276, 276, 268, 269, 276, 278, 278, 278,
1354 0, 0, 278, 270, 0, 0, 0, 270, 0, 273,
1356 279, 279, 279, 0, 0, 279, 275, 280, 280, 280,
1357 0, 0, 280, 276, 0, 281, 281, 281, 273, 278,
1358 281, 0, 0, 275, 0, 282, 282, 282, 0, 0,
1359 282, 276, 279, 0, 0, 279, 283, 283, 283, 280,
1360 0, 283, 0, 284, 284, 284, 0, 281, 284, 285,
1361 285, 285, 0, 284, 285, 0, 0, 282, 0, 0,
1362 0, 0, 0, 280, 282, 281, 0, 0, 283, 0,
1363 0, 286, 286, 286, 0, 284, 286, 287, 287, 287,
1364 0, 285, 287, 0, 288, 288, 288, 0, 283, 288,
1365 0, 289, 289, 289, 0, 0, 289, 290, 290, 290,
1367 0, 285, 290, 286, 0, 291, 291, 291, 0, 287,
1368 291, 0, 293, 293, 293, 0, 288, 293, 0, 286,
1369 0, 0, 287, 289, 0, 0, 0, 0, 0, 290,
1370 289, 294, 294, 294, 288, 0, 294, 291, 295, 295,
1371 295, 0, 0, 295, 293, 296, 296, 296, 0, 290,
1372 296, 0, 297, 297, 297, 296, 291, 297, 293, 0,
1373 298, 298, 298, 294, 0, 298, 299, 299, 299, 0,
1374 295, 299, 0, 0, 300, 300, 300, 296, 0, 300,
1375 294, 0, 0, 295, 297, 301, 301, 301, 0, 0,
1376 301, 297, 298, 0, 302, 302, 302, 298, 299, 302,
1378 0, 0, 303, 303, 303, 299, 300, 303, 304, 304,
1379 304, 300, 0, 304, 305, 305, 305, 301, 0, 305,
1380 0, 0, 306, 306, 306, 0, 302, 306, 0, 302,
1381 307, 307, 307, 0, 303, 307, 308, 308, 308, 0,
1382 304, 308, 309, 309, 309, 0, 305, 309, 310, 310,
1383 310, 304, 303, 310, 306, 311, 311, 311, 0, 0,
1384 311, 306, 307, 0, 0, 0, 0, 0, 308, 307,
1385 312, 312, 312, 0, 309, 312, 313, 313, 313, 309,
1386 310, 313, 0, 315, 315, 315, 0, 311, 315, 316,
1387 316, 316, 0, 0, 316, 0, 0, 311, 0, 317,
1389 317, 317, 312, 310, 317, 319, 319, 319, 313, 0,
1390 319, 0, 320, 320, 320, 315, 0, 320, 0, 0,
1391 313, 316, 322, 322, 322, 0, 0, 322, 0, 0,
1392 0, 317, 0, 315, 323, 323, 323, 319, 0, 323,
1393 324, 324, 324, 316, 320, 324, 0, 317, 326, 326,
1394 326, 0, 0, 326, 322, 0, 327, 327, 327, 0,
1395 0, 327, 0, 0, 322, 0, 323, 0, 328, 328,
1396 328, 0, 324, 328, 0, 324, 329, 329, 329, 0,
1397 326, 329, 0, 0, 0, 0, 323, 326, 327, 332,
1398 332, 332, 0, 0, 332, 0, 333, 333, 333, 327,
1400 328, 333, 0, 0, 334, 334, 334, 328, 329, 334,
1401 335, 335, 335, 0, 0, 335, 0, 336, 336, 336,
1402 0, 332, 336, 329, 332, 337, 337, 337, 333, 0,
1403 337, 0, 338, 338, 338, 0, 334, 338, 339, 339,
1404 339, 0, 335, 339, 0, 341, 341, 341, 0, 336,
1405 341, 334, 0, 0, 0, 0, 336, 337, 342, 342,
1406 342, 0, 335, 342, 338, 0, 343, 343, 343, 0,
1407 339, 343, 0, 0, 0, 337, 0, 341, 0, 344,
1408 344, 344, 0, 338, 344, 339, 341, 345, 345, 345,
1409 342, 0, 345, 0, 346, 346, 346, 0, 343, 346,
1411 347, 347, 347, 0, 0, 347, 0, 0, 349, 349,
1412 349, 344, 0, 349, 0, 0, 0, 343, 0, 345,
1413 350, 350, 350, 0, 0, 350, 346, 0, 0, 0,
1414 344, 0, 347, 0, 0, 346, 352, 352, 352, 347,
1415 349, 352, 353, 353, 353, 0, 0, 353, 356, 356,
1416 356, 0, 350, 356, 357, 357, 357, 0, 0, 357,
1417 358, 358, 358, 0, 0, 358, 0, 0, 352, 0,
1418 0, 0, 0, 0, 353, 352, 0, 0, 0, 0,
1419 356, 0, 0, 0, 0, 0, 357, 0, 0, 0,
1420 0, 0, 358, 353, 0, 0, 0, 0, 0, 356,
1422 362, 362, 362, 362, 363, 363, 363, 363, 364, 0,
1423 364, 364, 365, 0, 0, 365, 366, 366, 366, 366,
1424 367, 367, 367, 367, 368, 0, 368, 368, 369, 369,
1425 370, 370, 370, 370, 361, 361, 361, 361, 361, 361,
1426 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
1427 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
1428 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
1429 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
1430 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
1431 361, 361, 361, 361, 361
1436 static char *yy_last_accepting_cpos;
1443 134, 136, 138, 143, 144, 149, 150, 151, 163, 166,
1444 171, 178, 187, 199, 211, 221, 231, 241, 250, 259,
1445 268, 277, 286, 295, 304, 313, 322, 331, 340, 349,
1446 358, 367, 376, 385, 394, 403, 412, 421, 430, 439,
1447 448, 457, 466, 475, 576, 592, 641, 649, 664, 665,
1448 666, 667, 668, 669, 671, 689, 702, 707, 711, 713,
1455 #define REJECT reject_used_but_not_detected
1456 #define yymore() yymore_used_but_not_detected
1457 #define YY_MORE_ADJ 0
1458 #define YY_RESTORE_YY_MORE_OFFSET
1460 #line 1 "netconf_lexer.ll"
1466 #line 8 "netconf_lexer.ll"
1469 #ifndef __clang_analyzer__
1478 #include <boost/lexical_cast.hpp>
1493 bool start_token_flag =
false;
1496 unsigned int comment_start_line = 0;
1498 using namespace isc;
1504 #define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg)
1505 #line 1505 "netconf_lexer.cc"
1520 #define YY_NO_INPUT 1
1526 #line 97 "netconf_lexer.ll"
1530 #define YY_USER_ACTION driver.loc_.columns(yyleng);
1531 #line 1531 "netconf_lexer.cc"
1532 #line 1532 "netconf_lexer.cc"
1537 #define DIR_INCLUDE 3
1540 #ifndef YY_NO_UNISTD_H
1552 #ifndef YY_EXTRA_TYPE
1553 #define YY_EXTRA_TYPE void *
1560 static int yy_init_globals (
void );
1603 #ifndef YY_SKIP_YYWRAP
1605 extern "C" int yywrap (
void );
1607 extern int yywrap (
void );
1620 static void yy_flex_strncpy (
char *,
const char *,
int );
1623 #ifdef YY_NEED_STRLEN
1624 static int yy_flex_strlen (
const char * );
1631 static int yyinput (
void );
1633 static int input (
void );
1645 #ifndef YY_READ_BUF_SIZE
1648 #define YY_READ_BUF_SIZE 16384
1650 #define YY_READ_BUF_SIZE 8192
1660 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1670 #define YY_INPUT(buf,result,max_size) \
1672 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1676 for ( n = 0; n < max_size && \
1677 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1678 buf[n] = (char) c; \
1680 buf[n++] = (char) c; \
1681 if ( c == EOF && ferror( yyin ) ) \
1682 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1688 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1690 if( errno != EINTR) \
1692 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1710 #define yyterminate() return YY_NULL
1714 #ifndef YY_START_STACK_INCR
1715 #define YY_START_STACK_INCR 25
1719 #ifndef YY_FATAL_ERROR
1721 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1742 #define YY_DECL_IS_OURS 1
1745 extern int yylex (
void);
1747 #define YY_DECL int yylex (void)
1756 #ifndef YY_USER_ACTION
1757 #define YY_USER_ACTION
1762 #define YY_BREAK break;
1766 #define YY_RULE_SETUP \
1814 #line 103 "netconf_lexer.ll"
1818 #line 107 "netconf_lexer.ll"
1832 if (start_token_flag) {
1833 start_token_flag =
false;
1834 switch (start_token_value) {
1835 case ParserContext::PARSER_JSON:
1837 return NetconfParser::make_START_JSON(driver.loc_);
1838 case ParserContext::PARSER_NETCONF:
1839 return NetconfParser::make_START_NETCONF(driver.loc_);
1840 case ParserContext::PARSER_SUB_NETCONF:
1841 return NetconfParser::make_START_SUB_NETCONF(driver.loc_);
1846 #line 1846 "netconf_lexer.cc"
1851 yy_cp = (yy_c_buf_p);
1854 *yy_cp = (yy_hold_char);
1862 yy_current_state = (yy_start);
1867 if ( yy_accept[yy_current_state] )
1869 (yy_last_accepting_state) = yy_current_state;
1870 (yy_last_accepting_cpos) = yy_cp;
1872 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1874 yy_current_state = (int) yy_def[yy_current_state];
1875 if ( yy_current_state >= 362 )
1876 yy_c = yy_meta[yy_c];
1878 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1881 while ( yy_current_state != 361 );
1882 yy_cp = (yy_last_accepting_cpos);
1883 yy_current_state = (yy_last_accepting_state);
1887 yy_act = yy_accept[yy_current_state];
1899 fprintf( stderr,
"--scanner backing up\n" );
1900 else if ( yy_act < 63 )
1901 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
1902 (
long)yy_rule_linenum[yy_act],
yytext );
1903 else if ( yy_act == 63 )
1904 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
1906 else if ( yy_act == 64 )
1907 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
1909 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
1917 *yy_cp = (yy_hold_char);
1918 yy_cp = (yy_last_accepting_cpos);
1919 yy_current_state = (yy_last_accepting_state);
1920 goto yy_find_action;
1924 #line 134 "netconf_lexer.ll"
1929 #line 136 "netconf_lexer.ll"
1934 #line 138 "netconf_lexer.ll"
1937 comment_start_line = driver.loc_.end.line;;
1942 #line 143 "netconf_lexer.ll"
1947 #line 144 "netconf_lexer.ll"
1951 #line 145 "netconf_lexer.ll"
1958 #line 149 "netconf_lexer.ll"
1963 #line 150 "netconf_lexer.ll"
1968 #line 151 "netconf_lexer.ll"
1973 std::string tmp(
yytext+1);
1974 tmp.resize(tmp.size() - 1);
1976 driver.includeFile(tmp);
1982 #line 160 "netconf_lexer.ll"
1989 #line 163 "netconf_lexer.ll"
1994 #line 166 "netconf_lexer.ll"
2003 #line 171 "netconf_lexer.ll"
2006 driver.loc_.lines(
yyleng);
2012 #line 178 "netconf_lexer.ll"
2014 switch(driver.ctx_) {
2015 case ParserContext::CONFIG:
2016 return NetconfParser::make_NETCONF(driver.loc_);
2018 return NetconfParser::make_STRING(
"Netconf", driver.loc_);
2024 #line 187 "netconf_lexer.ll"
2026 switch(driver.ctx_) {
2027 case ParserContext::NETCONF:
2029 case ParserContext::CONTROL_SOCKET:
2030 case ParserContext::LOGGERS:
2031 return NetconfParser::make_USER_CONTEXT(driver.loc_);
2033 return NetconfParser::make_STRING(
"user-context", driver.loc_);
2039 #line 199 "netconf_lexer.ll"
2041 switch(driver.ctx_) {
2042 case ParserContext::NETCONF:
2044 case ParserContext::CONTROL_SOCKET:
2045 case ParserContext::LOGGERS:
2046 return NetconfParser::make_COMMENT(driver.loc_);
2048 return NetconfParser::make_STRING(
"comment", driver.loc_);
2054 #line 211 "netconf_lexer.ll"
2056 switch(driver.ctx_) {
2057 case ParserContext::NETCONF:
2059 return NetconfParser::make_BOOT_UPDATE(driver.loc_);
2061 return NetconfParser::make_STRING(
"boot-update", driver.loc_);
2067 #line 221 "netconf_lexer.ll"
2069 switch(driver.ctx_) {
2070 case ParserContext::NETCONF:
2072 return NetconfParser::make_SUBSCRIBE_CHANGES(driver.loc_);
2074 return NetconfParser::make_STRING(
"subscribe-changes", driver.loc_);
2080 #line 231 "netconf_lexer.ll"
2082 switch(driver.ctx_) {
2083 case ParserContext::NETCONF:
2085 return NetconfParser::make_VALIDATE_CHANGES(driver.loc_);
2087 return NetconfParser::make_STRING(
"validate-changes", driver.loc_);
2093 #line 241 "netconf_lexer.ll"
2095 switch(driver.ctx_) {
2096 case ParserContext::NETCONF:
2097 return NetconfParser::make_MANAGED_SERVERS(driver.loc_);
2099 return NetconfParser::make_STRING(
"managed-servers", driver.loc_);
2105 #line 250 "netconf_lexer.ll"
2107 switch(driver.ctx_) {
2108 case ParserContext::MANAGED_SERVERS:
2109 return NetconfParser::make_DHCP4_SERVER(driver.loc_);
2111 return NetconfParser::make_STRING(
"dhcp4", driver.loc_);
2117 #line 259 "netconf_lexer.ll"
2119 switch(driver.ctx_) {
2120 case ParserContext::MANAGED_SERVERS:
2121 return NetconfParser::make_DHCP6_SERVER(driver.loc_);
2123 return NetconfParser::make_STRING(
"dhcp6", driver.loc_);
2129 #line 268 "netconf_lexer.ll"
2131 switch(driver.ctx_) {
2132 case ParserContext::MANAGED_SERVERS:
2133 return NetconfParser::make_D2_SERVER(driver.loc_);
2135 return NetconfParser::make_STRING(
"d2", driver.loc_);
2141 #line 277 "netconf_lexer.ll"
2143 switch(driver.ctx_) {
2144 case ParserContext::MANAGED_SERVERS:
2145 return NetconfParser::make_CA_SERVER(driver.loc_);
2147 return NetconfParser::make_STRING(
"ca", driver.loc_);
2153 #line 286 "netconf_lexer.ll"
2155 switch(driver.ctx_) {
2157 return NetconfParser::make_MODEL(driver.loc_);
2159 return NetconfParser::make_STRING(
"model", driver.loc_);
2165 #line 295 "netconf_lexer.ll"
2167 switch(driver.ctx_) {
2169 return NetconfParser::make_CONTROL_SOCKET(driver.loc_);
2171 return NetconfParser::make_STRING(
"control-socket", driver.loc_);
2177 #line 304 "netconf_lexer.ll"
2179 switch(driver.ctx_) {
2180 case ParserContext::SOCKET_TYPE:
2181 return NetconfParser::make_UNIX(driver.loc_);
2183 return NetconfParser::make_STRING(
"unix", driver.loc_);
2189 #line 313 "netconf_lexer.ll"
2191 switch(driver.ctx_) {
2192 case ParserContext::SOCKET_TYPE:
2193 return NetconfParser::make_HTTP(driver.loc_);
2195 return NetconfParser::make_STRING(
"http", driver.loc_);
2201 #line 322 "netconf_lexer.ll"
2203 switch(driver.ctx_) {
2204 case ParserContext::SOCKET_TYPE:
2205 return NetconfParser::make_STDOUT(driver.loc_);
2207 return NetconfParser::make_STRING(
"stdout", driver.loc_);
2213 #line 331 "netconf_lexer.ll"
2215 switch(driver.ctx_) {
2216 case ParserContext::CONTROL_SOCKET:
2217 return NetconfParser::make_SOCKET_TYPE(driver.loc_);
2219 return NetconfParser::make_STRING(
"socket-type", driver.loc_);
2225 #line 340 "netconf_lexer.ll"
2227 switch(driver.ctx_) {
2228 case ParserContext::CONTROL_SOCKET:
2229 return NetconfParser::make_SOCKET_NAME(driver.loc_);
2231 return NetconfParser::make_STRING(
"socket-name", driver.loc_);
2237 #line 349 "netconf_lexer.ll"
2239 switch(driver.ctx_) {
2240 case ParserContext::CONTROL_SOCKET:
2241 return NetconfParser::make_SOCKET_URL(driver.loc_);
2243 return NetconfParser::make_STRING(
"socket-url", driver.loc_);
2249 #line 358 "netconf_lexer.ll"
2251 switch(driver.ctx_) {
2252 case ParserContext::NETCONF:
2253 return NetconfParser::make_HOOKS_LIBRARIES(driver.loc_);
2255 return NetconfParser::make_STRING(
"hooks-libraries", driver.loc_);
2261 #line 367 "netconf_lexer.ll"
2263 switch(driver.ctx_) {
2264 case ParserContext::HOOKS_LIBRARIES:
2265 return NetconfParser::make_LIBRARY(driver.loc_);
2267 return NetconfParser::make_STRING(
"library", driver.loc_);
2273 #line 376 "netconf_lexer.ll"
2275 switch(driver.ctx_) {
2276 case ParserContext::HOOKS_LIBRARIES:
2277 return NetconfParser::make_PARAMETERS(driver.loc_);
2279 return NetconfParser::make_STRING(
"parameters", driver.loc_);
2285 #line 385 "netconf_lexer.ll"
2287 switch(driver.ctx_) {
2288 case ParserContext::NETCONF:
2289 return NetconfParser::make_LOGGERS(driver.loc_);
2291 return NetconfParser::make_STRING(
"loggers", driver.loc_);
2297 #line 394 "netconf_lexer.ll"
2299 switch(driver.ctx_) {
2300 case ParserContext::LOGGERS:
2301 return NetconfParser::make_NAME(driver.loc_);
2303 return NetconfParser::make_STRING(
"name", driver.loc_);
2309 #line 403 "netconf_lexer.ll"
2311 switch(driver.ctx_) {
2312 case ParserContext::LOGGERS:
2313 return NetconfParser::make_OUTPUT_OPTIONS(driver.loc_);
2315 return NetconfParser::make_STRING(
"output_options", driver.loc_);
2321 #line 412 "netconf_lexer.ll"
2323 switch(driver.ctx_) {
2324 case ParserContext::OUTPUT_OPTIONS:
2325 return NetconfParser::make_OUTPUT(driver.loc_);
2327 return NetconfParser::make_STRING(
"output", driver.loc_);
2333 #line 421 "netconf_lexer.ll"
2335 switch(driver.ctx_) {
2336 case ParserContext::OUTPUT_OPTIONS:
2337 return NetconfParser::make_FLUSH(driver.loc_);
2339 return NetconfParser::make_STRING(
"flush", driver.loc_);
2345 #line 430 "netconf_lexer.ll"
2347 switch(driver.ctx_) {
2348 case ParserContext::OUTPUT_OPTIONS:
2349 return NetconfParser::make_MAXSIZE(driver.loc_);
2351 return NetconfParser::make_STRING(
"maxsize", driver.loc_);
2357 #line 439 "netconf_lexer.ll"
2359 switch(driver.ctx_) {
2360 case ParserContext::OUTPUT_OPTIONS:
2361 return NetconfParser::make_MAXVER(driver.loc_);
2363 return NetconfParser::make_STRING(
"maxver", driver.loc_);
2369 #line 448 "netconf_lexer.ll"
2371 switch(driver.ctx_) {
2372 case ParserContext::OUTPUT_OPTIONS:
2373 return NetconfParser::make_PATTERN(driver.loc_);
2375 return NetconfParser::make_STRING(
"pattern", driver.loc_);
2381 #line 457 "netconf_lexer.ll"
2383 switch(driver.ctx_) {
2384 case ParserContext::LOGGERS:
2385 return NetconfParser::make_DEBUGLEVEL(driver.loc_);
2387 return NetconfParser::make_STRING(
"debuglevel", driver.loc_);
2393 #line 466 "netconf_lexer.ll"
2395 switch(driver.ctx_) {
2396 case ParserContext::LOGGERS:
2397 return NetconfParser::make_SEVERITY(driver.loc_);
2399 return NetconfParser::make_STRING(
"severity", driver.loc_);
2405 #line 475 "netconf_lexer.ll"
2410 std::string raw(
yytext+1);
2411 size_t len = raw.size() - 1;
2413 std::string decoded;
2414 decoded.reserve(len);
2415 for (
size_t pos = 0; pos < len; ++pos) {
2421 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
2427 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
2434 decoded.push_back(c);
2437 decoded.push_back(
'\b');
2440 decoded.push_back(
'\f');
2443 decoded.push_back(
'\n');
2446 decoded.push_back(
'\r');
2449 decoded.push_back(
'\t');
2454 if (pos + 4 > len) {
2456 driver.error(driver.loc_,
2457 "Overflow unicode escape in \"" + raw +
"\"");
2459 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
2460 driver.error(driver.loc_,
2461 "Unsupported unicode escape in \"" + raw +
"\"",
2466 if ((c >=
'0') && (c <=
'9')) {
2468 }
else if ((c >=
'A') && (c <=
'F')) {
2469 b = (c -
'A' + 10) << 4;
2470 }
else if ((c >=
'a') && (c <=
'f')) {
2471 b = (c -
'a' + 10) << 4;
2474 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2478 if ((c >=
'0') && (c <=
'9')) {
2480 }
else if ((c >=
'A') && (c <=
'F')) {
2482 }
else if ((c >=
'a') && (c <=
'f')) {
2486 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2488 decoded.push_back(static_cast<char>(b & 0xff));
2492 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
2496 if ((c >= 0) && (c < 0x20)) {
2498 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
2500 decoded.push_back(c);
2504 return NetconfParser::make_STRING(decoded, driver.loc_);
2510 #line 576 "netconf_lexer.ll"
2513 std::string raw(
yytext+1);
2514 size_t len = raw.size() - 1;
2516 for (; pos < len; ++pos) {
2518 if ((c >= 0) && (c < 0x20)) {
2522 driver.error(driver.loc_,
2523 "Invalid control in " + std::string(
yytext),
2530 #line 592 "netconf_lexer.ll"
2533 std::string raw(
yytext+1);
2534 size_t len = raw.size() - 1;
2537 for (; pos < len; ++pos) {
2556 if ((pos + 4 > len) ||
2557 !std::isxdigit(raw[pos + 1]) ||
2558 !std::isxdigit(raw[pos + 2]) ||
2559 !std::isxdigit(raw[pos + 3]) ||
2560 !std::isxdigit(raw[pos + 4])) {
2571 std::string trailer =
"";
2572 if (raw[len - 1] ==
'\\') {
2575 driver.error(driver.loc_,
2576 "Bad escape in " + std::string(
yytext) + trailer,
2582 #line 641 "netconf_lexer.ll"
2585 std::string raw(
yytext+1);
2586 driver.error(driver.loc_,
2587 "Overflow escape in " + std::string(
yytext),
2593 #line 649 "netconf_lexer.ll"
2596 std::string raw(
yytext+1);
2597 size_t pos = raw.size() - 1;
2598 for (; pos > 0; --pos) {
2604 driver.error(driver.loc_,
2605 "Overflow unicode escape in " + std::string(
yytext),
2611 #line 664 "netconf_lexer.ll"
2612 {
return NetconfParser::make_LSQUARE_BRACKET(driver.loc_); }
2616 #line 665 "netconf_lexer.ll"
2617 {
return NetconfParser::make_RSQUARE_BRACKET(driver.loc_); }
2621 #line 666 "netconf_lexer.ll"
2622 {
return NetconfParser::make_LCURLY_BRACKET(driver.loc_); }
2626 #line 667 "netconf_lexer.ll"
2627 {
return NetconfParser::make_RCURLY_BRACKET(driver.loc_); }
2631 #line 668 "netconf_lexer.ll"
2632 {
return NetconfParser::make_COMMA(driver.loc_); }
2636 #line 669 "netconf_lexer.ll"
2637 {
return NetconfParser::make_COLON(driver.loc_); }
2641 #line 671 "netconf_lexer.ll"
2645 int64_t integer = 0;
2651 integer = boost::lexical_cast<int64_t>(tmp);
2652 }
catch (
const boost::bad_lexical_cast &) {
2653 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
2657 return NetconfParser::make_INTEGER(integer, driver.loc_);
2662 #line 689 "netconf_lexer.ll"
2668 fp = boost::lexical_cast<
double>(tmp);
2669 }
catch (
const boost::bad_lexical_cast &) {
2670 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
2673 return NetconfParser::make_FLOAT(fp, driver.loc_);
2678 #line 702 "netconf_lexer.ll"
2681 return NetconfParser::make_BOOLEAN(tmp ==
"true", driver.loc_);
2686 #line 707 "netconf_lexer.ll"
2688 return NetconfParser::make_NULL_TYPE(driver.loc_);
2693 #line 711 "netconf_lexer.ll"
2694 driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
2698 #line 713 "netconf_lexer.ll"
2699 driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
2703 #line 715 "netconf_lexer.ll"
2704 driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
2708 #line 717 "netconf_lexer.ll"
2709 driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
2712 #line 719 "netconf_lexer.ll"
2714 if (driver.states_.empty()) {
2715 return NetconfParser::make_END(driver.loc_);
2717 driver.loc_ = driver.locs_.back();
2718 driver.locs_.pop_back();
2719 driver.file_ = driver.files_.back();
2720 driver.files_.pop_back();
2721 if (driver.sfile_) {
2722 fclose(driver.sfile_);
2725 if (!driver.sfiles_.empty()) {
2726 driver.sfile_ = driver.sfiles_.back();
2727 driver.sfiles_.pop_back();
2730 netconf__switch_to_buffer(driver.states_.back());
2731 driver.states_.pop_back();
2738 #line 742 "netconf_lexer.ll"
2741 #line 2741 "netconf_lexer.cc"
2746 int yy_amount_of_matched_text = (int) (yy_cp - (
yytext_ptr)) - 1;
2749 *yy_cp = (yy_hold_char);
2783 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
2785 yy_current_state = yy_get_previous_state( );
2796 yy_next_state = yy_try_NUL_trans( yy_current_state );
2800 if ( yy_next_state )
2803 yy_cp = ++(yy_c_buf_p);
2804 yy_current_state = yy_next_state;
2811 yy_cp = (yy_last_accepting_cpos);
2812 yy_current_state = (yy_last_accepting_state);
2813 goto yy_find_action;
2817 else switch ( yy_get_next_buffer( ) )
2821 (yy_did_buffer_switch_on_eof) = 0;
2842 if ( ! (yy_did_buffer_switch_on_eof) )
2852 yy_current_state = yy_get_previous_state( );
2854 yy_cp = (yy_c_buf_p);
2862 yy_current_state = yy_get_previous_state( );
2864 yy_cp = (yy_c_buf_p);
2866 goto yy_find_action;
2873 "fatal flex scanner internal error--no action found" );
2894 static int yy_get_next_buffer (
void)
2901 int number_to_move, i;
2906 "fatal flex scanner internal error--end of buffer missed" );
2930 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
2932 for ( i = 0; i < number_to_move; ++i )
2933 *(dest++) = *(source++);
2946 while ( num_to_read <= 0 )
2952 int yy_c_buf_p_offset =
2959 if ( new_size <= 0 )
2975 "fatal error - scanner input buffer overflow" );
2977 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
2989 (yy_n_chars), num_to_read );
2994 if ( (yy_n_chars) == 0 )
3015 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3019 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
3024 (yy_n_chars) += number_to_move;
3046 yy_current_state = (yy_start);
3052 if ( yy_accept[yy_current_state] )
3054 (yy_last_accepting_state) = yy_current_state;
3055 (yy_last_accepting_cpos) = yy_cp;
3057 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3059 yy_current_state = (int) yy_def[yy_current_state];
3060 if ( yy_current_state >= 362 )
3061 yy_c = yy_meta[yy_c];
3063 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3066 return yy_current_state;
3082 char *yy_cp = (yy_c_buf_p);
3085 if ( yy_accept[yy_current_state] )
3087 (yy_last_accepting_state) = yy_current_state;
3088 (yy_last_accepting_cpos) = yy_cp;
3090 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3092 yy_current_state = (int) yy_def[yy_current_state];
3093 if ( yy_current_state >= 362 )
3094 yy_c = yy_meta[yy_c];
3096 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3097 yy_is_jam = (yy_current_state == 361);
3099 return yy_is_jam ? 0 : yy_current_state;
3111 static int yyinput (
void)
3113 static int input (
void)
3122 *(yy_c_buf_p) = (yy_hold_char);
3132 *(yy_c_buf_p) =
'\0';
3136 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
3139 switch ( yy_get_next_buffer( ) )
3162 if ( ! (yy_did_buffer_switch_on_eof) )
3178 c = *(
unsigned char *) (yy_c_buf_p);
3179 *(yy_c_buf_p) =
'\0';
3180 (yy_hold_char) = *++(yy_c_buf_p);
3238 *(yy_c_buf_p) = (yy_hold_char);
3251 (yy_did_buffer_switch_on_eof) = 1;
3267 (yy_hold_char) = *(yy_c_buf_p);
3415 if (new_buffer == NULL)
3424 *(yy_c_buf_p) = (yy_hold_char);
3431 (yy_buffer_stack_top)++;
3436 (yy_did_buffer_switch_on_eof) = 1;
3456 if ((yy_buffer_stack_top) > 0)
3457 --(yy_buffer_stack_top);
3461 (yy_did_buffer_switch_on_eof) = 1;
3478 if (!(yy_buffer_stack)) {
3488 if ( ! (yy_buffer_stack) )
3489 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3491 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
3493 (yy_buffer_stack_max) = num_to_alloc;
3494 (yy_buffer_stack_top) = 0;
3498 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3503 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3508 if ( ! (yy_buffer_stack) )
3509 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3512 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
3513 (yy_buffer_stack_max) = num_to_alloc;
3592 for ( i = 0; i < _yybytes_len; ++i )
3593 buf[i] = yybytes[i];
3610 #ifndef YY_EXIT_FAILURE
3611 #define YY_EXIT_FAILURE 2
3615 static void yynoreturn yy_fatal_error (
const char* msg )
3617 fprintf( stderr,
"%s\n", msg );
3631 int yyless_macro_arg = (n); \
3632 YY_LESS_LINENO(yyless_macro_arg);\
3633 yytext[yyleng] = (yy_hold_char); \
3634 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3635 (yy_hold_char) = *(yy_c_buf_p); \
3636 *(yy_c_buf_p) = '\0'; \
3637 yyleng = yyless_macro_arg; \
3736 static int yy_init_globals (
void)
3742 (yy_buffer_stack) = NULL;
3743 (yy_buffer_stack_top) = 0;
3744 (yy_buffer_stack_max) = 0;
3745 (yy_c_buf_p) = NULL;
3778 yyfree((yy_buffer_stack) );
3779 (yy_buffer_stack) = NULL;
3796 static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
3800 for ( i = 0; i < n; ++i )
3805 #ifdef YY_NEED_STRLEN
3806 static int yy_flex_strlen (
const char * s )
3809 for ( n = 0; s[n]; ++n )
3818 return malloc(size);
3831 return realloc(ptr, size);
3836 free( (
char *) ptr );
3841 #define YYTABLES_NAME "yytables"
3846 #line 742 "netconf_lexer.ll"
3852 ParserContext::scanStringBegin(
const std::string& str,
ParserType parser_type)
3854 start_token_flag =
true;
3855 start_token_value = parser_type;
3859 loc_.initialize(&file_);
3861 YY_BUFFER_STATE buffer;
3862 buffer = netconf__scan_bytes(str.c_str(), str.size());
3864 fatal(
"cannot scan string");
3870 ParserContext::scanFileBegin(FILE * f,
3871 const std::string& filename,
3874 start_token_flag =
true;
3875 start_token_value = parser_type;
3879 loc_.initialize(&file_);
3881 YY_BUFFER_STATE buffer;
3884 buffer = netconf__create_buffer(f, 65536 );
3886 fatal(
"cannot scan file " + filename);
3888 netconf__switch_to_buffer(buffer);
3892 ParserContext::scanEnd() {
3896 static_cast<void>(netconf_lex_destroy());
3898 while (!sfiles_.empty()) {
3899 FILE* f = sfiles_.back();
3906 while (!states_.empty()) {
3907 netconf__delete_buffer(states_.back());
3913 ParserContext::includeFile(
const std::string& filename) {
3914 if (states_.size() > 10) {
3915 fatal(
"Too many nested include.");
3918 FILE* f = fopen(filename.c_str(),
"r");
3920 fatal(
"Can't open include file " + filename);
3923 sfiles_.push_back(sfile_);
3927 YY_BUFFER_STATE buffer;
3928 buffer = netconf__create_buffer(f, 65536 );
3930 fatal(
"Can't scan include file " + filename);
3932 netconf__switch_to_buffer(buffer);
3933 files_.push_back(file_);
3935 locs_.push_back(loc_);
3936 loc_.initialize(&file_);
3945 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
#define EOB_ACT_END_OF_FILE
#define EOB_ACT_CONTINUE_SCAN
unsigned char flex_uint8_t
int yy_bs_lineno
The line count.
#define yypush_buffer_state
#define YY_DO_BEFORE_ACTION
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
struct yy_buffer_state * YY_BUFFER_STATE
#define YY_FATAL_ERROR(msg)
#define YY_RESTORE_YY_MORE_OFFSET
int yy_bs_column
The column count.
unsigned short int flex_uint16_t
#define yy_load_buffer_state
#define YY_CURRENT_BUFFER
Evaluation error exception raised when trying to parse.
#define YY_BUFFER_EOF_PENDING
#define yypop_buffer_state
#define YY_STATE_EOF(state)
#define yyensure_buffer_stack
Defines the logger used by the top-level component of kea-dhcp-ddns.
#define EOB_ACT_LAST_MATCH
unsigned char flex_uint8_t
ParserType
Defines currently supported scopes.
#define YY_INPUT(buf, result, max_size)
#define YY_CURRENT_BUFFER_LVALUE
#define YY_END_OF_BUFFER_CHAR
#define yy_switch_to_buffer
unsigned int flex_uint32_t