1#line 1 "dhcp6_lexer.cc"
3#line 3 "dhcp6_lexer.cc"
5#define YY_INT_ALIGNED short int
12#define yy_create_buffer parser6__create_buffer
13#define yy_delete_buffer parser6__delete_buffer
14#define yy_scan_buffer parser6__scan_buffer
15#define yy_scan_string parser6__scan_string
16#define yy_scan_bytes parser6__scan_bytes
17#define yy_init_buffer parser6__init_buffer
18#define yy_flush_buffer parser6__flush_buffer
19#define yy_load_buffer_state parser6__load_buffer_state
20#define yy_switch_to_buffer parser6__switch_to_buffer
21#define yypush_buffer_state parser6_push_buffer_state
22#define yypop_buffer_state parser6_pop_buffer_state
23#define yyensure_buffer_stack parser6_ensure_buffer_stack
24#define yy_flex_debug parser6__flex_debug
25#define yyin parser6_in
26#define yyleng parser6_leng
27#define yylex parser6_lex
28#define yylineno parser6_lineno
29#define yyout parser6_out
30#define yyrestart parser6_restart
31#define yytext parser6_text
32#define yywrap parser6_wrap
33#define yyalloc parser6_alloc
34#define yyrealloc parser6_realloc
35#define yyfree parser6_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 parser6__create_buffer_ALREADY_DEFINED
56#define yy_create_buffer parser6__create_buffer
59#ifdef yy_delete_buffer
60#define parser6__delete_buffer_ALREADY_DEFINED
62#define yy_delete_buffer parser6__delete_buffer
66#define parser6__scan_buffer_ALREADY_DEFINED
68#define yy_scan_buffer parser6__scan_buffer
72#define parser6__scan_string_ALREADY_DEFINED
74#define yy_scan_string parser6__scan_string
78#define parser6__scan_bytes_ALREADY_DEFINED
80#define yy_scan_bytes parser6__scan_bytes
84#define parser6__init_buffer_ALREADY_DEFINED
86#define yy_init_buffer parser6__init_buffer
90#define parser6__flush_buffer_ALREADY_DEFINED
92#define yy_flush_buffer parser6__flush_buffer
95#ifdef yy_load_buffer_state
96#define parser6__load_buffer_state_ALREADY_DEFINED
98#define yy_load_buffer_state parser6__load_buffer_state
101#ifdef yy_switch_to_buffer
102#define parser6__switch_to_buffer_ALREADY_DEFINED
104#define yy_switch_to_buffer parser6__switch_to_buffer
107#ifdef yypush_buffer_state
108#define parser6_push_buffer_state_ALREADY_DEFINED
110#define yypush_buffer_state parser6_push_buffer_state
113#ifdef yypop_buffer_state
114#define parser6_pop_buffer_state_ALREADY_DEFINED
116#define yypop_buffer_state parser6_pop_buffer_state
119#ifdef yyensure_buffer_stack
120#define parser6_ensure_buffer_stack_ALREADY_DEFINED
122#define yyensure_buffer_stack parser6_ensure_buffer_stack
126#define parser6_lex_ALREADY_DEFINED
128#define yylex parser6_lex
132#define parser6_restart_ALREADY_DEFINED
134#define yyrestart parser6_restart
138#define parser6_lex_init_ALREADY_DEFINED
140#define yylex_init parser6_lex_init
143#ifdef yylex_init_extra
144#define parser6_lex_init_extra_ALREADY_DEFINED
146#define yylex_init_extra parser6_lex_init_extra
150#define parser6_lex_destroy_ALREADY_DEFINED
152#define yylex_destroy parser6_lex_destroy
156#define parser6_get_debug_ALREADY_DEFINED
158#define yyget_debug parser6_get_debug
162#define parser6_set_debug_ALREADY_DEFINED
164#define yyset_debug parser6_set_debug
168#define parser6_get_extra_ALREADY_DEFINED
170#define yyget_extra parser6_get_extra
174#define parser6_set_extra_ALREADY_DEFINED
176#define yyset_extra parser6_set_extra
180#define parser6_get_in_ALREADY_DEFINED
182#define yyget_in parser6_get_in
186#define parser6_set_in_ALREADY_DEFINED
188#define yyset_in parser6_set_in
192#define parser6_get_out_ALREADY_DEFINED
194#define yyget_out parser6_get_out
198#define parser6_set_out_ALREADY_DEFINED
200#define yyset_out parser6_set_out
204#define parser6_get_leng_ALREADY_DEFINED
206#define yyget_leng parser6_get_leng
210#define parser6_get_text_ALREADY_DEFINED
212#define yyget_text parser6_get_text
216#define parser6_get_lineno_ALREADY_DEFINED
218#define yyget_lineno parser6_get_lineno
222#define parser6_set_lineno_ALREADY_DEFINED
224#define yyset_lineno parser6_set_lineno
228#define parser6_wrap_ALREADY_DEFINED
230#define yywrap parser6_wrap
236#define parser6_alloc_ALREADY_DEFINED
238#define yyalloc parser6_alloc
242#define parser6_realloc_ALREADY_DEFINED
244#define yyrealloc parser6_realloc
248#define parser6_free_ALREADY_DEFINED
250#define yyfree parser6_free
256#define parser6_text_ALREADY_DEFINED
258#define yytext parser6_text
262#define parser6_leng_ALREADY_DEFINED
264#define yyleng parser6_leng
268#define parser6_in_ALREADY_DEFINED
270#define yyin parser6_in
274#define parser6_out_ALREADY_DEFINED
276#define yyout parser6_out
280#define parser6__flex_debug_ALREADY_DEFINED
282#define yy_flex_debug parser6__flex_debug
286#define parser6_lineno_ALREADY_DEFINED
288#define yylineno parser6_lineno
315#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
320#ifndef __STDC_LIMIT_MACROS
321#define __STDC_LIMIT_MACROS 1
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)
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
561static size_t yy_buffer_stack_top = 0;
562static size_t yy_buffer_stack_max = 0;
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)]
588static char yy_hold_char;
589static int yy_n_chars;
593static char *yy_c_buf_p = NULL;
594static int yy_init = 0;
595static int yy_start = 0;
600static int yy_did_buffer_switch_on_eof;
616#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
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 parser6_wrap() (1)
653#define YY_SKIP_YYWRAP
669#define yytext_ptr yytext
677static int yy_get_next_buffer (
void );
678static 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 220
695#define YY_END_OF_BUFFER 221
705 213, 213, 0, 0, 0, 0, 0, 0, 0, 0,
706 221, 219, 10, 11, 219, 1, 213, 210, 213, 213,
707 219, 212, 211, 219, 219, 219, 219, 219, 206, 207,
708 219, 219, 219, 208, 209, 5, 5, 5, 219, 219,
709 219, 10, 11, 0, 0, 201, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
712 0, 0, 0, 0, 0, 0, 0, 1, 213, 213,
713 0, 212, 213, 3, 2, 6, 0, 213, 0, 0,
714 0, 0, 0, 0, 4, 0, 0, 9, 0, 202,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 204, 0, 0, 0, 0, 0, 0,
718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 0, 0, 0, 0, 0, 0, 0,
725 8, 0, 0, 172, 0, 0, 173, 0, 0, 0,
727 0, 0, 0, 0, 203, 205, 0, 0, 0, 0,
728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
731 0, 119, 0, 0, 0, 0, 0, 0, 0, 0,
732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 218,
739 216, 0, 215, 214, 0, 0, 0, 0, 0, 171,
740 0, 28, 0, 27, 0, 0, 126, 0, 0, 0,
741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
742 55, 0, 0, 0, 0, 0, 0, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
746 0, 0, 0, 0, 0, 123, 0, 0, 0, 0,
747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
752 0, 0, 0, 0, 0, 0, 0, 0, 217, 214,
753 0, 0, 0, 0, 29, 0, 31, 0, 0, 0,
754 0, 0, 0, 0, 0, 130, 0, 0, 0, 0,
755 0, 0, 0, 0, 104, 0, 0, 0, 0, 0,
756 0, 0, 0, 156, 0, 0, 0, 0, 0, 0,
757 0, 0, 0, 0, 0, 58, 0, 0, 0, 0,
758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
761 0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
763 113, 0, 59, 0, 0, 0, 0, 0, 0, 0,
764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
766 0, 0, 0, 0, 0, 0, 0, 151, 0, 176,
767 51, 0, 56, 0, 0, 0, 0, 37, 34, 33,
768 0, 0, 0, 164, 0, 0, 0, 0, 0, 0,
769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
772 0, 0, 0, 0, 0, 0, 142, 0, 0, 0,
773 0, 0, 0, 0, 0, 175, 0, 0, 0, 0,
774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
775 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
776 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
777 0, 0, 0, 0, 0, 0, 106, 0, 0, 0,
778 0, 0, 0, 0, 0, 0, 0, 0, 0, 165,
779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
780 0, 0, 0, 0, 160, 0, 0, 0, 0, 0,
782 0, 0, 0, 0, 0, 0, 0, 7, 35, 0,
783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 0, 0, 0, 0, 0, 0, 0, 0, 125, 0,
787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
789 0, 0, 0, 144, 0, 0, 0, 0, 0, 0,
790 0, 0, 0, 0, 141, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 108, 0, 0, 0,
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 0, 0, 0, 0, 0, 116, 0, 0, 0, 0,
796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
797 0, 0, 0, 115, 0, 0, 0, 0, 0, 0,
798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
800 0, 0, 0, 0, 0, 159, 0, 0, 0, 0,
801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
802 0, 0, 0, 169, 139, 0, 0, 0, 0, 0,
804 0, 0, 143, 52, 0, 0, 0, 0, 0, 67,
805 0, 0, 0, 0, 0, 0, 0, 0, 0, 145,
806 0, 60, 0, 0, 0, 0, 0, 0, 0, 0,
807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
809 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
811 0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
813 0, 0, 0, 0, 0, 0, 122, 0, 0, 0,
815 0, 0, 0, 0, 0, 0, 0, 0, 0, 158,
816 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,
817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
819 0, 0, 0, 57, 107, 0, 0, 0, 155, 0,
820 0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
822 0, 0, 0, 147, 0, 0, 0, 0, 0, 0,
823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
827 0, 0, 0, 0, 0, 197, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
829 0, 0, 0, 0, 117, 0, 0, 0, 0, 0,
830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
833 0, 41, 0, 0, 0, 0, 0, 0, 0, 0,
834 0, 0, 0, 16, 0, 0, 0, 170, 14, 0,
835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
839 161, 0, 0, 0, 0, 0, 0, 0, 0, 146,
840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 0, 0, 0, 0, 157, 174,
842 0, 40, 0, 166, 0, 0, 0, 0, 0, 0,
843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
844 20, 0, 0, 0, 101, 0, 0, 0, 0, 0,
845 168, 0, 54, 0, 109, 0, 195, 0, 0, 0,
846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
848 0, 0, 0, 86, 0, 0, 0, 0, 0, 0,
849 135, 136, 0, 0, 0, 0, 0, 0, 0, 0,
850 105, 0, 0, 0, 0, 0, 0, 0, 0, 0,
851 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
852 0, 0, 0, 0, 0, 0, 0, 0, 163, 0,
853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
854 0, 0, 0, 0, 0, 0, 0, 131, 0, 0,
855 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
856 124, 0, 0, 0, 0, 0, 0, 0, 0, 0,
857 0, 0, 0, 0, 83, 0, 0, 0, 0, 0,
859 0, 17, 0, 0, 15, 0, 192, 191, 0, 0,
860 0, 0, 73, 0, 0, 0, 0, 0, 30, 0,
861 0, 0, 150, 0, 0, 0, 0, 0, 0, 0,
862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
863 0, 0, 185, 0, 194, 0, 0, 0, 0, 0,
864 0, 0, 0, 0, 0, 0, 118, 0, 154, 0,
865 43, 0, 0, 61, 0, 0, 0, 0, 0, 0,
866 0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
867 0, 0, 0, 120, 84, 0, 0, 162, 0, 0,
868 0, 0, 0, 153, 0, 0, 0, 0, 0, 0,
870 0, 0, 0, 0, 0, 0, 114, 0, 0, 138,
871 0, 0, 0, 199, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 0, 0, 0, 0, 0, 0, 112,
873 0, 0, 0, 177, 0, 0, 0, 0, 0, 0,
874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
877 0, 0, 0, 0, 0, 42, 0, 0, 0, 0,
878 0, 0, 0, 72, 0, 0, 0, 0, 0, 0,
879 148, 47, 0, 0, 0, 74, 190, 38, 0, 0,
881 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
882 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,
883 0, 0, 0, 44, 0, 0, 18, 0, 0, 0,
884 76, 0, 0, 0, 0, 0, 140, 0, 0, 0,
885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
887 0, 0, 80, 0, 137, 0, 0, 0, 62, 0,
888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
889 110, 0, 0, 0, 0, 0, 167, 0, 0, 0,
890 46, 0, 0, 0, 0, 0, 0, 0, 0, 0,
892 0, 186, 0, 0, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 71, 0, 0, 0, 0, 0, 0,
894 0, 0, 100, 0, 68, 0, 0, 0, 36, 0,
895 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,
896 0, 0, 0, 0, 0, 0, 24, 0, 0, 0,
897 0, 0, 0, 0, 0, 0, 183, 0, 0, 0,
898 0, 152, 0, 0, 0, 0, 0, 0, 0, 0,
899 0, 0, 0, 121, 0, 0, 0, 0, 0, 69,
900 0, 0, 188, 0, 0, 0, 0, 0, 0, 0,
901 0, 90, 0, 0, 0, 0, 0, 0, 0, 0,
903 0, 0, 0, 25, 39, 0, 0, 0, 0, 0,
904 0, 0, 0, 0, 0, 189, 0, 0, 13, 0,
905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
907 0, 0, 193, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 0, 182, 0, 82, 0, 81, 0, 21,
909 0, 77, 0, 0, 0, 0, 0, 0, 0, 0,
910 65, 0, 0, 0, 0, 134, 0, 0, 0, 0,
911 0, 0, 0, 0, 0, 0, 111, 0, 0, 181,
912 0, 0, 0, 0, 0, 75, 0, 0, 87, 0,
914 66, 0, 23, 0, 127, 0, 0, 0, 0, 99,
915 0, 0, 0, 0, 0, 0, 0, 96, 0, 0,
916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
917 0, 0, 0, 0, 0, 70, 0, 0, 0, 94,
918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
920 0, 0, 0, 49, 0, 0, 95, 0, 0, 0,
921 187, 0, 0, 0, 0, 198, 200, 79, 78, 22,
922 0, 132, 149, 128, 0, 0, 0, 0, 91, 0,
923 0, 0, 0, 0, 0, 0, 179, 0, 0, 184,
925 0, 93, 0, 85, 0, 0, 0, 0, 129, 0,
926 0, 0, 178, 0, 0, 26, 0, 0, 0, 0,
927 0, 0, 0, 0, 92, 0, 0, 0, 0, 0,
928 97, 0, 133, 89, 0, 0, 0, 0, 88, 180,
932static const YY_CHAR yy_ec[256] =
934 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
935 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
936 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
937 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
938 5, 8, 9, 10, 11, 12, 13, 14, 15, 16,
939 14, 17, 14, 18, 14, 14, 14, 19, 5, 20,
940 5, 21, 22, 5, 23, 24, 25, 26, 27, 28,
941 5, 29, 5, 30, 5, 31, 5, 32, 33, 34,
942 5, 35, 36, 37, 38, 39, 40, 5, 41, 5,
943 42, 43, 44, 5, 45, 5, 46, 47, 48, 49,
945 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
946 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
947 70, 71, 72, 5, 73, 5, 5, 5, 5, 5,
948 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
949 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
950 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
951 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
952 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
953 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
954 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
956 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
957 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
958 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
959 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
960 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
964static const YY_CHAR yy_meta[74] =
966 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
967 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
968 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
969 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
970 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
971 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
972 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
978 0, 72, 21, 31, 43, 51, 54, 60, 91, 99,
979 2429, 2430, 34, 2425, 145, 0, 207, 2430, 214, 221,
980 13, 228, 2430, 2405, 118, 25, 2, 6, 2430, 2430,
981 73, 11, 17, 2430, 2430, 2430, 104, 2413, 2366, 0,
982 2403, 108, 2420, 24, 256, 2430, 67, 2369, 2389, 84,
983 75, 2389, 88, 226, 91, 89, 284, 196, 203, 279,
984 193, 224, 216, 60, 242, 2369, 286, 288, 314, 300,
985 319, 2352, 204, 324, 356, 329, 2371, 0, 380, 400,
986 420, 427, 406, 2430, 0, 2430, 385, 443, 238, 241,
987 310, 269, 299, 314, 2430, 2368, 2409, 2430, 405, 2430,
989 419, 400, 2366, 2407, 326, 10, 262, 407, 224, 409,
990 352, 206, 2406, 0, 480, 412, 2348, 415, 2356, 406,
991 2352, 2341, 2342, 2347, 442, 2357, 2340, 2349, 327, 431,
992 226, 2343, 2341, 452, 2330, 2388, 399, 2333, 2386, 2326,
993 441, 2347, 2347, 2341, 339, 2334, 2332, 2333, 2325, 2330,
994 2324, 414, 2335, 456, 2320, 2319, 2333, 454, 2371, 2318,
995 451, 2330, 474, 2318, 490, 2319, 476, 2331, 2328, 2329,
996 293, 2327, 2362, 2361, 449, 2307, 2307, 2311, 2307, 2299,
997 2316, 2308, 0, 457, 491, 401, 489, 501, 496, 2307,
998 2430, 510, 2302, 2430, 498, 508, 2430, 2356, 514, 2355,
1000 515, 2354, 512, 2353, 2430, 2430, 558, 2352, 522, 2311,
1001 2303, 2307, 2308, 2303, 2302, 219, 528, 2345, 2339, 2303,
1002 2284, 2281, 2289, 2295, 2283, 2297, 2293, 2294, 2294, 2289,
1003 2281, 2283, 2267, 2271, 2284, 2286, 2283, 2275, 2265, 2268,
1004 2282, 2430, 2268, 2276, 80, 2261, 2260, 2269, 2311, 2258,
1005 2268, 2308, 546, 2267, 2306, 2251, 2253, 2264, 2302, 528,
1006 2306, 2260, 2240, 2255, 539, 2245, 2251, 513, 2242, 2240,
1007 2243, 2239, 2245, 2236, 2235, 2248, 2241, 2231, 2242, 2246,
1008 2245, 2239, 431, 2246, 2241, 2233, 2223, 2238, 2233, 2237,
1009 523, 2235, 2221, 2227, 2234, 2216, 410, 2221, 2218, 2217,
1011 555, 2212, 2226, 2225, 2224, 2227, 2209, 2217, 553, 2430,
1012 2430, 561, 2430, 2430, 2204, 519, 2251, 564, 2262, 2430,
1013 535, 2430, 2261, 2430, 2255, 601, 2430, 553, 2195, 2214,
1014 2197, 2214, 2202, 2254, 2209, 2212, 2203, 2206, 2201, 549,
1015 2430, 2203, 590, 2242, 2200, 2197, 2198, 619, 2202, 2242,
1016 2190, 2185, 2182, 2178, 2180, 2231, 2188, 2177, 2193, 2227,
1017 2173, 626, 2186, 2186, 2169, 2170, 2183, 2181, 2169, 2179,
1018 2178, 2173, 2180, 2175, 2160, 572, 2169, 2172, 2167, 577,
1019 2166, 2162, 2212, 570, 605, 2430, 2171, 2205, 2155, 2154,
1020 2147, 2149, 2161, 2152, 2159, 2140, 2157, 2146, 2151, 591,
1022 2198, 2151, 591, 2148, 2151, 2151, 2149, 2138, 2138, 2150,
1023 583, 2125, 2126, 2147, 603, 2129, 2126, 2140, 2143, 2138,
1024 2124, 2136, 2135, 2134, 2129, 2171, 2131, 2130, 2129, 2128,
1025 543, 2171, 2130, 2169, 2168, 2110, 648, 2123, 2430, 2430,
1026 2122, 607, 2164, 2163, 2430, 2162, 2430, 628, 677, 620,
1027 2161, 2155, 2108, 2110, 2098, 2430, 2103, 2096, 2108, 2111,
1028 2094, 2109, 2096, 2095, 2430, 2105, 612, 2096, 2093, 2105,
1029 617, 2090, 2092, 2430, 2098, 2083, 2085, 2096, 2094, 2089,
1030 652, 2096, 2084, 2077, 2128, 2430, 2075, 2091, 2125, 2129,
1031 2085, 2079, 2081, 2082, 2066, 2083, 2117, 2068, 2067, 2062,
1033 2061, 2063, 2059, 2055, 617, 2074, 2048, 2055, 2060, 2053,
1034 2069, 2103, 2107, 2430, 2052, 2048, 2104, 2055, 2054, 2048,
1035 2055, 2040, 2050, 2038, 2052, 2052, 2040, 2036, 2038, 2033,
1036 2430, 2090, 2430, 2032, 2031, 2024, 2041, 2080, 2079, 2024,
1037 2029, 2038, 2032, 2026, 2035, 659, 2072, 2034, 2017, 2017,
1038 2012, 2008, 2014, 2019, 650, 2021, 2025, 2008, 2066, 2007,
1039 2007, 2058, 2003, 2004, 2003, 2015, 2004, 2430, 2014, 2430,
1040 2430, 2003, 2430, 2013, 2049, 2009, 2052, 2430, 2430, 2430,
1041 636, 645, 675, 2430, 641, 2011, 1991, 2044, 1989, 1999,
1042 2041, 1986, 1985, 1984, 1991, 1984, 1992, 1995, 1977, 1977,
1044 1992, 1991, 646, 1990, 1989, 1973, 1988, 1970, 2017, 1984,
1045 2022, 1966, 1968, 1980, 1980, 1979, 2430, 1964, 1961, 2019,
1046 1974, 1966, 1972, 1963, 1971, 2430, 1956, 1967, 1971, 1953,
1047 1965, 1966, 634, 1948, 1947, 1941, 1946, 1943, 1958, 1957,
1048 1958, 1937, 1947, 1953, 1996, 1951, 1950, 1942, 1933, 2430,
1049 1934, 1936, 2430, 1938, 1943, 1982, 1981, 16, 1942, 1979,
1050 1924, 1977, 1924, 1927, 1928, 1919, 2430, 1933, 1919, 703,
1051 1911, 1915, 1931, 1928, 1920, 1965, 1917, 1924, 1962, 2430,
1052 1908, 1906, 1920, 1904, 1918, 1921, 1955, 1954, 1953, 1900,
1053 1951, 1896, 1949, 1948, 2430, 1893, 1907, 1906, 711, 1907,
1055 1906, 1903, 1903, 1940, 1900, 1889, 1891, 2430, 2430, 651,
1056 670, 1883, 1900, 1892, 1879, 1873, 1894, 1935, 1893, 670,
1057 1928, 1888, 1926, 1925, 1877, 1871, 1874, 1882, 1881, 80,
1058 161, 226, 294, 296, 552, 570, 563, 623, 687, 662,
1059 672, 655, 661, 673, 720, 726, 683, 685, 2430, 688,
1060 683, 675, 690, 695, 692, 689, 696, 695, 683, 697,
1061 695, 703, 739, 701, 746, 748, 692, 705, 691, 701,
1062 748, 706, 756, 2430, 757, 713, 711, 713, 709, 703,
1063 763, 759, 722, 711, 2430, 713, 724, 713, 726, 716,
1064 729, 773, 716, 775, 718, 733, 2430, 727, 721, 732,
1066 717, 728, 741, 720, 726, 781, 745, 729, 729, 742,
1067 786, 787, 788, 735, 753, 748, 755, 754, 751, 736,
1068 748, 749, 756, 746, 744, 2430, 809, 767, 768, 758,
1069 770, 760, 773, 764, 770, 814, 790, 777, 759, 766,
1070 780, 825, 775, 2430, 779, 774, 789, 786, 772, 779,
1071 778, 776, 795, 792, 793, 781, 788, 789, 798, 802,
1072 838, 800, 790, 803, 789, 789, 795, 851, 792, 793,
1073 799, 815, 798, 852, 807, 2430, 817, 817, 810, 821,
1074 819, 864, 806, 808, 823, 824, 812, 810, 872, 829,
1075 815, 821, 819, 2430, 2430, 835, 834, 835, 840, 828,
1077 838, 840, 2430, 2430, 840, 842, 829, 847, 834, 2430,
1078 832, 850, 837, 837, 888, 835, 839, 857, 898, 2430,
1079 899, 2430, 844, 858, 858, 903, 851, 850, 854, 848,
1080 908, 861, 851, 852, 848, 858, 862, 873, 857, 875,
1081 870, 872, 865, 867, 868, 864, 881, 871, 886, 927,
1082 884, 889, 866, 889, 875, 874, 2430, 881, 882, 897,
1083 887, 885, 935, 882, 897, 915, 923, 892, 941, 903,
1084 943, 2430, 909, 899, 898, 893, 894, 906, 913, 902,
1085 903, 899, 917, 903, 904, 914, 923, 959, 906, 924,
1086 917, 912, 966, 972, 929, 920, 2430, 924, 932, 934,
1088 919, 935, 925, 937, 931, 978, 944, 928, 929, 2430,
1089 945, 948, 931, 933, 991, 934, 953, 2430, 952, 955,
1090 942, 937, 955, 943, 996, 954, 950, 947, 1000, 949,
1091 1002, 964, 950, 968, 967, 953, 968, 960, 956, 974,
1092 973, 960, 977, 2430, 2430, 969, 1016, 969, 2430, 977,
1093 980, 973, 1026, 2430, 976, 981, 1025, 976, 977, 989,
1094 983, 987, 985, 983, 994, 1039, 983, 988, 985, 1043,
1095 1044, 988, 1000, 2430, 988, 996, 995, 1046, 988, 1009,
1096 995, 996, 1005, 1017, 1004, 1002, 1016, 1017, 1033, 1038,
1097 1020, 1025, 1008, 1008, 1010, 1021, 1011, 1031, 1030, 1021,
1099 1010, 1027, 1034, 1077, 1019, 1039, 1032, 1036, 1040, 1023,
1100 1040, 1031, 1086, 1033, 1037, 2430, 1084, 1035, 1034, 1034,
1101 1055, 1052, 1092, 1041, 1059, 1060, 1046, 1054, 1063, 1043,
1102 1058, 1065, 1107, 1108, 2430, 1061, 1110, 1111, 1053, 1063,
1103 1073, 1057, 1077, 1060, 1062, 1062, 1069, 1078, 1066, 1073,
1104 1068, 1075, 1087, 1128, 1075, 1074, 1091, 1132, 1082, 1086,
1105 1084, 1082, 1077, 1138, 1089, 1140, 1090, 1142, 1138, 1144,
1106 1097, 2430, 1102, 1095, 1086, 1105, 1099, 1094, 1104, 1101,
1107 1106, 1103, 1115, 2430, 1099, 1101, 1096, 2430, 2430, 1102,
1108 1162, 1101, 1120, 1121, 1123, 1162, 1115, 1169, 1170, 1123,
1110 1108, 1122, 1130, 1112, 1117, 1156, 1147, 1179, 1134, 1134,
1111 1138, 1125, 1125, 1128, 1145, 1140, 1144, 1189, 1137, 1141,
1112 2430, 1138, 1134, 1151, 1131, 1152, 1142, 1193, 1146, 2430,
1113 1160, 1158, 1161, 1145, 1157, 1163, 1149, 1209, 1162, 1167,
1114 1154, 1165, 1157, 1163, 1159, 1177, 1178, 1179, 2430, 2430,
1115 1177, 2430, 1179, 2430, 1164, 1175, 1166, 1185, 1178, 1176,
1116 1228, 1185, 1182, 1226, 1190, 1179, 1186, 1191, 1188, 1194,
1117 2430, 1187, 1179, 1240, 2430, 1241, 1188, 1195, 1239, 1201,
1118 2430, 1202, 2430, 1199, 2430, 1190, 2430, 1190, 1193, 1207,
1119 1212, 1195, 1206, 1255, 1212, 1213, 1214, 1254, 1210, 1261,
1121 1214, 1258, 1264, 2430, 1211, 1266, 1267, 1224, 1225, 1227,
1122 2430, 2430, 1210, 1272, 1268, 1232, 1216, 1228, 1247, 1278,
1123 2430, 1235, 1226, 1237, 1282, 1219, 1230, 1245, 1281, 1233,
1124 2430, 1229, 1245, 1233, 1247, 1248, 1245, 1289, 1252, 1242,
1125 1252, 1258, 1246, 1246, 1301, 1297, 1303, 1260, 2430, 1263,
1126 1262, 1264, 1257, 1266, 1267, 1265, 1255, 1258, 1258, 1317,
1127 1264, 1319, 1266, 1321, 1264, 1269, 1324, 2430, 1282, 1262,
1128 1277, 1270, 1273, 1286, 1289, 1288, 1286, 1335, 1289, 2430,
1129 2430, 1285, 1295, 1280, 1336, 1283, 1298, 1284, 1345, 1346,
1130 1290, 1300, 1349, 1306, 2430, 1298, 1298, 1300, 1302, 1355,
1132 1298, 2430, 1299, 1317, 2430, 1301, 2430, 2430, 1317, 1300,
1133 1320, 1321, 2430, 1308, 1316, 1368, 1317, 1349, 2430, 1371,
1134 1321, 1368, 2430, 1316, 1375, 1325, 1319, 1316, 1319, 1322,
1135 1322, 1318, 1340, 1379, 1332, 1344, 1347, 1335, 1338, 1331,
1136 1391, 1339, 2430, 1335, 2430, 1337, 1396, 1349, 1340, 1355,
1137 1355, 1358, 1358, 1355, 1399, 1361, 2430, 1353, 2430, 1354,
1138 2430, 1364, 1356, 2430, 1405, 1367, 1368, 1365, 1409, 1357,
1139 1372, 1412, 1374, 1366, 2430, 1363, 1363, 1369, 1368, 1366,
1140 1420, 1382, 1382, 2430, 2430, 1423, 1370, 2430, 1387, 1372,
1141 1372, 1374, 1380, 2430, 1389, 1436, 1379, 1385, 1377, 1391,
1143 1402, 1396, 1402, 1446, 1399, 1408, 2430, 1405, 1424, 2430,
1144 1408, 1393, 1453, 2430, 1454, 1411, 1416, 1398, 1458, 1459,
1145 1460, 1456, 1420, 1417, 1413, 1406, 1461, 1419, 1420, 2430,
1146 1410, 1423, 1471, 2430, 1409, 1469, 1432, 1428, 1473, 1421,
1147 1426, 1424, 1483, 1439, 1427, 1486, 1482, 1437, 1489, 1450,
1148 1439, 1433, 1493, 1435, 1444, 1437, 1451, 1454, 1499, 1441,
1149 1458, 1454, 1452, 1445, 1460, 1444, 1502, 1503, 1504, 1451,
1150 1506, 1469, 1462, 1461, 1455, 2430, 1472, 1464, 1470, 1461,
1151 1460, 1462, 1517, 2430, 1458, 1476, 1525, 1495, 1527, 1480,
1152 2430, 2430, 1471, 1482, 1531, 2430, 2430, 2430, 1477, 1482,
1154 1480, 1530, 1488, 1493, 1481, 1497, 1486, 1485, 1486, 2430,
1155 1544, 1490, 1541, 1484, 1489, 1550, 1498, 1508, 1509, 2430,
1156 1555, 1508, 1552, 2430, 1503, 1511, 2430, 1502, 1517, 1505,
1157 2430, 1515, 1516, 1517, 1566, 1524, 2430, 1563, 1529, 1505,
1158 1523, 1524, 1525, 1534, 1516, 1522, 1524, 1578, 1537, 1536,
1159 1527, 1577, 1524, 1531, 1526, 1527, 1587, 1537, 1589, 1542,
1160 1547, 1540, 2430, 1593, 2430, 1542, 1595, 1537, 2430, 1540,
1161 1550, 1594, 1542, 1557, 1544, 1559, 1545, 1552, 1552, 1563,
1162 2430, 1557, 1552, 1551, 1611, 1564, 2430, 1608, 1559, 1556,
1163 2430, 1570, 1557, 1578, 1574, 1576, 1621, 1574, 1571, 1579,
1165 1573, 2430, 1626, 1567, 1569, 1585, 1578, 1579, 1569, 1585,
1166 1586, 1580, 1596, 2430, 1586, 1638, 1598, 1582, 1636, 1600,
1167 1595, 1644, 2430, 1586, 2430, 1593, 1647, 1643, 2430, 1605,
1168 2430, 1645, 1607, 1608, 1593, 1594, 1602, 1656, 1604, 1653,
1169 1654, 1609, 1621, 1618, 1609, 1616, 2430, 1613, 1618, 1616,
1170 1668, 1669, 1617, 1614, 1628, 1615, 2430, 1630, 1631, 1632,
1171 1633, 2430, 1623, 1635, 1680, 1633, 1638, 1683, 1625, 1633,
1172 1627, 1635, 1648, 2430, 1649, 1630, 1637, 1628, 1640, 2430,
1173 1689, 1650, 2430, 1654, 1639, 1639, 1654, 1647, 1646, 1657,
1174 1644, 2430, 1660, 1648, 1651, 1707, 1665, 1656, 1668, 1659,
1176 1668, 1670, 1674, 2430, 2430, 1667, 1658, 1658, 1718, 1661,
1177 1720, 1662, 1722, 1680, 1724, 2430, 1666, 1726, 2430, 1722,
1178 1684, 1681, 1686, 1673, 1681, 1692, 1689, 1735, 1676, 1679,
1179 1684, 1675, 1740, 1693, 1694, 1684, 1701, 1700, 1741, 1685,
1180 1704, 1705, 2430, 1702, 1751, 1708, 1709, 1754, 1711, 1714,
1181 1701, 1710, 1711, 2430, 1760, 2430, 1713, 2430, 1722, 2430,
1182 1763, 2430, 1705, 1765, 1712, 1767, 1710, 1769, 1717, 1766,
1183 2430, 1728, 1733, 1774, 1733, 2430, 1724, 1714, 1773, 1739,
1184 1732, 1728, 1782, 1725, 1727, 1732, 2430, 1728, 1730, 2430,
1185 1735, 1745, 1730, 1738, 1740, 2430, 1741, 1735, 2430, 1747,
1187 2430, 1743, 2430, 1753, 2430, 1754, 1744, 1800, 1749, 2430,
1188 1751, 1759, 1804, 1745, 1747, 1744, 1768, 2430, 1755, 1762,
1189 1765, 1754, 1808, 1755, 1763, 1772, 1771, 1774, 1775, 1776,
1190 1769, 1764, 1765, 1765, 1771, 2430, 1771, 1783, 1828, 2430,
1191 1774, 1786, 1831, 1780, 1782, 1780, 1835, 1788, 1775, 1790,
1192 1795, 1840, 1841, 1842, 1843, 1844, 1801, 1846, 1847, 1848,
1193 1795, 1799, 1793, 2430, 1809, 1853, 2430, 1810, 1795, 1813,
1194 2430, 1804, 1818, 1814, 1807, 2430, 2430, 2430, 2430, 2430,
1195 1861, 2430, 2430, 2430, 1811, 1819, 1864, 1825, 2430, 1866,
1196 1808, 1868, 1823, 1822, 1823, 1813, 2430, 1873, 1869, 2430,
1198 1816, 2430, 1828, 2430, 1877, 1819, 1835, 1880, 2430, 1841,
1199 1838, 1830, 2430, 1880, 1829, 2430, 1841, 1834, 1889, 1837,
1200 1832, 1834, 1849, 1834, 2430, 1895, 1848, 1897, 1898, 1846,
1201 2430, 1848, 2430, 2430, 1842, 1858, 1903, 1904, 2430, 2430,
1202 2430, 1910, 1913, 1916, 1917, 1919, 1922, 1925, 1928
1207 2042, 2042, 2043, 2043, 2042, 2042, 2042, 2042, 2042, 2042,
1208 2041, 2041, 2041, 2041, 2041, 2044, 2041, 2041, 2041, 2041,
1209 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1210 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2045,
1211 2041, 2041, 2041, 2046, 15, 2041, 45, 45, 45, 45,
1212 45, 45, 45, 45, 45, 45, 2047, 45, 45, 45,
1213 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1214 45, 45, 45, 45, 45, 45, 45, 2044, 2041, 2041,
1215 2041, 2041, 2041, 2041, 2048, 2041, 2041, 2041, 2041, 2041,
1216 2041, 2041, 2041, 2041, 2041, 2041, 2045, 2041, 2046, 2041,
1218 2041, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1219 45, 45, 2049, 45, 2047, 45, 45, 45, 45, 45,
1220 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1221 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1222 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1223 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1224 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1225 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1226 45, 45, 2048, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1227 2041, 45, 45, 2041, 45, 45, 2041, 45, 45, 45,
1229 45, 45, 45, 2049, 2041, 2041, 115, 45, 45, 45,
1230 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1231 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1232 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1233 45, 2041, 45, 45, 45, 45, 45, 45, 45, 45,
1234 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1235 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1236 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1237 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1238 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1240 45, 45, 45, 45, 45, 45, 45, 45, 2041, 2041,
1241 2041, 2041, 2041, 2041, 2041, 45, 45, 45, 45, 2041,
1242 45, 2041, 45, 2041, 45, 115, 2041, 45, 45, 45,
1243 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1244 2041, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1245 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1246 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1247 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1248 45, 45, 45, 45, 45, 2041, 45, 45, 45, 45,
1249 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1251 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1252 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1253 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1254 45, 45, 45, 45, 45, 45, 45, 45, 2041, 2041,
1255 2041, 45, 45, 45, 2041, 45, 2041, 45, 115, 45,
1256 45, 45, 45, 45, 45, 2041, 45, 45, 45, 45,
1257 45, 45, 45, 45, 2041, 45, 45, 45, 45, 45,
1258 45, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1259 45, 45, 45, 45, 45, 2041, 45, 45, 45, 45,
1260 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1262 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1263 45, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1264 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1265 2041, 45, 2041, 45, 45, 45, 45, 45, 45, 45,
1266 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1267 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1268 45, 45, 45, 45, 45, 45, 45, 2041, 45, 2041,
1269 2041, 45, 2041, 45, 45, 2041, 45, 2041, 2041, 2041,
1270 45, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1271 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1273 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1274 45, 45, 45, 45, 45, 45, 2041, 45, 45, 45,
1275 45, 45, 45, 45, 45, 2041, 45, 45, 45, 45,
1276 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1277 45, 45, 45, 45, 45, 45, 45, 45, 45, 2041,
1278 45, 45, 2041, 45, 45, 45, 45, 45, 45, 45,
1279 45, 45, 45, 45, 45, 45, 2041, 45, 45, 45,
1280 45, 45, 45, 45, 45, 45, 45, 45, 45, 2041,
1281 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1282 45, 45, 45, 45, 2041, 45, 45, 45, 45, 45,
1284 45, 45, 45, 45, 45, 45, 45, 2041, 2041, 45,
1285 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1286 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1287 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1288 45, 45, 45, 45, 45, 45, 45, 45, 2041, 45,
1289 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1290 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1291 45, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1292 45, 45, 45, 45, 2041, 45, 45, 45, 45, 45,
1293 45, 45, 45, 45, 45, 45, 2041, 45, 45, 45,
1295 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1296 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1297 45, 45, 45, 45, 45, 2041, 45, 45, 45, 45,
1298 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1299 45, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1300 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1301 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1302 45, 45, 45, 45, 45, 2041, 45, 45, 45, 45,
1303 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1304 45, 45, 45, 2041, 2041, 45, 45, 45, 45, 45,
1306 45, 45, 2041, 2041, 45, 45, 45, 45, 45, 2041,
1307 45, 45, 45, 45, 45, 45, 45, 45, 45, 2041,
1308 45, 2041, 45, 45, 45, 45, 45, 45, 45, 45,
1309 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1310 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1311 45, 45, 45, 45, 45, 45, 2041, 45, 45, 45,
1312 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1313 45, 2041, 45, 45, 45, 45, 45, 45, 45, 45,
1314 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1315 45, 45, 45, 45, 45, 45, 2041, 45, 45, 45,
1317 45, 45, 45, 45, 45, 45, 45, 45, 45, 2041,
1318 45, 45, 45, 45, 45, 45, 45, 2041, 45, 45,
1319 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1320 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1321 45, 45, 45, 2041, 2041, 45, 45, 45, 2041, 45,
1322 45, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1323 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1324 45, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1325 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1326 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1328 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1329 45, 45, 45, 45, 45, 2041, 45, 45, 45, 45,
1330 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1331 45, 45, 45, 45, 2041, 45, 45, 45, 45, 45,
1332 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1333 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1334 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1335 45, 2041, 45, 45, 45, 45, 45, 45, 45, 45,
1336 45, 45, 45, 2041, 45, 45, 45, 2041, 2041, 45,
1337 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1339 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1340 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1341 2041, 45, 45, 45, 45, 45, 45, 45, 45, 2041,
1342 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1343 45, 45, 45, 45, 45, 45, 45, 45, 2041, 2041,
1344 45, 2041, 45, 2041, 45, 45, 45, 45, 45, 45,
1345 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1346 2041, 45, 45, 45, 2041, 45, 45, 45, 45, 45,
1347 2041, 45, 2041, 45, 2041, 45, 2041, 45, 45, 45,
1348 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1350 45, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1351 2041, 2041, 45, 45, 45, 45, 45, 45, 45, 45,
1352 2041, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1353 2041, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1354 45, 45, 45, 45, 45, 45, 45, 45, 2041, 45,
1355 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1356 45, 45, 45, 45, 45, 45, 45, 2041, 45, 45,
1357 45, 45, 45, 45, 45, 45, 45, 45, 45, 2041,
1358 2041, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1359 45, 45, 45, 45, 2041, 45, 45, 45, 45, 45,
1361 45, 2041, 45, 45, 2041, 45, 2041, 2041, 45, 45,
1362 45, 45, 2041, 45, 45, 45, 45, 45, 2041, 45,
1363 45, 45, 2041, 45, 45, 45, 45, 45, 45, 45,
1364 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1365 45, 45, 2041, 45, 2041, 45, 45, 45, 45, 45,
1366 45, 45, 45, 45, 45, 45, 2041, 45, 2041, 45,
1367 2041, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1368 45, 45, 45, 45, 2041, 45, 45, 45, 45, 45,
1369 45, 45, 45, 2041, 2041, 45, 45, 2041, 45, 45,
1370 45, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1372 45, 45, 45, 45, 45, 45, 2041, 45, 45, 2041,
1373 45, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1374 45, 45, 45, 45, 45, 45, 45, 45, 45, 2041,
1375 45, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1376 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1377 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1378 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1379 45, 45, 45, 45, 45, 2041, 45, 45, 45, 45,
1380 45, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1381 2041, 2041, 45, 45, 45, 2041, 2041, 2041, 45, 45,
1383 45, 45, 45, 45, 45, 45, 45, 45, 45, 2041,
1384 45, 45, 45, 45, 45, 45, 45, 45, 45, 2041,
1385 45, 45, 45, 2041, 45, 45, 2041, 45, 45, 45,
1386 2041, 45, 45, 45, 45, 45, 2041, 45, 45, 45,
1387 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1388 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1389 45, 45, 2041, 45, 2041, 45, 45, 45, 2041, 45,
1390 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1391 2041, 45, 45, 45, 45, 45, 2041, 45, 45, 45,
1392 2041, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1394 45, 2041, 45, 45, 45, 45, 45, 45, 45, 45,
1395 45, 45, 45, 2041, 45, 45, 45, 45, 45, 45,
1396 45, 45, 2041, 45, 2041, 45, 45, 45, 2041, 45,
1397 2041, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1398 45, 45, 45, 45, 45, 45, 2041, 45, 45, 45,
1399 45, 45, 45, 45, 45, 45, 2041, 45, 45, 45,
1400 45, 2041, 45, 45, 45, 45, 45, 45, 45, 45,
1401 45, 45, 45, 2041, 45, 45, 45, 45, 45, 2041,
1402 45, 45, 2041, 45, 45, 45, 45, 45, 45, 45,
1403 45, 2041, 45, 45, 45, 45, 45, 45, 45, 45,
1405 45, 45, 45, 2041, 2041, 45, 45, 45, 45, 45,
1406 45, 45, 45, 45, 45, 2041, 45, 45, 2041, 45,
1407 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1408 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1409 45, 45, 2041, 45, 45, 45, 45, 45, 45, 45,
1410 45, 45, 45, 2041, 45, 2041, 45, 2041, 45, 2041,
1411 45, 2041, 45, 45, 45, 45, 45, 45, 45, 45,
1412 2041, 45, 45, 45, 45, 2041, 45, 45, 45, 45,
1413 45, 45, 45, 45, 45, 45, 2041, 45, 45, 2041,
1414 45, 45, 45, 45, 45, 2041, 45, 45, 2041, 45,
1416 2041, 45, 2041, 45, 2041, 45, 45, 45, 45, 2041,
1417 45, 45, 45, 45, 45, 45, 45, 2041, 45, 45,
1418 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1419 45, 45, 45, 45, 45, 2041, 45, 45, 45, 2041,
1420 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1421 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1422 45, 45, 45, 2041, 45, 45, 2041, 45, 45, 45,
1423 2041, 45, 45, 45, 45, 2041, 2041, 2041, 2041, 2041,
1424 45, 2041, 2041, 2041, 45, 45, 45, 45, 2041, 45,
1425 45, 45, 45, 45, 45, 45, 2041, 45, 45, 2041,
1427 45, 2041, 45, 2041, 45, 45, 45, 45, 2041, 45,
1428 45, 45, 2041, 45, 45, 2041, 45, 45, 45, 45,
1429 45, 45, 45, 45, 2041, 45, 45, 45, 45, 45,
1430 2041, 45, 2041, 2041, 45, 45, 45, 45, 2041, 2041,
1431 0, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041
1436 2041, 13, 14, 13, 2041, 15, 16, 2041, 17, 18,
1437 19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
1438 84, 785, 37, 14, 37, 85, 25, 26, 38, 100,
1439 2041, 27, 37, 14, 37, 42, 28, 42, 38, 90,
1440 91, 29, 196, 30, 13, 14, 13, 89, 90, 25,
1441 31, 91, 13, 14, 13, 13, 14, 13, 32, 40,
1442 786, 13, 14, 13, 33, 40, 101, 90, 91, 196,
1443 89, 34, 35, 13, 14, 13, 93, 15, 16, 94,
1444 17, 18, 19, 20, 21, 22, 22, 22, 22, 22,
1445 23, 24, 13, 14, 13, 89, 39, 102, 25, 26,
1447 13, 14, 13, 27, 39, 42, 105, 42, 28, 42,
1448 106, 42, 41, 29, 108, 30, 111, 112, 92, 134,
1449 41, 25, 31, 102, 135, 367, 87, 136, 87, 105,
1450 32, 88, 88, 88, 88, 88, 33, 108, 106, 111,
1451 858, 112, 368, 34, 35, 44, 44, 44, 45, 45,
1452 46, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1453 45, 45, 45, 45, 45, 45, 45, 47, 45, 45,
1454 48, 49, 50, 45, 51, 52, 53, 45, 45, 45,
1455 45, 54, 55, 45, 56, 45, 45, 57, 45, 45,
1456 58, 45, 59, 60, 61, 62, 63, 64, 65, 51,
1458 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1459 76, 77, 56, 45, 45, 45, 45, 45, 79, 859,
1460 80, 80, 80, 80, 80, 79, 102, 82, 82, 82,
1461 82, 82, 203, 81, 83, 83, 83, 83, 83, 79,
1462 81, 82, 82, 82, 82, 82, 105, 81, 118, 164,
1463 109, 129, 116, 165, 81, 203, 81, 200, 117, 119,
1464 110, 130, 120, 81, 121, 132, 122, 197, 184, 105,
1465 81, 185, 133, 109, 860, 233, 335, 81, 45, 336,
1466 131, 45, 45, 45, 200, 45, 45, 45, 110, 114,
1467 137, 234, 45, 45, 184, 45, 45, 185, 198, 184,
1469 138, 45, 139, 45, 45, 45, 45, 45, 45, 45,
1470 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1471 45, 45, 45, 45, 123, 187, 45, 124, 125, 185,
1472 45, 126, 127, 145, 45, 141, 142, 146, 296, 143,
1473 108, 147, 45, 861, 128, 144, 45, 186, 45, 115,
1474 153, 186, 297, 148, 111, 188, 195, 149, 154, 150,
1475 155, 151, 862, 152, 158, 156, 157, 159, 160, 166,
1476 173, 174, 228, 167, 229, 186, 168, 111, 161, 189,
1477 109, 162, 195, 169, 170, 202, 252, 180, 171, 172,
1478 110, 230, 181, 83, 83, 83, 83, 83, 88, 88,
1480 88, 88, 88, 175, 242, 176, 81, 253, 177, 178,
1481 100, 79, 202, 80, 80, 80, 80, 80, 110, 83,
1482 83, 83, 83, 83, 99, 179, 81, 311, 87, 81,
1483 87, 99, 81, 88, 88, 88, 88, 88, 79, 192,
1484 82, 82, 82, 82, 82, 199, 201, 101, 243, 81,
1485 311, 192, 199, 81, 215, 81, 88, 88, 88, 88,
1486 88, 99, 211, 216, 217, 99, 262, 192, 208, 99,
1487 426, 212, 427, 199, 201, 213, 81, 99, 231, 209,
1488 260, 99, 200, 99, 99, 206, 247, 410, 222, 223,
1489 411, 232, 309, 207, 207, 207, 207, 207, 224, 248,
1491 280, 267, 207, 207, 207, 207, 207, 207, 237, 301,
1492 273, 238, 263, 274, 275, 239, 268, 269, 270, 277,
1493 309, 310, 311, 278, 309, 207, 207, 207, 207, 207,
1494 207, 310, 316, 318, 290, 281, 282, 283, 291, 319,
1495 321, 323, 292, 325, 316, 314, 284, 310, 285, 390,
1496 286, 287, 312, 288, 321, 316, 376, 313, 394, 442,
1497 322, 318, 863, 321, 323, 431, 319, 328, 395, 446,
1498 325, 326, 326, 326, 326, 326, 419, 385, 337, 439,
1499 326, 326, 326, 326, 326, 326, 338, 439, 442, 420,
1500 444, 339, 340, 442, 462, 465, 531, 446, 566, 391,
1502 466, 567, 439, 326, 326, 326, 326, 326, 326, 377,
1503 440, 463, 378, 444, 449, 449, 449, 449, 449, 864,
1504 515, 865, 450, 449, 449, 449, 449, 449, 449, 471,
1505 516, 486, 503, 504, 505, 472, 487, 510, 506, 446,
1506 535, 544, 577, 511, 536, 545, 449, 449, 449, 449,
1507 449, 449, 549, 573, 532, 577, 550, 617, 574, 581,
1508 690, 582, 618, 598, 680, 607, 641, 517, 710, 681,
1509 577, 599, 866, 600, 601, 602, 642, 603, 608, 711,
1510 709, 761, 762, 583, 488, 712, 581, 836, 582, 489,
1511 45, 45, 45, 45, 45, 710, 837, 867, 713, 45,
1513 45, 45, 45, 45, 45, 714, 732, 711, 797, 733,
1514 868, 872, 691, 798, 873, 836, 826, 846, 847, 837,
1515 848, 874, 45, 45, 45, 45, 45, 45, 827, 869,
1516 875, 876, 877, 870, 878, 879, 880, 871, 881, 882,
1517 883, 884, 885, 886, 887, 888, 889, 890, 891, 892,
1518 893, 894, 799, 895, 896, 897, 898, 899, 901, 902,
1519 900, 903, 904, 905, 906, 907, 908, 909, 910, 911,
1520 912, 913, 914, 915, 916, 917, 918, 919, 920, 921,
1521 922, 923, 924, 925, 926, 927, 928, 929, 930, 931,
1522 932, 933, 934, 935, 936, 937, 938, 939, 940, 941,
1524 942, 943, 945, 946, 947, 950, 951, 952, 944, 954,
1525 955, 948, 956, 953, 957, 949, 958, 959, 960, 961,
1526 962, 963, 964, 965, 966, 967, 968, 969, 970, 971,
1527 972, 973, 974, 975, 976, 977, 978, 979, 980, 981,
1528 982, 983, 984, 985, 986, 987, 988, 989, 990, 991,
1529 992, 993, 994, 967, 995, 996, 997, 998, 999, 1000,
1530 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
1531 1012, 1013, 1014, 1015, 1011, 1016, 1017, 1018, 1019, 1020,
1532 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030,
1533 1031, 1032, 1033, 1034, 1035, 1036, 1038, 1039, 1040, 1037,
1535 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050,
1536 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060,
1537 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070,
1538 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081,
1539 1082, 1071, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090,
1540 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100,
1541 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110,
1542 1111, 1112, 1090, 1113, 1114, 1089, 1115, 1116, 1117, 1118,
1543 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128,
1544 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1138, 1139, 1140,
1546 1141, 1136, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149,
1547 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159,
1548 1160, 1161, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170,
1549 1171, 1172, 1162, 1173, 1174, 1175, 1176, 1177, 1178, 1179,
1550 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189,
1551 1190, 1191, 1192, 1193, 1137, 1194, 1195, 1196, 1197, 1198,
1552 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1208, 1207,
1553 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218,
1554 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228,
1555 1229, 1230, 1231, 1232, 1233, 1206, 1207, 1234, 1235, 1236,
1557 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246,
1558 1247, 1248, 1249, 1250, 1251, 1252, 1254, 1256, 1257, 1258,
1559 1253, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
1560 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277,
1561 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287,
1562 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297,
1563 1255, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306,
1564 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316,
1565 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326,
1566 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336,
1568 1337, 1338, 1339, 1340, 1341, 1319, 1342, 1343, 1344, 1345,
1569 1346, 1320, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354,
1570 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364,
1571 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374,
1572 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384,
1573 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394,
1574 1395, 1396, 1397, 1398, 1399, 1401, 1402, 1403, 1404, 1405,
1575 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415,
1576 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1425, 1426,
1577 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436,
1579 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446,
1580 1418, 1447, 1448, 1449, 1450, 1451, 1452, 1400, 1453, 1454,
1581 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464,
1582 1465, 1424, 1466, 1467, 1469, 1470, 1471, 1472, 1473, 1474,
1583 1475, 1468, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483,
1584 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493,
1585 1494, 1496, 1497, 1500, 1498, 1495, 1499, 1501, 1502, 1503,
1586 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513,
1587 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523,
1588 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1509, 1532,
1590 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542,
1591 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552,
1592 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562,
1593 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572,
1594 1573, 1576, 1574, 1577, 1578, 1579, 1580, 1581, 1575, 1582,
1595 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592,
1596 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1602, 1603,
1597 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1601, 1612,
1598 1613, 1614, 1588, 1615, 1616, 1617, 1618, 1619, 1620, 1622,
1599 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632,
1601 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642,
1602 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652,
1603 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662,
1604 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672,
1605 1673, 1674, 1675, 1676, 1677, 1678, 1621, 1679, 1680, 1681,
1606 1683, 1684, 1685, 1686, 1682, 1687, 1688, 1689, 1690, 1664,
1607 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700,
1608 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710,
1609 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720,
1610 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730,
1612 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740,
1613 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750,
1614 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760,
1615 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770,
1616 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780,
1617 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790,
1618 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800,
1619 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810,
1620 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820,
1621 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830,
1623 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840,
1624 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850,
1625 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860,
1626 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870,
1627 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880,
1628 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890,
1629 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900,
1630 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910,
1631 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920,
1632 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930,
1634 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940,
1635 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950,
1636 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960,
1637 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970,
1638 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980,
1639 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990,
1640 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
1641 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
1642 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2018, 2020,
1643 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030,
1645 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040,
1646 12, 12, 12, 36, 36, 36, 78, 97, 78, 99,
1647 99, 99, 113, 113, 113, 183, 857, 183, 204, 204,
1648 204, 856, 855, 854, 853, 852, 851, 850, 849, 845,
1649 844, 843, 842, 841, 840, 839, 838, 835, 834, 833,
1650 832, 831, 830, 829, 828, 825, 824, 823, 822, 821,
1651 820, 819, 818, 817, 816, 815, 814, 813, 812, 811,
1652 810, 809, 808, 807, 806, 805, 804, 803, 802, 801,
1653 800, 796, 795, 794, 793, 792, 791, 790, 789, 788,
1654 787, 784, 783, 782, 781, 780, 779, 778, 777, 776,
1656 775, 774, 773, 772, 771, 770, 769, 768, 767, 766,
1657 765, 764, 763, 760, 759, 758, 757, 756, 755, 754,
1658 753, 752, 751, 750, 749, 748, 747, 746, 745, 744,
1659 743, 742, 741, 740, 739, 738, 737, 736, 735, 734,
1660 731, 730, 729, 728, 727, 726, 725, 724, 723, 722,
1661 721, 720, 719, 718, 717, 716, 715, 709, 708, 707,
1662 706, 705, 704, 703, 702, 701, 700, 699, 698, 697,
1663 696, 695, 694, 693, 692, 689, 688, 687, 686, 685,
1664 684, 683, 682, 679, 678, 677, 676, 675, 674, 673,
1665 672, 671, 670, 669, 668, 667, 666, 665, 664, 663,
1667 662, 661, 660, 659, 658, 657, 656, 655, 654, 653,
1668 652, 651, 650, 649, 648, 647, 646, 645, 644, 643,
1669 640, 639, 638, 637, 636, 635, 634, 633, 632, 631,
1670 630, 629, 628, 627, 626, 625, 624, 623, 622, 621,
1671 620, 619, 616, 615, 614, 613, 612, 611, 610, 609,
1672 606, 605, 604, 597, 596, 595, 594, 593, 592, 591,
1673 590, 589, 588, 587, 586, 585, 584, 580, 579, 578,
1674 576, 575, 572, 571, 570, 569, 568, 565, 564, 563,
1675 562, 561, 560, 559, 558, 557, 556, 555, 554, 553,
1676 552, 551, 548, 547, 546, 543, 542, 541, 540, 539,
1678 538, 537, 534, 533, 530, 529, 528, 527, 526, 525,
1679 524, 523, 522, 521, 520, 519, 518, 514, 513, 512,
1680 509, 508, 507, 502, 501, 500, 499, 498, 497, 496,
1681 495, 494, 493, 492, 491, 490, 485, 484, 483, 482,
1682 481, 480, 479, 478, 477, 476, 475, 474, 473, 470,
1683 469, 468, 467, 464, 461, 460, 459, 458, 457, 456,
1684 455, 454, 453, 452, 451, 448, 447, 445, 443, 441,
1685 438, 437, 436, 435, 434, 433, 432, 430, 429, 428,
1686 425, 424, 423, 422, 421, 418, 417, 416, 415, 414,
1687 413, 412, 409, 408, 407, 406, 405, 404, 403, 402,
1689 401, 400, 399, 398, 397, 396, 393, 392, 389, 388,
1690 387, 386, 384, 383, 382, 381, 380, 379, 375, 374,
1691 373, 372, 371, 370, 369, 366, 365, 364, 363, 362,
1692 361, 360, 359, 358, 357, 356, 355, 354, 353, 352,
1693 351, 350, 349, 348, 347, 346, 345, 344, 343, 342,
1694 341, 334, 333, 332, 331, 330, 329, 327, 205, 324,
1695 322, 320, 317, 315, 308, 307, 306, 305, 304, 303,
1696 302, 300, 299, 298, 295, 294, 293, 289, 279, 276,
1697 272, 271, 266, 265, 264, 261, 259, 258, 257, 256,
1698 255, 254, 251, 250, 249, 246, 245, 244, 241, 240,
1700 236, 235, 227, 226, 225, 221, 220, 219, 218, 214,
1701 210, 205, 194, 193, 191, 190, 182, 163, 140, 107,
1702 104, 103, 43, 98, 96, 95, 86, 43, 2041, 11,
1703 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1704 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1705 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1706 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1707 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1708 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1709 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1716 0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1717 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1718 21, 658, 3, 3, 3, 21, 1, 1, 3, 44,
1719 0, 1, 4, 4, 4, 13, 1, 13, 4, 27,
1720 28, 1, 106, 1, 5, 5, 5, 26, 32, 1,
1721 1, 33, 6, 6, 6, 7, 7, 7, 1, 7,
1722 658, 8, 8, 8, 1, 8, 44, 27, 28, 106,
1723 26, 1, 1, 2, 2, 2, 32, 2, 2, 33,
1724 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1725 2, 2, 9, 9, 9, 31, 5, 47, 2, 2,
1727 10, 10, 10, 2, 6, 37, 50, 37, 2, 42,
1728 51, 42, 9, 2, 53, 2, 55, 56, 31, 64,
1729 10, 2, 2, 47, 64, 245, 25, 64, 25, 50,
1730 2, 25, 25, 25, 25, 25, 2, 53, 51, 55,
1731 730, 56, 245, 2, 2, 15, 15, 15, 15, 15,
1732 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1733 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1734 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1735 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1736 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1738 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1739 15, 15, 15, 15, 15, 15, 15, 15, 17, 731,
1740 17, 17, 17, 17, 17, 19, 58, 19, 19, 19,
1741 19, 19, 112, 17, 20, 20, 20, 20, 20, 22,
1742 19, 22, 22, 22, 22, 22, 62, 20, 59, 73,
1743 54, 61, 58, 73, 22, 112, 17, 109, 58, 59,
1744 54, 61, 59, 19, 59, 63, 59, 107, 89, 62,
1745 20, 90, 63, 54, 732, 131, 216, 22, 45, 216,
1746 62, 45, 45, 45, 109, 45, 45, 45, 54, 57,
1747 65, 131, 45, 45, 89, 45, 57, 90, 107, 92,
1749 65, 45, 65, 45, 45, 45, 45, 45, 45, 45,
1750 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1751 45, 45, 45, 45, 60, 92, 57, 60, 60, 93,
1752 57, 60, 60, 68, 57, 67, 67, 68, 171, 67,
1753 69, 68, 57, 733, 60, 67, 57, 91, 57, 57,
1754 70, 94, 171, 68, 76, 93, 105, 68, 70, 69,
1755 70, 69, 734, 69, 71, 70, 70, 71, 71, 74,
1756 75, 75, 129, 74, 129, 91, 74, 76, 71, 94,
1757 75, 71, 105, 74, 74, 111, 145, 76, 74, 74,
1758 75, 129, 76, 79, 79, 79, 79, 79, 87, 87,
1760 87, 87, 87, 75, 137, 75, 79, 145, 75, 75,
1761 99, 80, 111, 80, 80, 80, 80, 80, 75, 83,
1762 83, 83, 83, 83, 101, 75, 80, 186, 81, 79,
1763 81, 101, 83, 81, 81, 81, 81, 81, 82, 102,
1764 82, 82, 82, 82, 82, 108, 110, 99, 137, 80,
1765 186, 116, 152, 82, 120, 83, 88, 88, 88, 88,
1766 88, 101, 118, 120, 120, 101, 154, 102, 116, 101,
1767 297, 118, 297, 108, 110, 118, 82, 101, 130, 116,
1768 152, 101, 175, 101, 101, 115, 141, 283, 125, 125,
1769 283, 130, 184, 115, 115, 115, 115, 115, 125, 141,
1771 165, 158, 115, 115, 115, 115, 115, 115, 134, 175,
1772 161, 134, 154, 161, 161, 134, 158, 158, 158, 163,
1773 184, 185, 189, 163, 187, 115, 115, 115, 115, 115,
1774 115, 188, 192, 195, 167, 165, 165, 165, 167, 196,
1775 199, 201, 167, 203, 209, 189, 165, 185, 165, 265,
1776 165, 165, 187, 165, 260, 192, 253, 188, 268, 316,
1777 301, 195, 735, 199, 201, 301, 196, 209, 268, 321,
1778 203, 207, 207, 207, 207, 207, 291, 260, 217, 309,
1779 207, 207, 207, 207, 207, 207, 217, 312, 316, 291,
1780 318, 217, 217, 328, 340, 343, 400, 321, 431, 265,
1782 343, 431, 309, 207, 207, 207, 207, 207, 207, 253,
1783 312, 340, 253, 318, 326, 326, 326, 326, 326, 736,
1784 384, 737, 328, 326, 326, 326, 326, 326, 326, 348,
1785 384, 362, 376, 376, 376, 348, 362, 380, 376, 385,
1786 403, 411, 442, 380, 403, 411, 326, 326, 326, 326,
1787 326, 326, 415, 437, 400, 450, 415, 481, 437, 448,
1788 555, 448, 481, 467, 546, 471, 505, 385, 581, 546,
1789 442, 467, 738, 467, 467, 467, 505, 467, 471, 582,
1790 583, 633, 633, 450, 362, 583, 448, 710, 448, 362,
1791 449, 449, 449, 449, 449, 581, 711, 739, 585, 449,
1793 449, 449, 449, 449, 449, 585, 603, 582, 670, 603,
1794 740, 742, 555, 670, 743, 710, 699, 720, 720, 711,
1795 720, 744, 449, 449, 449, 449, 449, 449, 699, 741,
1796 745, 746, 747, 741, 748, 750, 751, 741, 752, 753,
1797 754, 755, 756, 757, 758, 759, 760, 761, 762, 763,
1798 764, 765, 670, 766, 767, 768, 769, 770, 771, 772,
1799 770, 773, 775, 776, 777, 778, 779, 780, 781, 782,
1800 783, 784, 786, 787, 788, 789, 790, 791, 792, 793,
1801 794, 795, 796, 798, 799, 800, 801, 802, 803, 804,
1802 805, 806, 807, 808, 809, 810, 811, 812, 813, 814,
1804 815, 816, 817, 818, 819, 820, 821, 822, 816, 823,
1805 824, 819, 825, 822, 827, 819, 828, 829, 830, 831,
1806 832, 833, 834, 835, 836, 837, 838, 839, 840, 841,
1807 842, 843, 845, 846, 847, 848, 849, 850, 851, 852,
1808 853, 854, 855, 856, 857, 858, 859, 860, 861, 862,
1809 863, 864, 865, 837, 866, 867, 868, 869, 870, 871,
1810 872, 873, 874, 875, 877, 878, 879, 880, 881, 882,
1811 883, 884, 885, 886, 882, 887, 888, 889, 890, 891,
1812 892, 893, 896, 897, 898, 899, 900, 901, 902, 905,
1813 906, 907, 908, 909, 911, 912, 913, 914, 915, 912,
1815 916, 917, 918, 919, 921, 923, 924, 925, 926, 927,
1816 928, 929, 930, 931, 932, 933, 934, 935, 936, 937,
1817 938, 939, 940, 941, 942, 943, 944, 945, 946, 947,
1818 948, 949, 950, 951, 952, 953, 954, 955, 956, 958,
1819 959, 947, 960, 961, 962, 963, 964, 965, 966, 967,
1820 968, 969, 970, 971, 973, 974, 975, 976, 977, 978,
1821 979, 980, 981, 982, 983, 984, 985, 986, 987, 988,
1822 989, 990, 967, 991, 992, 966, 993, 994, 995, 996,
1823 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007,
1824 1008, 1009, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1019,
1826 1020, 1015, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028,
1827 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038,
1828 1039, 1040, 1041, 1042, 1043, 1046, 1047, 1048, 1050, 1051,
1829 1052, 1053, 1040, 1055, 1056, 1057, 1058, 1059, 1060, 1061,
1830 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071,
1831 1072, 1073, 1075, 1076, 1015, 1077, 1078, 1079, 1080, 1081,
1832 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1091, 1090,
1833 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101,
1834 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111,
1835 1112, 1113, 1114, 1115, 1117, 1089, 1090, 1118, 1119, 1120,
1837 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130,
1838 1131, 1132, 1133, 1134, 1136, 1137, 1138, 1139, 1140, 1141,
1839 1137, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150,
1840 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160,
1841 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170,
1842 1171, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181,
1843 1138, 1182, 1183, 1185, 1186, 1187, 1190, 1191, 1192, 1193,
1844 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203,
1845 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213,
1846 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1222, 1223, 1224,
1848 1225, 1226, 1227, 1228, 1229, 1206, 1231, 1232, 1233, 1234,
1849 1235, 1207, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243,
1850 1244, 1245, 1246, 1247, 1248, 1251, 1253, 1255, 1256, 1257,
1851 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
1852 1268, 1269, 1270, 1272, 1273, 1274, 1276, 1277, 1278, 1279,
1853 1280, 1282, 1284, 1286, 1288, 1289, 1290, 1291, 1292, 1293,
1854 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303,
1855 1305, 1306, 1307, 1308, 1309, 1310, 1313, 1314, 1315, 1316,
1856 1317, 1318, 1319, 1320, 1322, 1323, 1324, 1325, 1326, 1327,
1857 1328, 1329, 1330, 1332, 1333, 1334, 1335, 1336, 1337, 1338,
1859 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348,
1860 1319, 1350, 1351, 1352, 1353, 1354, 1355, 1298, 1356, 1357,
1861 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367,
1862 1369, 1325, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377,
1863 1378, 1371, 1379, 1382, 1383, 1384, 1385, 1386, 1387, 1388,
1864 1389, 1390, 1391, 1392, 1393, 1394, 1396, 1397, 1398, 1399,
1865 1400, 1401, 1403, 1406, 1404, 1400, 1404, 1409, 1410, 1411,
1866 1412, 1414, 1415, 1416, 1417, 1418, 1420, 1421, 1422, 1424,
1867 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434,
1868 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1418, 1444,
1870 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455,
1871 1456, 1458, 1460, 1462, 1463, 1465, 1466, 1467, 1468, 1469,
1872 1470, 1471, 1472, 1473, 1474, 1476, 1477, 1478, 1479, 1480,
1873 1481, 1482, 1483, 1486, 1487, 1489, 1490, 1491, 1492, 1493,
1874 1495, 1496, 1495, 1497, 1498, 1499, 1500, 1501, 1495, 1502,
1875 1503, 1504, 1505, 1506, 1508, 1509, 1511, 1512, 1513, 1515,
1876 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525,
1877 1526, 1527, 1528, 1529, 1531, 1532, 1533, 1535, 1523, 1536,
1878 1537, 1538, 1509, 1539, 1540, 1541, 1542, 1542, 1543, 1544,
1879 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554,
1881 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564,
1882 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574,
1883 1575, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1585, 1586,
1884 1587, 1588, 1589, 1590, 1593, 1594, 1595, 1599, 1600, 1601,
1885 1602, 1603, 1604, 1605, 1606, 1607, 1543, 1608, 1609, 1611,
1886 1612, 1613, 1614, 1615, 1611, 1616, 1617, 1618, 1619, 1588,
1887 1621, 1622, 1623, 1625, 1626, 1628, 1629, 1630, 1632, 1633,
1888 1634, 1635, 1636, 1638, 1639, 1640, 1641, 1642, 1643, 1644,
1889 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654,
1890 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1664, 1666,
1892 1667, 1668, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677,
1893 1678, 1679, 1680, 1682, 1683, 1684, 1685, 1686, 1688, 1689,
1894 1690, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700,
1895 1701, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711,
1896 1712, 1713, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722,
1897 1724, 1726, 1727, 1728, 1730, 1732, 1733, 1734, 1735, 1736,
1898 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746,
1899 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1758,
1900 1759, 1760, 1761, 1763, 1764, 1765, 1766, 1767, 1768, 1769,
1901 1770, 1771, 1772, 1773, 1775, 1776, 1777, 1778, 1779, 1781,
1903 1782, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1793,
1904 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803,
1905 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815,
1906 1817, 1818, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827,
1907 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837,
1908 1838, 1839, 1840, 1841, 1842, 1844, 1845, 1846, 1847, 1848,
1909 1849, 1850, 1851, 1852, 1853, 1855, 1857, 1859, 1861, 1863,
1910 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1872, 1873, 1874,
1911 1875, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885,
1912 1886, 1888, 1889, 1891, 1892, 1893, 1894, 1895, 1897, 1898,
1914 1900, 1902, 1904, 1906, 1907, 1908, 1909, 1911, 1912, 1913,
1915 1914, 1915, 1916, 1917, 1919, 1920, 1921, 1922, 1923, 1924,
1916 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934,
1917 1935, 1937, 1938, 1939, 1941, 1942, 1943, 1944, 1945, 1946,
1918 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956,
1919 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1965, 1966, 1968,
1920 1969, 1970, 1972, 1973, 1974, 1975, 1981, 1985, 1986, 1987,
1921 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999,
1922 2001, 2003, 2005, 2006, 2007, 2008, 2010, 2011, 2010, 2012,
1923 2014, 2015, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024,
1925 2026, 2027, 2028, 2029, 2030, 2032, 2035, 2036, 2037, 2038,
1926 2042, 2042, 2042, 2043, 2043, 2043, 2044, 2045, 2044, 2046,
1927 2046, 2046, 2047, 2047, 2047, 2048, 729, 2048, 2049, 2049,
1928 2049, 728, 727, 726, 725, 724, 723, 722, 721, 719,
1929 718, 717, 716, 715, 714, 713, 712, 707, 706, 705,
1930 704, 703, 702, 701, 700, 698, 697, 696, 694, 693,
1931 692, 691, 690, 689, 688, 687, 686, 685, 684, 683,
1932 682, 681, 679, 678, 677, 676, 675, 674, 673, 672,
1933 671, 669, 668, 666, 665, 664, 663, 662, 661, 660,
1934 659, 657, 656, 655, 654, 652, 651, 649, 648, 647,
1936 646, 645, 644, 643, 642, 641, 640, 639, 638, 637,
1937 636, 635, 634, 632, 631, 630, 629, 628, 627, 625,
1938 624, 623, 622, 621, 620, 619, 618, 616, 615, 614,
1939 613, 612, 611, 610, 609, 608, 607, 606, 605, 604,
1940 602, 601, 600, 599, 598, 597, 596, 595, 594, 593,
1941 592, 591, 590, 589, 588, 587, 586, 577, 576, 575,
1942 574, 572, 569, 567, 566, 565, 564, 563, 562, 561,
1943 560, 559, 558, 557, 556, 554, 553, 552, 551, 550,
1944 549, 548, 547, 545, 544, 543, 542, 541, 540, 539,
1945 538, 537, 536, 535, 534, 532, 530, 529, 528, 527,
1947 526, 525, 524, 523, 522, 521, 520, 519, 518, 517,
1948 516, 515, 513, 512, 511, 510, 509, 508, 507, 506,
1949 504, 503, 502, 501, 500, 499, 498, 497, 496, 495,
1950 494, 493, 492, 491, 490, 489, 488, 487, 485, 484,
1951 483, 482, 480, 479, 478, 477, 476, 475, 473, 472,
1952 470, 469, 468, 466, 464, 463, 462, 461, 460, 459,
1953 458, 457, 455, 454, 453, 452, 451, 446, 444, 443,
1954 441, 438, 436, 435, 434, 433, 432, 430, 429, 428,
1955 427, 426, 425, 424, 423, 422, 421, 420, 419, 418,
1956 417, 416, 414, 413, 412, 410, 409, 408, 407, 406,
1958 405, 404, 402, 401, 399, 398, 397, 396, 395, 394,
1959 393, 392, 391, 390, 389, 388, 387, 383, 382, 381,
1960 379, 378, 377, 375, 374, 373, 372, 371, 370, 369,
1961 368, 367, 366, 365, 364, 363, 361, 360, 359, 358,
1962 357, 356, 355, 354, 353, 352, 351, 350, 349, 347,
1963 346, 345, 344, 342, 339, 338, 337, 336, 335, 334,
1964 333, 332, 331, 330, 329, 325, 323, 319, 317, 315,
1965 308, 307, 306, 305, 304, 303, 302, 300, 299, 298,
1966 296, 295, 294, 293, 292, 290, 289, 288, 287, 286,
1967 285, 284, 282, 281, 280, 279, 278, 277, 276, 275,
1969 274, 273, 272, 271, 270, 269, 267, 266, 264, 263,
1970 262, 261, 259, 258, 257, 256, 255, 254, 252, 251,
1971 250, 249, 248, 247, 246, 244, 243, 241, 240, 239,
1972 238, 237, 236, 235, 234, 233, 232, 231, 230, 229,
1973 228, 227, 226, 225, 224, 223, 222, 221, 220, 219,
1974 218, 215, 214, 213, 212, 211, 210, 208, 204, 202,
1975 200, 198, 193, 190, 182, 181, 180, 179, 178, 177,
1976 176, 174, 173, 172, 170, 169, 168, 166, 164, 162,
1977 160, 159, 157, 156, 155, 153, 151, 150, 149, 148,
1978 147, 146, 144, 143, 142, 140, 139, 138, 136, 135,
1980 133, 132, 128, 127, 126, 124, 123, 122, 121, 119,
1981 117, 113, 104, 103, 97, 96, 77, 72, 66, 52,
1982 49, 48, 43, 41, 39, 38, 24, 14, 11, 2041,
1983 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1984 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1985 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1986 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1987 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1988 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1989 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
1995static char *yy_last_accepting_cpos;
2002 148, 150, 152, 157, 158, 163, 164, 165, 177, 180,
2003 185, 192, 201, 210, 219, 228, 237, 246, 255, 264,
2004 273, 282, 291, 300, 309, 321, 333, 343, 353, 363,
2005 373, 383, 392, 402, 412, 422, 432, 441, 450, 459,
2006 468, 477, 486, 495, 504, 513, 522, 531, 540, 549,
2007 558, 571, 580, 589, 598, 607, 618, 629, 640, 651,
2008 663, 674, 685, 696, 707, 718, 729, 740, 749, 758,
2009 767, 778, 789, 800, 811, 822, 831, 843, 855, 867,
2010 879, 891, 903, 914, 925, 934, 943, 952, 961, 970,
2011 981, 992, 1003, 1014, 1025, 1036, 1047, 1059, 1069, 1080,
2013 1089, 1098, 1113, 1129, 1138, 1147, 1156, 1165, 1174, 1183,
2014 1192, 1201, 1210, 1219, 1243, 1267, 1276, 1286, 1296, 1305,
2015 1315, 1326, 1335, 1344, 1353, 1362, 1371, 1382, 1393, 1404,
2016 1414, 1423, 1432, 1441, 1452, 1463, 1474, 1485, 1496, 1505,
2017 1514, 1523, 1532, 1541, 1550, 1559, 1568, 1577, 1587, 1599,
2018 1612, 1621, 1630, 1640, 1650, 1659, 1670, 1680, 1689, 1699,
2019 1709, 1718, 1727, 1736, 1745, 1755, 1764, 1773, 1782, 1791,
2020 1800, 1809, 1818, 1827, 1836, 1845, 1854, 1863, 1872, 1881,
2021 1890, 1899, 1908, 1917, 1926, 1935, 1944, 1953, 1962, 1971,
2022 1980, 1989, 1998, 2007, 2016, 2025, 2034, 2043, 2052, 2061,
2024 2070, 2171, 2187, 2236, 2244, 2259, 2260, 2261, 2262, 2263,
2025 2264, 2266, 2284, 2297, 2302, 2306, 2308, 2310, 2312
2031#define REJECT reject_used_but_not_detected
2032#define yymore() yymore_used_but_not_detected
2033#define YY_MORE_ADJ 0
2034#define YY_RESTORE_YY_MORE_OFFSET
2036#line 1 "dhcp6_lexer.ll"
2042#line 8 "dhcp6_lexer.ll"
2045#ifndef __clang_analyzer__
2054#include <boost/lexical_cast.hpp>
2068bool start_token_flag =
false;
2071unsigned int comment_start_line = 0;
2078#define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
2079#line 2079 "dhcp6_lexer.cc"
2094#define YY_NO_INPUT 1
2100#line 95 "dhcp6_lexer.ll"
2104#define YY_USER_ACTION driver.loc_.columns(yyleng);
2105#line 2105 "dhcp6_lexer.cc"
2106#line 2106 "dhcp6_lexer.cc"
2111#define DIR_INCLUDE 3
2114#ifndef YY_NO_UNISTD_H
2126#ifndef YY_EXTRA_TYPE
2127#define YY_EXTRA_TYPE void *
2134static int yy_init_globals (
void );
2177#ifndef YY_SKIP_YYWRAP
2179extern "C" int yywrap (
void );
2181extern int yywrap (
void );
2194static void yy_flex_strncpy (
char *,
const char *,
int );
2197#ifdef YY_NEED_STRLEN
2198static int yy_flex_strlen (
const char * );
2205static int yyinput (
void );
2207static int input (
void );
2219#ifndef YY_READ_BUF_SIZE
2222#define YY_READ_BUF_SIZE 16384
2224#define YY_READ_BUF_SIZE 8192
2234#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2244#define YY_INPUT(buf,result,max_size) \
2246 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2250 for ( n = 0; n < max_size && \
2251 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2252 buf[n] = (char) c; \
2254 buf[n++] = (char) c; \
2255 if ( c == EOF && ferror( yyin ) ) \
2256 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2262 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2264 if( errno != EINTR) \
2266 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2284#define yyterminate() return YY_NULL
2288#ifndef YY_START_STACK_INCR
2289#define YY_START_STACK_INCR 25
2293#ifndef YY_FATAL_ERROR
2295#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2316#define YY_DECL_IS_OURS 1
2319extern int yylex (
void);
2321#define YY_DECL int yylex (void)
2330#ifndef YY_USER_ACTION
2331#define YY_USER_ACTION
2336#define YY_BREAK break;
2340#define YY_RULE_SETUP \
2388#line 101 "dhcp6_lexer.ll"
2392#line 105 "dhcp6_lexer.ll"
2400 if (start_token_flag) {
2401 start_token_flag =
false;
2402 switch (start_token_value) {
2403 case Parser6Context::PARSER_JSON:
2406 case Parser6Context::PARSER_DHCP6:
2408 case Parser6Context::SUBPARSER_DHCP6:
2410 case Parser6Context::PARSER_INTERFACES:
2412 case Parser6Context::PARSER_SUBNET6:
2414 case Parser6Context::PARSER_POOL6:
2416 case Parser6Context::PARSER_PD_POOL:
2418 case Parser6Context::PARSER_HOST_RESERVATION:
2420 case Parser6Context::PARSER_OPTION_DEFS:
2422 case Parser6Context::PARSER_OPTION_DEF:
2424 case Parser6Context::PARSER_OPTION_DATA:
2426 case Parser6Context::PARSER_HOOKS_LIBRARY:
2428 case Parser6Context::PARSER_DHCP_DDNS:
2430 case Parser6Context::PARSER_CONFIG_CONTROL:
2436#line 2436 "dhcp6_lexer.cc"
2441 yy_cp = (yy_c_buf_p);
2444 *
yy_cp = (yy_hold_char);
2452 yy_current_state = (yy_start);
2457 if ( yy_accept[yy_current_state] )
2459 (yy_last_accepting_state) = yy_current_state;
2460 (yy_last_accepting_cpos) =
yy_cp;
2462 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2464 yy_current_state = (int) yy_def[yy_current_state];
2465 if ( yy_current_state >= 2042 )
2466 yy_c = yy_meta[yy_c];
2468 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2471 while ( yy_current_state != 2041 );
2472 yy_cp = (yy_last_accepting_cpos);
2473 yy_current_state = (yy_last_accepting_state);
2477 yy_act = yy_accept[yy_current_state];
2489 fprintf( stderr,
"--scanner backing up\n" );
2491 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
2493 else if (
yy_act == 220 )
2494 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
2496 else if (
yy_act == 221 )
2497 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
2499 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
2507 *
yy_cp = (yy_hold_char);
2508 yy_cp = (yy_last_accepting_cpos);
2509 yy_current_state = (yy_last_accepting_state);
2510 goto yy_find_action;
2514#line 148 "dhcp6_lexer.ll"
2519#line 150 "dhcp6_lexer.ll"
2524#line 152 "dhcp6_lexer.ll"
2527 comment_start_line = driver.loc_.end.line;;
2532#line 157 "dhcp6_lexer.ll"
2537#line 158 "dhcp6_lexer.ll"
2541#line 159 "dhcp6_lexer.ll"
2548#line 163 "dhcp6_lexer.ll"
2553#line 164 "dhcp6_lexer.ll"
2558#line 165 "dhcp6_lexer.ll"
2563 std::string tmp(
yytext+1);
2564 tmp.resize(tmp.size() - 1);
2566 driver.includeFile(tmp);
2572#line 174 "dhcp6_lexer.ll"
2579#line 177 "dhcp6_lexer.ll"
2584#line 180 "dhcp6_lexer.ll"
2593#line 185 "dhcp6_lexer.ll"
2596 driver.loc_.lines(
yyleng);
2602#line 192 "dhcp6_lexer.ll"
2604 switch(driver.ctx_) {
2614#line 201 "dhcp6_lexer.ll"
2616 switch(driver.ctx_) {
2626#line 210 "dhcp6_lexer.ll"
2628 switch(driver.ctx_) {
2638#line 219 "dhcp6_lexer.ll"
2640 switch(driver.ctx_) {
2650#line 228 "dhcp6_lexer.ll"
2652 switch(driver.ctx_) {
2662#line 237 "dhcp6_lexer.ll"
2664 switch(driver.ctx_) {
2674#line 246 "dhcp6_lexer.ll"
2676 switch(driver.ctx_) {
2686#line 255 "dhcp6_lexer.ll"
2688 switch(driver.ctx_) {
2698#line 264 "dhcp6_lexer.ll"
2700 switch(driver.ctx_) {
2710#line 273 "dhcp6_lexer.ll"
2712 switch(driver.ctx_) {
2722#line 282 "dhcp6_lexer.ll"
2724 switch(driver.ctx_) {
2734#line 291 "dhcp6_lexer.ll"
2736 switch(driver.ctx_) {
2746#line 300 "dhcp6_lexer.ll"
2748 switch(driver.ctx_) {
2758#line 309 "dhcp6_lexer.ll"
2760 switch(driver.ctx_) {
2773#line 321 "dhcp6_lexer.ll"
2775 switch(driver.ctx_) {
2788#line 333 "dhcp6_lexer.ll"
2794 std::string tmp(
yytext+1);
2795 tmp.resize(tmp.size() - 1);
2801#line 343 "dhcp6_lexer.ll"
2807 std::string tmp(
yytext+1);
2808 tmp.resize(tmp.size() - 1);
2814#line 353 "dhcp6_lexer.ll"
2820 std::string tmp(
yytext+1);
2821 tmp.resize(tmp.size() - 1);
2827#line 363 "dhcp6_lexer.ll"
2833 std::string tmp(
yytext+1);
2834 tmp.resize(tmp.size() - 1);
2840#line 373 "dhcp6_lexer.ll"
2846 std::string tmp(
yytext+1);
2847 tmp.resize(tmp.size() - 1);
2853#line 383 "dhcp6_lexer.ll"
2855 switch(driver.ctx_) {
2865#line 392 "dhcp6_lexer.ll"
2871 std::string tmp(
yytext+1);
2872 tmp.resize(tmp.size() - 1);
2878#line 402 "dhcp6_lexer.ll"
2884 std::string tmp(
yytext+1);
2885 tmp.resize(tmp.size() - 1);
2891#line 412 "dhcp6_lexer.ll"
2897 std::string tmp(
yytext+1);
2898 tmp.resize(tmp.size() - 1);
2904#line 422 "dhcp6_lexer.ll"
2910 std::string tmp(
yytext+1);
2911 tmp.resize(tmp.size() - 1);
2917#line 432 "dhcp6_lexer.ll"
2919 switch(driver.ctx_) {
2929#line 441 "dhcp6_lexer.ll"
2931 switch(driver.ctx_) {
2941#line 450 "dhcp6_lexer.ll"
2943 switch(driver.ctx_) {
2953#line 459 "dhcp6_lexer.ll"
2955 switch(driver.ctx_) {
2965#line 468 "dhcp6_lexer.ll"
2967 switch(driver.ctx_) {
2977#line 477 "dhcp6_lexer.ll"
2979 switch(driver.ctx_) {
2989#line 486 "dhcp6_lexer.ll"
2991 switch(driver.ctx_) {
3001#line 495 "dhcp6_lexer.ll"
3003 switch(driver.ctx_) {
3013#line 504 "dhcp6_lexer.ll"
3015 switch(driver.ctx_) {
3025#line 513 "dhcp6_lexer.ll"
3027 switch(driver.ctx_) {
3037#line 522 "dhcp6_lexer.ll"
3039 switch(driver.ctx_) {
3049#line 531 "dhcp6_lexer.ll"
3051 switch(driver.ctx_) {
3061#line 540 "dhcp6_lexer.ll"
3063 switch(driver.ctx_) {
3073#line 549 "dhcp6_lexer.ll"
3075 switch(driver.ctx_) {
3085#line 558 "dhcp6_lexer.ll"
3087 switch(driver.ctx_) {
3101#line 571 "dhcp6_lexer.ll"
3103 switch(driver.ctx_) {
3113#line 580 "dhcp6_lexer.ll"
3115 switch(driver.ctx_) {
3125#line 589 "dhcp6_lexer.ll"
3127 switch(driver.ctx_) {
3137#line 598 "dhcp6_lexer.ll"
3139 switch(driver.ctx_) {
3149#line 607 "dhcp6_lexer.ll"
3151 switch(driver.ctx_) {
3163#line 618 "dhcp6_lexer.ll"
3165 switch(driver.ctx_) {
3177#line 629 "dhcp6_lexer.ll"
3179 switch(driver.ctx_) {
3191#line 640 "dhcp6_lexer.ll"
3193 switch(driver.ctx_) {
3205#line 651 "dhcp6_lexer.ll"
3207 switch(driver.ctx_) {
3220#line 663 "dhcp6_lexer.ll"
3222 switch(driver.ctx_) {
3234#line 674 "dhcp6_lexer.ll"
3236 switch(driver.ctx_) {
3248#line 685 "dhcp6_lexer.ll"
3250 switch(driver.ctx_) {
3262#line 696 "dhcp6_lexer.ll"
3264 switch(driver.ctx_) {
3276#line 707 "dhcp6_lexer.ll"
3278 switch(driver.ctx_) {
3290#line 718 "dhcp6_lexer.ll"
3292 switch(driver.ctx_) {
3304#line 729 "dhcp6_lexer.ll"
3306 switch(driver.ctx_) {
3318#line 740 "dhcp6_lexer.ll"
3320 switch(driver.ctx_) {
3330#line 749 "dhcp6_lexer.ll"
3332 switch(driver.ctx_) {
3342#line 758 "dhcp6_lexer.ll"
3344 switch(driver.ctx_) {
3354#line 767 "dhcp6_lexer.ll"
3356 switch(driver.ctx_) {
3368#line 778 "dhcp6_lexer.ll"
3370 switch(driver.ctx_) {
3382#line 789 "dhcp6_lexer.ll"
3384 switch(driver.ctx_) {
3396#line 800 "dhcp6_lexer.ll"
3398 switch(driver.ctx_) {
3410#line 811 "dhcp6_lexer.ll"
3412 switch(driver.ctx_) {
3424#line 822 "dhcp6_lexer.ll"
3426 switch(driver.ctx_) {
3436#line 831 "dhcp6_lexer.ll"
3438 switch(driver.ctx_) {
3451#line 843 "dhcp6_lexer.ll"
3453 switch(driver.ctx_) {
3466#line 855 "dhcp6_lexer.ll"
3468 switch(driver.ctx_) {
3481#line 867 "dhcp6_lexer.ll"
3483 switch(driver.ctx_) {
3496#line 879 "dhcp6_lexer.ll"
3498 switch(driver.ctx_) {
3511#line 891 "dhcp6_lexer.ll"
3513 switch(driver.ctx_) {
3526#line 903 "dhcp6_lexer.ll"
3528 switch(driver.ctx_) {
3540#line 914 "dhcp6_lexer.ll"
3542 switch(driver.ctx_) {
3554#line 925 "dhcp6_lexer.ll"
3556 switch(driver.ctx_) {
3566#line 934 "dhcp6_lexer.ll"
3568 switch(driver.ctx_) {
3578#line 943 "dhcp6_lexer.ll"
3580 switch(driver.ctx_) {
3590#line 952 "dhcp6_lexer.ll"
3592 switch(driver.ctx_) {
3602#line 961 "dhcp6_lexer.ll"
3604 switch(driver.ctx_) {
3614#line 970 "dhcp6_lexer.ll"
3616 switch(driver.ctx_) {
3628#line 981 "dhcp6_lexer.ll"
3630 switch(driver.ctx_) {
3642#line 992 "dhcp6_lexer.ll"
3644 switch(driver.ctx_) {
3656#line 1003 "dhcp6_lexer.ll"
3658 switch(driver.ctx_) {
3670#line 1014 "dhcp6_lexer.ll"
3672 switch(driver.ctx_) {
3684#line 1025 "dhcp6_lexer.ll"
3686 switch(driver.ctx_) {
3698#line 1036 "dhcp6_lexer.ll"
3700 switch(driver.ctx_) {
3712#line 1047 "dhcp6_lexer.ll"
3714 switch(driver.ctx_) {
3726#line 1059 "dhcp6_lexer.ll"
3728 switch(driver.ctx_) {
3739#line 1069 "dhcp6_lexer.ll"
3741 switch(driver.ctx_) {
3753#line 1080 "dhcp6_lexer.ll"
3755 switch (driver.ctx_) {
3757 return Dhcp6Parser::make_SHARED_NETWORKS(driver.loc_);
3759 return Dhcp6Parser::make_STRING(
"shared-networks", driver.loc_);
3765#line 1089 "dhcp6_lexer.ll"
3767 switch(driver.ctx_) {
3777#line 1098 "dhcp6_lexer.ll"
3779 switch(driver.ctx_) {
3795#line 1113 "dhcp6_lexer.ll"
3797 switch(driver.ctx_) {
3814#line 1129 "dhcp6_lexer.ll"
3816 switch(driver.ctx_) {
3826#line 1138 "dhcp6_lexer.ll"
3828 switch(driver.ctx_) {
3838#line 1147 "dhcp6_lexer.ll"
3840 switch(driver.ctx_) {
3850#line 1156 "dhcp6_lexer.ll"
3852 switch(driver.ctx_) {
3862#line 1165 "dhcp6_lexer.ll"
3864 switch(driver.ctx_) {
3874#line 1174 "dhcp6_lexer.ll"
3876 switch(driver.ctx_) {
3886#line 1183 "dhcp6_lexer.ll"
3888 switch(driver.ctx_) {
3898#line 1192 "dhcp6_lexer.ll"
3900 switch(driver.ctx_) {
3910#line 1201 "dhcp6_lexer.ll"
3912 switch(driver.ctx_) {
3922#line 1210 "dhcp6_lexer.ll"
3924 switch(driver.ctx_) {
3934#line 1219 "dhcp6_lexer.ll"
3936 switch(driver.ctx_) {
3961#line 1243 "dhcp6_lexer.ll"
3963 switch(driver.ctx_) {
3988#line 1267 "dhcp6_lexer.ll"
3990 switch(driver.ctx_) {
4000#line 1276 "dhcp6_lexer.ll"
4002 switch(driver.ctx_) {
4013#line 1286 "dhcp6_lexer.ll"
4015 switch(driver.ctx_) {
4026#line 1296 "dhcp6_lexer.ll"
4028 switch(driver.ctx_) {
4038#line 1305 "dhcp6_lexer.ll"
4040 switch(driver.ctx_) {
4051#line 1315 "dhcp6_lexer.ll"
4053 switch(driver.ctx_) {
4065#line 1326 "dhcp6_lexer.ll"
4067 switch(driver.ctx_) {
4077#line 1335 "dhcp6_lexer.ll"
4079 switch(driver.ctx_) {
4089#line 1344 "dhcp6_lexer.ll"
4091 switch(driver.ctx_) {
4101#line 1353 "dhcp6_lexer.ll"
4103 switch(driver.ctx_) {
4113#line 1362 "dhcp6_lexer.ll"
4115 switch(driver.ctx_) {
4125#line 1371 "dhcp6_lexer.ll"
4127 switch(driver.ctx_) {
4139#line 1382 "dhcp6_lexer.ll"
4141 switch(driver.ctx_) {
4153#line 1393 "dhcp6_lexer.ll"
4155 switch(driver.ctx_) {
4167#line 1404 "dhcp6_lexer.ll"
4169 switch(driver.ctx_) {
4180#line 1414 "dhcp6_lexer.ll"
4182 switch(driver.ctx_) {
4192#line 1423 "dhcp6_lexer.ll"
4194 switch(driver.ctx_) {
4204#line 1432 "dhcp6_lexer.ll"
4206 switch(driver.ctx_) {
4216#line 1441 "dhcp6_lexer.ll"
4218 switch(driver.ctx_) {
4230#line 1452 "dhcp6_lexer.ll"
4232 switch(driver.ctx_) {
4244#line 1463 "dhcp6_lexer.ll"
4246 switch(driver.ctx_) {
4258#line 1474 "dhcp6_lexer.ll"
4260 switch(driver.ctx_) {
4272#line 1485 "dhcp6_lexer.ll"
4274 switch(driver.ctx_) {
4286#line 1496 "dhcp6_lexer.ll"
4288 switch(driver.ctx_) {
4298#line 1505 "dhcp6_lexer.ll"
4300 switch(driver.ctx_) {
4310#line 1514 "dhcp6_lexer.ll"
4312 switch(driver.ctx_) {
4322#line 1523 "dhcp6_lexer.ll"
4324 switch(driver.ctx_) {
4334#line 1532 "dhcp6_lexer.ll"
4336 switch(driver.ctx_) {
4346#line 1541 "dhcp6_lexer.ll"
4348 switch(driver.ctx_) {
4358#line 1550 "dhcp6_lexer.ll"
4360 switch(driver.ctx_) {
4370#line 1559 "dhcp6_lexer.ll"
4372 switch(driver.ctx_) {
4382#line 1568 "dhcp6_lexer.ll"
4384 switch(driver.ctx_) {
4394#line 1577 "dhcp6_lexer.ll"
4396 switch(driver.ctx_) {
4407#line 1587 "dhcp6_lexer.ll"
4409 switch(driver.ctx_) {
4422#line 1599 "dhcp6_lexer.ll"
4424 switch(driver.ctx_) {
4438#line 1612 "dhcp6_lexer.ll"
4440 switch(driver.ctx_) {
4450#line 1621 "dhcp6_lexer.ll"
4452 switch(driver.ctx_) {
4462#line 1630 "dhcp6_lexer.ll"
4464 switch(driver.ctx_) {
4475#line 1640 "dhcp6_lexer.ll"
4477 switch(driver.ctx_) {
4488#line 1650 "dhcp6_lexer.ll"
4490 switch(driver.ctx_) {
4500#line 1659 "dhcp6_lexer.ll"
4502 switch(driver.ctx_) {
4514#line 1670 "dhcp6_lexer.ll"
4516 switch(driver.ctx_) {
4527#line 1680 "dhcp6_lexer.ll"
4529 switch(driver.ctx_) {
4539#line 1689 "dhcp6_lexer.ll"
4541 switch(driver.ctx_) {
4552#line 1699 "dhcp6_lexer.ll"
4554 switch(driver.ctx_) {
4565#line 1709 "dhcp6_lexer.ll"
4567 switch(driver.ctx_) {
4577#line 1718 "dhcp6_lexer.ll"
4579 switch(driver.ctx_) {
4589#line 1727 "dhcp6_lexer.ll"
4591 switch(driver.ctx_) {
4601#line 1736 "dhcp6_lexer.ll"
4603 switch(driver.ctx_) {
4613#line 1745 "dhcp6_lexer.ll"
4615 switch(driver.ctx_) {
4626#line 1755 "dhcp6_lexer.ll"
4628 switch(driver.ctx_) {
4638#line 1764 "dhcp6_lexer.ll"
4640 switch(driver.ctx_) {
4650#line 1773 "dhcp6_lexer.ll"
4652 switch(driver.ctx_) {
4662#line 1782 "dhcp6_lexer.ll"
4664 switch(driver.ctx_) {
4674#line 1791 "dhcp6_lexer.ll"
4676 switch(driver.ctx_) {
4686#line 1800 "dhcp6_lexer.ll"
4688 switch(driver.ctx_) {
4698#line 1809 "dhcp6_lexer.ll"
4700 switch(driver.ctx_) {
4710#line 1818 "dhcp6_lexer.ll"
4712 switch(driver.ctx_) {
4722#line 1827 "dhcp6_lexer.ll"
4724 switch(driver.ctx_) {
4734#line 1836 "dhcp6_lexer.ll"
4736 switch(driver.ctx_) {
4746#line 1845 "dhcp6_lexer.ll"
4748 switch(driver.ctx_) {
4758#line 1854 "dhcp6_lexer.ll"
4760 switch(driver.ctx_) {
4770#line 1863 "dhcp6_lexer.ll"
4772 switch(driver.ctx_) {
4782#line 1872 "dhcp6_lexer.ll"
4784 switch(driver.ctx_) {
4794#line 1881 "dhcp6_lexer.ll"
4796 switch(driver.ctx_) {
4806#line 1890 "dhcp6_lexer.ll"
4808 switch(driver.ctx_) {
4818#line 1899 "dhcp6_lexer.ll"
4820 switch(driver.ctx_) {
4830#line 1908 "dhcp6_lexer.ll"
4832 switch(driver.ctx_) {
4842#line 1917 "dhcp6_lexer.ll"
4844 switch(driver.ctx_) {
4854#line 1926 "dhcp6_lexer.ll"
4856 switch(driver.ctx_) {
4866#line 1935 "dhcp6_lexer.ll"
4868 switch(driver.ctx_) {
4878#line 1944 "dhcp6_lexer.ll"
4880 switch(driver.ctx_) {
4890#line 1953 "dhcp6_lexer.ll"
4892 switch(driver.ctx_) {
4902#line 1962 "dhcp6_lexer.ll"
4904 switch(driver.ctx_) {
4914#line 1971 "dhcp6_lexer.ll"
4916 switch(driver.ctx_) {
4926#line 1980 "dhcp6_lexer.ll"
4928 switch(driver.ctx_) {
4938#line 1989 "dhcp6_lexer.ll"
4940 switch(driver.ctx_) {
4950#line 1998 "dhcp6_lexer.ll"
4952 switch(driver.ctx_) {
4962#line 2007 "dhcp6_lexer.ll"
4964 switch(driver.ctx_) {
4974#line 2016 "dhcp6_lexer.ll"
4976 switch(driver.ctx_) {
4986#line 2025 "dhcp6_lexer.ll"
4988 switch(driver.ctx_) {
4998#line 2034 "dhcp6_lexer.ll"
5000 switch(driver.ctx_) {
5010#line 2043 "dhcp6_lexer.ll"
5012 switch(driver.ctx_) {
5022#line 2052 "dhcp6_lexer.ll"
5024 switch(driver.ctx_) {
5034#line 2061 "dhcp6_lexer.ll"
5036 switch(driver.ctx_) {
5046#line 2070 "dhcp6_lexer.ll"
5051 std::string raw(
yytext+1);
5052 size_t len = raw.size() - 1;
5054 std::string decoded;
5055 decoded.reserve(len);
5056 for (
size_t pos = 0; pos < len; ++pos) {
5062 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
5068 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
5075 decoded.push_back(c);
5078 decoded.push_back(
'\b');
5081 decoded.push_back(
'\f');
5084 decoded.push_back(
'\n');
5087 decoded.push_back(
'\r');
5090 decoded.push_back(
'\t');
5095 if (pos + 4 > len) {
5097 driver.error(driver.loc_,
5098 "Overflow unicode escape in \"" + raw +
"\"");
5100 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
5101 driver.error(driver.loc_,
5102 "Unsupported unicode escape in \"" + raw +
"\"",
5107 if ((c >=
'0') && (c <=
'9')) {
5109 }
else if ((c >=
'A') && (c <=
'F')) {
5110 b = (c -
'A' + 10) << 4;
5111 }
else if ((c >=
'a') && (c <=
'f')) {
5112 b = (c -
'a' + 10) << 4;
5115 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5119 if ((c >=
'0') && (c <=
'9')) {
5121 }
else if ((c >=
'A') && (c <=
'F')) {
5123 }
else if ((c >=
'a') && (c <=
'f')) {
5127 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5129 decoded.push_back(
static_cast<char>(b & 0xff));
5133 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
5137 if ((c >= 0) && (c < 0x20)) {
5139 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
5141 decoded.push_back(c);
5151#line 2171 "dhcp6_lexer.ll"
5154 std::string raw(
yytext+1);
5155 size_t len = raw.size() - 1;
5157 for (; pos < len; ++pos) {
5159 if ((c >= 0) && (c < 0x20)) {
5163 driver.error(driver.loc_,
5164 "Invalid control in " + std::string(
yytext),
5171#line 2187 "dhcp6_lexer.ll"
5174 std::string raw(
yytext+1);
5175 size_t len = raw.size() - 1;
5178 for (; pos < len; ++pos) {
5197 if ((pos + 4 > len) ||
5198 !std::isxdigit(raw[pos + 1]) ||
5199 !std::isxdigit(raw[pos + 2]) ||
5200 !std::isxdigit(raw[pos + 3]) ||
5201 !std::isxdigit(raw[pos + 4])) {
5212 std::string trailer =
"";
5213 if (raw[len - 1] ==
'\\') {
5216 driver.error(driver.loc_,
5217 "Bad escape in " + std::string(
yytext) + trailer,
5223#line 2236 "dhcp6_lexer.ll"
5226 std::string raw(
yytext+1);
5227 driver.error(driver.loc_,
5228 "Overflow escape in " + std::string(
yytext),
5234#line 2244 "dhcp6_lexer.ll"
5237 std::string raw(
yytext+1);
5238 size_t pos = raw.size() - 1;
5239 for (; pos > 0; --pos) {
5245 driver.error(driver.loc_,
5246 "Overflow unicode escape in " + std::string(
yytext),
5252#line 2259 "dhcp6_lexer.ll"
5257#line 2260 "dhcp6_lexer.ll"
5262#line 2261 "dhcp6_lexer.ll"
5267#line 2262 "dhcp6_lexer.ll"
5272#line 2263 "dhcp6_lexer.ll"
5277#line 2264 "dhcp6_lexer.ll"
5282#line 2266 "dhcp6_lexer.ll"
5286 int64_t integer = 0;
5292 integer = boost::lexical_cast<int64_t>(tmp);
5293 }
catch (
const boost::bad_lexical_cast &) {
5294 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
5303#line 2284 "dhcp6_lexer.ll"
5309 fp = boost::lexical_cast<double>(tmp);
5310 }
catch (
const boost::bad_lexical_cast &) {
5311 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
5319#line 2297 "dhcp6_lexer.ll"
5327#line 2302 "dhcp6_lexer.ll"
5334#line 2306 "dhcp6_lexer.ll"
5335driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
5339#line 2308 "dhcp6_lexer.ll"
5340driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
5344#line 2310 "dhcp6_lexer.ll"
5345driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
5349#line 2312 "dhcp6_lexer.ll"
5350driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
5353#line 2314 "dhcp6_lexer.ll"
5355 if (driver.states_.empty()) {
5358 driver.loc_ = driver.locs_.back();
5359 driver.locs_.pop_back();
5360 driver.file_ = driver.files_.back();
5361 driver.files_.pop_back();
5362 if (driver.sfile_) {
5363 fclose(driver.sfile_);
5366 if (!driver.sfiles_.empty()) {
5367 driver.sfile_ = driver.sfiles_.back();
5368 driver.sfiles_.pop_back();
5371 parser6__switch_to_buffer(driver.states_.back());
5372 driver.states_.pop_back();
5379#line 2337 "dhcp6_lexer.ll"
5382#line 5382 "dhcp6_lexer.cc"
5390 *
yy_cp = (yy_hold_char);
5424 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
5426 yy_current_state = yy_get_previous_state( );
5437 yy_next_state = yy_try_NUL_trans( yy_current_state );
5441 if ( yy_next_state )
5444 yy_cp = ++(yy_c_buf_p);
5445 yy_current_state = yy_next_state;
5452 yy_cp = (yy_last_accepting_cpos);
5453 yy_current_state = (yy_last_accepting_state);
5454 goto yy_find_action;
5458 else switch ( yy_get_next_buffer( ) )
5462 (yy_did_buffer_switch_on_eof) = 0;
5483 if ( ! (yy_did_buffer_switch_on_eof) )
5493 yy_current_state = yy_get_previous_state( );
5495 yy_cp = (yy_c_buf_p);
5503 yy_current_state = yy_get_previous_state( );
5505 yy_cp = (yy_c_buf_p);
5507 goto yy_find_action;
5514 "fatal flex scanner internal error--no action found" );
5535static int yy_get_next_buffer (
void)
5542 int number_to_move, i;
5547 "fatal flex scanner internal error--end of buffer missed" );
5571 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
5573 for ( i = 0; i < number_to_move; ++i )
5574 *(dest++) = *(source++);
5587 while ( num_to_read <= 0 )
5593 int yy_c_buf_p_offset =
5600 if ( new_size <= 0 )
5616 "fatal error - scanner input buffer overflow" );
5618 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
5630 (yy_n_chars), num_to_read );
5635 if ( (yy_n_chars) == 0 )
5656 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
5660 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
5665 (yy_n_chars) += number_to_move;
5687 yy_current_state = (yy_start);
5693 if ( yy_accept[yy_current_state] )
5695 (yy_last_accepting_state) = yy_current_state;
5696 (yy_last_accepting_cpos) =
yy_cp;
5698 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5700 yy_current_state = (int) yy_def[yy_current_state];
5701 if ( yy_current_state >= 2042 )
5702 yy_c = yy_meta[yy_c];
5704 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
5707 return yy_current_state;
5723 char *
yy_cp = (yy_c_buf_p);
5726 if ( yy_accept[yy_current_state] )
5728 (yy_last_accepting_state) = yy_current_state;
5729 (yy_last_accepting_cpos) =
yy_cp;
5731 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5733 yy_current_state = (int) yy_def[yy_current_state];
5734 if ( yy_current_state >= 2042 )
5735 yy_c = yy_meta[yy_c];
5737 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
5738 yy_is_jam = (yy_current_state == 2041);
5740 return yy_is_jam ? 0 : yy_current_state;
5752 static int yyinput (
void)
5754 static int input (
void)
5763 *(yy_c_buf_p) = (yy_hold_char);
5773 *(yy_c_buf_p) =
'\0';
5777 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
5780 switch ( yy_get_next_buffer( ) )
5803 if ( ! (yy_did_buffer_switch_on_eof) )
5819 c = *(
unsigned char *) (yy_c_buf_p);
5820 *(yy_c_buf_p) =
'\0';
5821 (yy_hold_char) = *++(yy_c_buf_p);
5879 *(yy_c_buf_p) = (yy_hold_char);
5892 (yy_did_buffer_switch_on_eof) = 1;
5908 (yy_hold_char) = *(yy_c_buf_p);
6056 if (new_buffer == NULL)
6065 *(yy_c_buf_p) = (yy_hold_char);
6072 (yy_buffer_stack_top)++;
6077 (yy_did_buffer_switch_on_eof) = 1;
6097 if ((yy_buffer_stack_top) > 0)
6098 --(yy_buffer_stack_top);
6102 (yy_did_buffer_switch_on_eof) = 1;
6119 if (!(yy_buffer_stack)) {
6129 if ( ! (yy_buffer_stack) )
6130 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6132 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
6134 (yy_buffer_stack_max) = num_to_alloc;
6135 (yy_buffer_stack_top) = 0;
6139 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6144 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6149 if ( ! (yy_buffer_stack) )
6150 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6153 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
6154 (yy_buffer_stack_max) = num_to_alloc;
6233 for ( i = 0; i < _yybytes_len; ++i )
6234 buf[i] = yybytes[i];
6251#ifndef YY_EXIT_FAILURE
6252#define YY_EXIT_FAILURE 2
6256static void yynoreturn yy_fatal_error (
const char* msg )
6258 fprintf( stderr,
"%s\n", msg );
6272 int yyless_macro_arg = (n); \
6273 YY_LESS_LINENO(yyless_macro_arg);\
6274 yytext[yyleng] = (yy_hold_char); \
6275 (yy_c_buf_p) = yytext + yyless_macro_arg; \
6276 (yy_hold_char) = *(yy_c_buf_p); \
6277 *(yy_c_buf_p) = '\0'; \
6278 yyleng = yyless_macro_arg; \
6377static int yy_init_globals (
void)
6383 (yy_buffer_stack) = NULL;
6384 (yy_buffer_stack_top) = 0;
6385 (yy_buffer_stack_max) = 0;
6386 (yy_c_buf_p) = NULL;
6419 yyfree((yy_buffer_stack) );
6420 (yy_buffer_stack) = NULL;
6437static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
6441 for ( i = 0; i < n; ++i )
6446#ifdef YY_NEED_STRLEN
6447static int yy_flex_strlen (
const char * s )
6450 for ( n = 0; s[n]; ++n )
6459 return malloc(size);
6472 return realloc(ptr, size);
6477 free( (
char *) ptr );
6482#define YYTABLES_NAME "yytables"
6487#line 2337 "dhcp6_lexer.ll"
6493Parser6Context::scanStringBegin(
const std::string& str,
ParserType parser_type)
6495 start_token_flag =
true;
6496 start_token_value = parser_type;
6503 buffer = parser6__scan_bytes(str.c_str(), str.size());
6505 fatal(
"cannot scan string");
6512 const std::string& filename,
6515 start_token_flag =
true;
6516 start_token_value = parser_type;
6525 buffer = parser6__create_buffer(f, 65536 );
6527 fatal(
"cannot scan file " + filename);
6529 parser6__switch_to_buffer(buffer);
6537 static_cast<void>(parser6_lex_destroy());
6548 parser6__delete_buffer(
states_.back());
6556 fatal(
"Too many nested include.");
6559 FILE* f = fopen(filename.c_str(),
"r");
6561 fatal(
"Can't open include file " + filename);
6569 buffer = parser6__create_buffer(f, 65536 );
6571 fatal(
"Can't scan include file " + filename);
6573 parser6__switch_to_buffer(buffer);
6586 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
unsigned char flex_uint8_t
Evaluation error exception raised when trying to parse.
static symbol_type make_SUB_RESERVATION(const location_type &l)
static symbol_type make_DISABLED(const location_type &l)
static symbol_type make_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_REQUEST_TIMEOUT(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_SUB_HOOKS_LIBRARY(const location_type &l)
static symbol_type make_WHEN_PRESENT(const location_type &l)
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_LENIENT_OPTION_PARSING(const location_type &l)
static symbol_type make_SENDER_PORT(const location_type &l)
static symbol_type make_IP_ADDRESS(const location_type &l)
static symbol_type make_CODE(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_AGE(const location_type &l)
static symbol_type make_CACHE_THRESHOLD(const location_type &l)
static symbol_type make_DHCP6(const location_type &l)
static symbol_type make_HOSTS_DATABASE(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_ENTERPRISE_ID(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_DHCP_DDNS(const location_type &l)
static symbol_type make_MAX_RECLAIM_TIME(const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
static symbol_type make_NCR_FORMAT(const location_type &l)
static symbol_type make_RESERVATIONS_OUT_OF_POOL(const location_type &l)
static symbol_type make_NCR_PROTOCOL(const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_EN(const location_type &l)
static symbol_type make_ARRAY(const location_type &l)
static symbol_type make_DDNS_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_SUB_DHCP6(const location_type &l)
static symbol_type make_RE_DETECT(const location_type &l)
static symbol_type make_DELEGATED_LEN(const location_type &l)
static symbol_type make_THREAD_POOL_SIZE(const location_type &l)
static symbol_type make_INTERFACE_ID(const location_type &l)
static symbol_type make_HOSTNAME(const location_type &l)
static symbol_type make_DATA_DIRECTORY(const location_type &l)
static symbol_type make_MAX_QUEUE_SIZE(const location_type &l)
static symbol_type make_SUB_POOL6(const location_type &l)
static symbol_type make_SUB_DHCP_DDNS(const location_type &l)
static symbol_type make_ALL(const location_type &l)
static symbol_type make_SUB_CONFIG_CONTROL(const location_type &l)
static symbol_type make_DDNS_SEND_UPDATES(const location_type &l)
static symbol_type make_IP_ADDRESSES(const location_type &l)
static symbol_type make_POOLS(const location_type &l)
static symbol_type make_PREFIX(const location_type &l)
static symbol_type make_ID(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_KEYSPACE(const location_type &l)
static symbol_type make_RESERVATIONS(const location_type &l)
static symbol_type make_DATA(const location_type &l)
static symbol_type make_INTERFACES(const location_type &l)
static symbol_type make_PREFERRED_LIFETIME(const location_type &l)
static symbol_type make_SERVER_IP(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_HOST_RESERVATION_IDENTIFIERS(const location_type &l)
static symbol_type make_OPTION_DATA(const location_type &l)
static symbol_type make_SUBNET6(const location_type &l)
static symbol_type make_PD_POOLS(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_MAX_PREFERRED_LIFETIME(const location_type &l)
static symbol_type make_PORT(const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_ENABLE_UPDATES(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_REPLACEMENT(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_MAX_RECONNECT_TRIES(const location_type &l)
static symbol_type make_MAX_VALID_LIFETIME(const location_type &l)
static symbol_type make_TIME(const location_type &l)
static symbol_type make_SOCKET_TYPE(const location_type &l)
static symbol_type make_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_SUB_INTERFACES6(const location_type &l)
static symbol_type make_JSON(const location_type &l)
static symbol_type make_MIN_PREFERRED_LIFETIME(const location_type &l)
static symbol_type make_LLT(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_FLEX_ID(const location_type &l)
static symbol_type make_CONSISTENCY(const location_type &l)
static symbol_type make_REQUIRE_CLIENT_CLASSES(const location_type &l)
static symbol_type make_SERVER_PORT(const location_type &l)
static symbol_type make_ONLY_IF_REQUIRED(const location_type &l)
static symbol_type make_DDNS_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_TCP_KEEPALIVE(const location_type &l)
static symbol_type make_SUB_OPTION_DATA(const location_type &l)
static symbol_type make_OPTION_DEF(const location_type &l)
static symbol_type make_DDNS_GENERATED_PREFIX(const location_type &l)
static symbol_type make_ALWAYS_SEND(const location_type &l)
static symbol_type make_CLIENT_CLASS(const location_type &l)
static symbol_type make_IP_RESERVATIONS_UNIQUE(const location_type &l)
static symbol_type make_PARKED_PACKET_LIMIT(const location_type &l)
static symbol_type make_LFC_INTERVAL(const location_type &l)
static symbol_type make_USER(const location_type &l)
static symbol_type make_SUBNET(const location_type &l)
static symbol_type make_RECORD_TYPES(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_RECONNECT_WAIT_TIME(const location_type &l)
static symbol_type make_OUT_OF_POOL(const location_type &l)
static symbol_type make_SUB_SUBNET6(const location_type &l)
static symbol_type make_EXPIRED_LEASES_PROCESSING(const location_type &l)
static symbol_type make_EXCLUDED_PREFIX(const location_type &l)
static symbol_type make_ALWAYS(const location_type &l)
static symbol_type make_HOSTS_DATABASES(const location_type &l)
static symbol_type make_STRING(const std::string &v, const location_type &l)
static symbol_type make_MYSQL(const location_type &l)
static symbol_type make_DDNS_USE_CONFLICT_RESOLUTION(const location_type &l)
static symbol_type make_MEMFILE(const location_type &l)
static symbol_type make_DDNS_UPDATE_ON_RENEW(const location_type &l)
static symbol_type make_SANITY_CHECKS(const location_type &l)
static symbol_type make_ENABLE_MULTI_THREADING(const location_type &l)
static symbol_type make_PERSIST(const location_type &l)
static symbol_type make_LEASE_DATABASE(const location_type &l)
static symbol_type make_INTERFACES_CONFIG(const location_type &l)
static symbol_type make_HTYPE(const location_type &l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_CONFIG_FETCH_WAIT_TIME(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_STORE_EXTENDED_INFO(const location_type &l)
static symbol_type make_CLIENT_CLASSES(const location_type &l)
static symbol_type make_PREFIX_LEN(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_IDENTIFIER(const location_type &l)
static symbol_type make_CACHE_MAX_AGE(const location_type &l)
static symbol_type make_READONLY(const location_type &l)
static symbol_type make_PASSWORD(const location_type &l)
static symbol_type make_TCP_NODELAY(const location_type &l)
static symbol_type make_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_LEASE_CHECKS(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_MIN_VALID_LIFETIME(const location_type &l)
static symbol_type make_T2_PERCENT(const location_type &l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(const location_type &l)
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_TCP(const location_type &l)
static symbol_type make_GLOBAL(const location_type &l)
static symbol_type make_POOL(const location_type &l)
static symbol_type make_LL(const location_type &l)
static symbol_type make_WHEN_NOT_PRESENT(const location_type &l)
static symbol_type make_SERVE_RETRY_EXIT(const location_type &l)
static symbol_type make_INTERFACE(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_SERVE_RETRY_CONTINUE(const location_type &l)
static symbol_type make_ENABLE_QUEUE(const location_type &l)
static symbol_type make_STOP_RETRY_EXIT(const location_type &l)
static symbol_type make_CONFIG_DATABASES(const location_type &l)
static symbol_type make_DHCP_QUEUE_CONTROL(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_COUNT(const location_type &l)
static symbol_type make_CALCULATE_TEE_TIMES(const location_type &l)
static symbol_type make_CAPACITY(const location_type &l)
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_SUB_OPTION_DEF(const location_type &l)
static symbol_type make_DHCP_MULTI_THREADING(const location_type &l)
static symbol_type make_SUB_PD_POOL(const location_type &l)
static symbol_type make_T1_PERCENT(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
static symbol_type make_SERIAL_CONSISTENCY(const location_type &l)
static symbol_type make_UDP(const location_type &l)
static symbol_type make_POSTGRESQL(const location_type &l)
static symbol_type make_CONTACT_POINTS(const location_type &l)
static symbol_type make_GENERATED_PREFIX(const location_type &l)
static symbol_type make_QUEUE_TYPE(const location_type &l)
static symbol_type make_TOPLEVEL_DHCP6(const location_type &l)
static symbol_type make_SERVER_ID(const location_type &l)
static symbol_type make_RELAY(const location_type &l)
static symbol_type make_HOLD_RECLAIMED_TIME(const location_type &l)
static symbol_type make_RELAY_SUPPLIED_OPTIONS(const location_type &l)
static symbol_type make_COMPATIBILITY(const location_type &l)
static symbol_type make_SUB_OPTION_DEFS(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_TYPE(const location_type &l)
static symbol_type make_CONNECT_TIMEOUT(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_PACKET_QUEUE_SIZE(const location_type &l)
static symbol_type make_RESERVATIONS_IN_SUBNET(const location_type &l)
static symbol_type make_REBIND_TIMER(const location_type &l)
static symbol_type make_CONFIG_CONTROL(const location_type &l)
static symbol_type make_PREFIXES(const location_type &l)
static symbol_type make_RESERVATION_MODE(const location_type &l)
static symbol_type make_CSV_FORMAT(const location_type &l)
static symbol_type make_MAC_SOURCES(const location_type &l)
static symbol_type make_DECLINE_PROBATION_PERIOD(const location_type &l)
static symbol_type make_TEST(const location_type &l)
static symbol_type make_RAPID_COMMIT(const location_type &l)
static symbol_type make_DUID(const location_type &l)
static symbol_type make_DHCP4O6_PORT(const location_type &l)
static symbol_type make_VALID_LIFETIME(const location_type &l)
static symbol_type make_ON_FAIL(const location_type &l)
static symbol_type make_SENDER_IP(const location_type &l)
static symbol_type make_HOST(const location_type &l)
static symbol_type make_MAX_RECLAIM_LEASES(const location_type &l)
static symbol_type make_SPACE(const location_type &l)
static symbol_type make_TOPLEVEL_JSON(const location_type &l)
static symbol_type make_EXCLUDED_PREFIX_LEN(const location_type &l)
static symbol_type make_HW_ADDRESS(const location_type &l)
static symbol_type make_RENEW_TIMER(const location_type &l)
static symbol_type make_MAX_ROW_ERRORS(const location_type &l)
static symbol_type make_NEVER(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_ENCAPSULATE(const location_type &l)
static symbol_type make_RESERVATIONS_GLOBAL(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_SET(const location_type &l)
static symbol_type make_CQL(const location_type &l)
static symbol_type make_SERVER_TAG(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
std::string file_
File name.
std::vector< isc::dhcp::location > locs_
Location stack.
isc::dhcp::location loc_
Location of the current token.
static void fatal(const std::string &what)
Fatal error handler.
void includeFile(const std::string &filename)
Divert input to an include file.
FILE * sfile_
sFile (aka FILE)
std::vector< std::string > files_
File name stack.
@ LOGGERS
Used while parsing Dhcp6/loggers structures.
@ RESERVATION_MODE
Used while parsing Dhcp6/reservation-mode.
@ CLIENT_CLASSES
Used while parsing Dhcp6/client-classes structures.
@ DATABASE_ON_FAIL
Used while parsing Dhcp6/*-database/on-fail.
@ OPTION_DEF
Used while parsing Dhcp6/option-def structures.
@ POOLS
Used while parsing Dhcp6/subnet6/pools structures.
@ EXPIRED_LEASES_PROCESSING
Used while parsing Dhcp6/expired-leases-processing.
@ OPTION_DATA
Used while parsing Dhcp6/option-data, Dhcp6/subnet6/option-data or anywhere option-data is present (c...
@ CONTROL_SOCKET
Used while parsing Dhcp6/control-socket structures.
@ SANITY_CHECKS
Sanity checks.
@ DHCP_QUEUE_CONTROL
Used while parsing Dhcp6/dhcp-queue-control structures.
@ SERVER_ID
Used while parsing Dhcp6/server-id structures.
@ HOSTS_DATABASE
Used while parsing Dhcp6/hosts-database[s] structures.
@ SUBNET6
Used while parsing Dhcp6/Subnet6 structures.
@ RESERVATIONS
Used while parsing Dhcp6/reservations structures.
@ CONFIG_DATABASE
Used while parsing config-control/config-databases.
@ DATABASE_TYPE
Used while parsing Dhcp6/*-database/type.
@ DHCP_DDNS
Used while parsing Dhcp6/dhcp-ddns.
@ COMPATIBILITY
Used while parsing compatibility parameters.
@ INTERFACES_CONFIG
Used while parsing Dhcp6/interfaces structures.
@ DUID_TYPE
Used while parsing Dhcp6/server-id/type structures.
@ HOOKS_LIBRARIES
Used while parsing Dhcp6/hooks-libraries.
@ CONFIG
Used while parsing content of Dhcp6.
@ LEASE_DATABASE
Used while parsing Dhcp6/lease-database structures.
@ NCR_PROTOCOL
Used while parsing Dhcp6/dhcp-ddns/ncr-protocol.
@ RELAY
Used while parsing Dhcp6/subnet6/relay structures.
@ OUTPUT_OPTIONS
Used while parsing Dhcp6/loggers/output_options structures.
@ HOST_RESERVATION_IDENTIFIERS
Used while parsing Dhcp6/host-reservation-identifiers.
@ NCR_FORMAT
Used while parsing Dhcp6/dhcp-ddns/ncr-format.
@ REPLACE_CLIENT_NAME
Used while parsing Dhcp6/dhcp-ddns/replace-client-name.
@ DHCP_MULTI_THREADING
Used while parsing Dhcp6/multi-threading structures.
@ SHARED_NETWORK
Used while parsing shared-networks structures.
@ PD_POOLS
Used while parsing Dhcp6/subnet6/pd-pools structures.
@ MAC_SOURCES
Used while parsing Dhcp6/mac-sources structures.
@ CONFIG_CONTROL
Used while parsing Dhcp6/config-control.
void scanEnd()
Method called after the last tokens are scanned.
void scanFileBegin(FILE *f, const std::string &filename, ParserType type)
Method called before scanning starts on a file.
ParserType
Defines currently supported scopes.
std::vector< FILE * > sfiles_
sFile (aka FILE) stack
std::vector< struct yy_buffer_state * > states_
Lexer state stack.
#define yy_load_buffer_state
unsigned char flex_uint8_t
unsigned int flex_uint32_t
#define yypush_buffer_state
#define yyget_in
Get the input stream.
struct yy_buffer_state * YY_BUFFER_STATE
#define YY_RESTORE_YY_MORE_OFFSET
#define yyget_leng
Get the length of the current token.
#define yyget_out
Get the output stream.
#define yyensure_buffer_stack
#define EOB_ACT_END_OF_FILE
#define YY_CURRENT_BUFFER_LVALUE
#define yyget_text
Get the current token.
#define yy_switch_to_buffer
#define YY_CURRENT_BUFFER
#define YY_INPUT(buf, result, max_size)
#define YY_STATE_EOF(state)
#define YY_END_OF_BUFFER_CHAR
#define YY_FATAL_ERROR(msg)
unsigned short int flex_uint16_t
#define yypop_buffer_state
Removes and deletes the top of the stack, if present.
#define YY_DO_BEFORE_ACTION
#define EOB_ACT_LAST_MATCH
#define YY_BUFFER_EOF_PENDING
#define EOB_ACT_CONTINUE_SCAN
#define yyget_lineno
Get the current line number.
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
int yy_bs_column
The column count.
int yy_bs_lineno
The line count.