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 219
695#define YY_END_OF_BUFFER 220
705 212, 212, 0, 0, 0, 0, 0, 0, 0, 0,
706 220, 218, 10, 11, 218, 1, 212, 209, 212, 212,
707 218, 211, 210, 218, 218, 218, 218, 218, 205, 206,
708 218, 218, 218, 207, 208, 5, 5, 5, 218, 218,
709 218, 10, 11, 0, 0, 200, 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, 212, 212,
713 0, 211, 212, 3, 2, 6, 0, 212, 0, 0,
714 0, 0, 0, 0, 4, 0, 0, 9, 0, 201,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 203, 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, 171, 0, 0, 172, 0, 0, 0,
727 0, 0, 0, 0, 202, 204, 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, 118, 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, 217,
739 215, 0, 214, 213, 0, 0, 0, 0, 0, 170,
740 0, 28, 0, 27, 0, 0, 125, 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, 122, 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, 216, 213, 0,
753 0, 0, 0, 29, 0, 31, 0, 0, 0, 0,
754 0, 0, 0, 0, 129, 0, 0, 0, 0, 0,
755 0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
756 0, 0, 155, 0, 0, 0, 0, 0, 0, 0,
757 0, 0, 0, 0, 58, 0, 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, 102, 0, 0, 0, 0, 0, 0, 0,
762 0, 0, 0, 0, 0, 0, 0, 0, 112, 0,
763 59, 0, 0, 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, 150, 0, 175, 51, 0,
767 56, 0, 0, 0, 0, 37, 34, 33, 0, 0,
768 0, 163, 0, 0, 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, 141, 0, 0, 0, 0, 0,
773 0, 0, 0, 174, 0, 0, 0, 0, 0, 0,
774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
775 0, 0, 0, 0, 0, 0, 0, 53, 0, 0,
776 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
777 0, 0, 0, 105, 0, 0, 0, 0, 0, 0,
778 0, 0, 0, 0, 0, 0, 164, 0, 0, 0,
779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
780 0, 159, 0, 0, 0, 0, 0, 0, 0, 0,
782 0, 0, 0, 0, 7, 35, 0, 0, 0, 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, 124, 0, 0, 0, 0,
787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
789 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
790 0, 140, 0, 0, 0, 0, 0, 0, 0, 0,
791 0, 0, 107, 0, 0, 0, 0, 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, 115, 0, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
797 0, 0, 0, 0, 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, 158, 0, 0, 0, 0, 0, 0, 0, 0,
801 0, 0, 0, 0, 0, 0, 0, 0, 0, 168,
802 138, 0, 0, 0, 0, 0, 0, 0, 142, 52,
804 0, 0, 0, 0, 0, 67, 0, 0, 0, 0,
805 0, 0, 0, 0, 144, 0, 60, 0, 0, 0,
806 0, 0, 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, 97, 0, 0, 0, 0, 0, 0, 0, 0,
810 0, 0, 0, 0, 0, 0, 195, 0, 0, 0,
811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
813 0, 121, 0, 0, 0, 0, 0, 0, 0, 0,
815 0, 0, 0, 0, 157, 0, 0, 0, 0, 0,
816 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
818 0, 0, 0, 0, 0, 0, 0, 57, 106, 0,
819 0, 0, 154, 0, 0, 0, 0, 50, 0, 0,
820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 0, 0, 0, 146, 0, 0,
822 0, 0, 0, 0, 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, 196,
827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 0, 0, 0, 116, 0,
829 0, 0, 0, 0, 0, 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, 41, 0, 0, 0, 0, 0,
833 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
834 169, 14, 0, 0, 0, 0, 0, 0, 0, 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, 160, 0, 0, 0, 0, 0, 0,
839 0, 0, 145, 0, 0, 0, 0, 0, 0, 0,
840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
841 0, 156, 173, 0, 40, 0, 165, 0, 0, 0,
842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
843 0, 0, 0, 20, 0, 0, 0, 100, 0, 0,
844 0, 0, 0, 167, 54, 0, 108, 0, 194, 0,
845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
846 0, 0, 0, 0, 0, 86, 0, 0, 0, 0,
848 0, 0, 134, 135, 0, 0, 0, 0, 0, 0,
849 0, 0, 104, 0, 0, 0, 0, 0, 0, 0,
850 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
852 162, 0, 0, 0, 0, 0, 0, 0, 0, 0,
853 0, 0, 0, 0, 0, 0, 0, 0, 0, 130,
854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
855 0, 101, 123, 0, 0, 0, 0, 0, 0, 0,
856 0, 0, 0, 0, 0, 83, 0, 0, 0, 0,
857 0, 0, 17, 0, 0, 15, 0, 191, 190, 0,
859 0, 0, 0, 73, 0, 0, 0, 0, 0, 30,
860 0, 0, 0, 149, 0, 0, 0, 0, 0, 0,
861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
862 0, 0, 0, 184, 0, 193, 0, 0, 0, 0,
863 0, 0, 0, 0, 0, 0, 0, 117, 0, 153,
864 0, 43, 0, 0, 61, 0, 0, 0, 0, 0,
865 0, 0, 0, 0, 0, 19, 0, 0, 0, 0,
866 0, 0, 0, 119, 84, 0, 0, 161, 0, 0,
867 0, 0, 0, 152, 0, 0, 0, 0, 0, 0,
868 0, 0, 0, 0, 0, 0, 113, 0, 0, 137,
870 0, 0, 0, 198, 0, 0, 0, 0, 0, 0,
871 0, 0, 0, 0, 0, 0, 0, 0, 0, 111,
872 0, 0, 0, 176, 0, 0, 0, 0, 0, 0,
873 0, 0, 0, 0, 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, 42, 0, 0, 0, 0, 0,
877 0, 0, 72, 0, 0, 0, 0, 0, 0, 147,
878 47, 0, 0, 0, 74, 189, 38, 0, 0, 0,
879 0, 0, 0, 0, 0, 0, 0, 0, 12, 0,
881 0, 0, 0, 0, 0, 0, 0, 0, 45, 0,
882 0, 0, 44, 0, 0, 18, 0, 0, 0, 76,
883 0, 0, 0, 0, 0, 139, 0, 0, 0, 0,
884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
886 80, 0, 136, 0, 0, 0, 62, 0, 0, 0,
887 0, 0, 0, 0, 0, 0, 0, 0, 109, 0,
888 0, 0, 0, 0, 166, 0, 0, 0, 46, 0,
889 0, 0, 0, 0, 0, 0, 0, 0, 0, 185,
890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
892 71, 0, 0, 0, 0, 0, 0, 0, 0, 99,
893 0, 68, 0, 0, 0, 36, 0, 48, 0, 0,
894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
895 0, 0, 0, 24, 0, 0, 0, 0, 0, 0,
896 0, 0, 0, 182, 0, 0, 0, 0, 151, 0,
897 0, 0, 0, 0, 0, 0, 0, 0, 0, 120,
898 0, 0, 0, 0, 0, 69, 0, 0, 187, 0,
899 0, 0, 0, 0, 0, 0, 0, 89, 0, 0,
900 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,
901 39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
903 0, 188, 0, 13, 0, 0, 0, 0, 0, 0,
904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
905 0, 0, 0, 0, 0, 0, 0, 192, 0, 0,
906 0, 0, 0, 0, 0, 0, 0, 0, 181, 0,
907 82, 0, 81, 0, 21, 77, 0, 0, 0, 0,
908 0, 0, 0, 0, 65, 0, 0, 0, 0, 133,
909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
910 110, 0, 0, 180, 0, 0, 0, 0, 0, 75,
911 0, 0, 0, 66, 0, 23, 0, 126, 0, 0,
912 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
914 95, 0, 0, 0, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 0, 0, 0, 0, 70, 0,
916 0, 0, 93, 0, 0, 0, 0, 0, 0, 0,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
918 0, 0, 0, 0, 0, 0, 49, 0, 0, 94,
919 0, 0, 0, 186, 0, 0, 0, 0, 197, 199,
920 79, 78, 22, 0, 131, 148, 127, 0, 0, 0,
921 0, 90, 0, 0, 0, 0, 0, 0, 0, 178,
922 0, 0, 183, 0, 92, 0, 85, 0, 0, 0,
923 0, 128, 0, 0, 0, 177, 0, 0, 26, 0,
925 0, 0, 0, 0, 0, 0, 0, 91, 0, 0,
926 0, 0, 0, 96, 0, 132, 88, 0, 0, 0,
930static const YY_CHAR yy_ec[256] =
932 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
933 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
934 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
935 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
936 5, 8, 9, 10, 11, 12, 13, 14, 15, 16,
937 14, 17, 14, 18, 14, 14, 14, 19, 5, 20,
938 5, 21, 22, 5, 23, 24, 25, 26, 27, 28,
939 5, 29, 5, 30, 5, 31, 5, 32, 33, 34,
940 5, 35, 36, 37, 38, 39, 40, 5, 41, 5,
941 42, 43, 44, 5, 45, 5, 46, 47, 48, 49,
943 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
944 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
945 70, 71, 72, 5, 73, 5, 5, 5, 5, 5,
946 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
947 5, 5, 5, 5, 5, 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,
954 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
955 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,
962static const YY_CHAR yy_meta[74] =
964 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
965 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
966 1, 1, 1, 1, 1, 1, 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,
976 0, 72, 21, 31, 43, 51, 54, 60, 91, 99,
977 2412, 2413, 34, 2408, 145, 0, 207, 2413, 214, 221,
978 13, 228, 2413, 2388, 118, 25, 2, 6, 2413, 2413,
979 73, 11, 17, 2413, 2413, 2413, 104, 2396, 2349, 0,
980 2386, 108, 2403, 24, 256, 2413, 67, 2352, 2372, 84,
981 75, 2372, 88, 226, 91, 89, 284, 196, 203, 279,
982 193, 224, 216, 60, 242, 2352, 286, 288, 314, 300,
983 319, 2335, 204, 324, 356, 329, 2354, 0, 380, 400,
984 420, 427, 406, 2413, 0, 2413, 385, 443, 238, 241,
985 310, 269, 299, 314, 2413, 2351, 2392, 2413, 405, 2413,
987 419, 400, 2349, 2390, 326, 10, 262, 407, 224, 409,
988 352, 206, 2389, 0, 480, 412, 2331, 415, 2339, 406,
989 2335, 2324, 2325, 2330, 442, 2340, 2323, 2332, 327, 431,
990 226, 2326, 2324, 452, 2313, 2371, 399, 2316, 2369, 2309,
991 441, 2330, 2330, 2324, 339, 2317, 2315, 2316, 2308, 2313,
992 2307, 414, 2318, 456, 2303, 2302, 2316, 454, 2354, 2301,
993 451, 2313, 474, 2301, 490, 2302, 476, 2314, 2311, 2312,
994 293, 2310, 2345, 2344, 449, 2290, 2290, 2294, 2290, 2282,
995 2299, 2291, 0, 457, 491, 401, 489, 501, 496, 2290,
996 2413, 510, 2285, 2413, 498, 508, 2413, 2339, 514, 2338,
998 515, 2337, 512, 2336, 2413, 2413, 558, 2335, 522, 2294,
999 2286, 2290, 2291, 2286, 2285, 219, 528, 2328, 2322, 2286,
1000 2267, 2264, 2272, 2278, 2266, 2280, 2276, 2277, 2277, 2272,
1001 2264, 2266, 2250, 2254, 2267, 2269, 2266, 2258, 2248, 2251,
1002 2265, 2413, 2251, 2259, 80, 2244, 2243, 2252, 2294, 2241,
1003 2251, 2291, 546, 2250, 2289, 2234, 2236, 2247, 2285, 528,
1004 2289, 2243, 2223, 2238, 539, 2228, 2234, 2243, 2224, 2222,
1005 2225, 2221, 2227, 2218, 2217, 2230, 2223, 2213, 2224, 2228,
1006 2227, 2221, 431, 2228, 2223, 2215, 2205, 2220, 2215, 2219,
1007 523, 2217, 2203, 2209, 2216, 2198, 410, 2203, 2200, 2199,
1009 555, 2194, 2208, 2207, 2206, 2209, 2191, 2199, 553, 2413,
1010 2413, 561, 2413, 2413, 2186, 519, 2233, 564, 2244, 2413,
1011 534, 2413, 2243, 2413, 2237, 601, 2413, 529, 2177, 2196,
1012 2179, 2196, 2184, 2236, 2191, 2194, 2185, 2188, 2183, 549,
1013 2413, 2185, 590, 2224, 2182, 2179, 2180, 619, 2184, 2224,
1014 2172, 2167, 2164, 2160, 2162, 2213, 2170, 2159, 2175, 2209,
1015 2155, 626, 2168, 2168, 2151, 2152, 2165, 2163, 2151, 2161,
1016 2160, 2155, 2162, 2157, 2142, 572, 2151, 2154, 2149, 577,
1017 2148, 2144, 2194, 570, 559, 2413, 2153, 2187, 2137, 2136,
1018 2129, 2131, 2143, 2134, 2123, 2140, 2129, 2134, 592, 2181,
1020 2134, 509, 2131, 2134, 2134, 2132, 2121, 2121, 2133, 582,
1021 2108, 2109, 2130, 592, 2112, 2109, 2123, 2126, 2121, 2107,
1022 2119, 2118, 2117, 2112, 2154, 2114, 2113, 2112, 2111, 564,
1023 2154, 2113, 2152, 2151, 2093, 647, 2106, 2413, 2413, 2105,
1024 604, 2147, 2146, 2413, 2145, 2413, 623, 677, 607, 2144,
1025 2138, 2091, 2093, 2081, 2413, 2086, 2079, 2091, 2094, 2077,
1026 2092, 2079, 2078, 2413, 2088, 610, 2079, 2076, 2088, 605,
1027 2073, 2075, 2413, 2081, 2066, 2068, 2079, 2077, 2072, 653,
1028 2079, 2067, 2060, 2111, 2413, 2058, 2074, 2108, 2112, 2068,
1029 2062, 2064, 2065, 2049, 2066, 2100, 2051, 2050, 2045, 2044,
1031 2046, 2042, 2038, 615, 2057, 2031, 2038, 2043, 2036, 2052,
1032 2086, 2090, 2413, 2035, 2031, 2087, 2038, 2037, 2031, 2038,
1033 2023, 2033, 2021, 2035, 2024, 2020, 2022, 2017, 2413, 2074,
1034 2413, 2016, 2015, 2008, 2025, 2064, 2063, 2008, 2013, 2022,
1035 2016, 2010, 2019, 655, 2056, 2018, 2001, 2001, 1996, 1992,
1036 1998, 2003, 649, 2005, 2009, 1992, 2050, 1991, 1991, 2042,
1037 1987, 1988, 1987, 1999, 1988, 2413, 1998, 2413, 2413, 1987,
1038 2413, 1997, 2033, 1993, 2036, 2413, 2413, 2413, 636, 643,
1039 675, 2413, 622, 1995, 1975, 2028, 1973, 1983, 2025, 1970,
1040 1969, 1968, 1975, 1968, 1976, 1979, 1961, 1961, 1976, 1975,
1042 646, 1974, 1973, 1957, 1972, 1954, 2001, 1968, 2006, 1950,
1043 1952, 1964, 1964, 1963, 2413, 1948, 1945, 2003, 1958, 1950,
1044 1956, 1947, 1955, 2413, 1940, 1951, 1955, 1937, 1949, 1950,
1045 640, 1932, 1931, 1925, 1930, 1927, 1942, 1941, 1942, 1921,
1046 1931, 1937, 1980, 1935, 1934, 1926, 1917, 2413, 1918, 1920,
1047 2413, 1922, 1927, 1966, 1965, 16, 1926, 1963, 1908, 1909,
1048 1912, 1913, 1904, 2413, 1918, 1904, 702, 1896, 1900, 1916,
1049 1913, 1905, 1950, 1902, 1909, 1947, 2413, 1893, 1891, 1905,
1050 1889, 1903, 1906, 1940, 1939, 1938, 1885, 1936, 1881, 1934,
1051 1933, 2413, 1878, 1892, 1891, 691, 1892, 1891, 1888, 1888,
1053 1925, 1885, 1874, 1876, 2413, 2413, 646, 671, 1868, 1885,
1054 1877, 1864, 1858, 1879, 1920, 1878, 666, 1913, 1873, 1911,
1055 1910, 1862, 1856, 1859, 1867, 1870, 1854, 1851, 92, 170,
1056 208, 333, 313, 543, 613, 666, 630, 671, 642, 662,
1057 669, 708, 714, 672, 680, 2413, 683, 678, 670, 685,
1058 690, 688, 685, 692, 691, 679, 693, 691, 699, 735,
1059 697, 742, 743, 687, 700, 687, 697, 744, 702, 752,
1060 2413, 753, 709, 707, 709, 705, 699, 759, 755, 718,
1061 707, 2413, 709, 720, 709, 722, 724, 768, 711, 770,
1062 713, 728, 2413, 722, 716, 727, 712, 723, 736, 715,
1064 721, 776, 740, 724, 724, 737, 781, 782, 783, 730,
1065 748, 743, 750, 749, 746, 731, 743, 744, 751, 741,
1066 739, 2413, 804, 762, 763, 753, 765, 755, 768, 759,
1067 765, 809, 785, 772, 754, 761, 775, 820, 770, 2413,
1068 774, 769, 784, 781, 767, 774, 773, 771, 790, 787,
1069 788, 776, 783, 784, 793, 797, 833, 795, 785, 798,
1070 784, 784, 790, 846, 787, 788, 794, 810, 793, 847,
1071 802, 2413, 812, 812, 805, 816, 814, 859, 801, 803,
1072 818, 819, 807, 805, 867, 824, 810, 816, 814, 2413,
1073 2413, 830, 829, 830, 835, 823, 833, 835, 2413, 2413,
1075 835, 837, 824, 842, 829, 2413, 827, 845, 832, 832,
1076 883, 830, 834, 892, 2413, 893, 2413, 838, 852, 852,
1077 897, 845, 844, 848, 842, 902, 855, 845, 846, 842,
1078 852, 856, 867, 851, 869, 864, 866, 859, 861, 862,
1079 858, 875, 865, 880, 921, 878, 883, 860, 883, 869,
1080 868, 2413, 875, 876, 891, 881, 879, 929, 876, 891,
1081 909, 917, 886, 935, 897, 937, 2413, 903, 893, 892,
1082 887, 888, 900, 907, 896, 897, 893, 911, 897, 898,
1083 908, 917, 953, 900, 918, 911, 906, 960, 966, 923,
1084 914, 2413, 918, 926, 928, 913, 929, 919, 931, 925,
1086 972, 938, 922, 923, 2413, 939, 942, 925, 927, 985,
1087 928, 947, 2413, 946, 949, 936, 931, 949, 937, 990,
1088 948, 944, 941, 994, 943, 996, 958, 944, 962, 961,
1089 947, 962, 954, 950, 968, 967, 954, 2413, 2413, 962,
1090 1009, 962, 2413, 970, 973, 966, 1019, 2413, 968, 974,
1091 1018, 969, 970, 982, 976, 980, 978, 976, 987, 1032,
1092 976, 981, 978, 1036, 1037, 981, 993, 2413, 981, 989,
1093 987, 1039, 981, 1002, 988, 989, 998, 1010, 997, 995,
1094 1009, 1010, 1026, 1031, 1013, 1018, 1001, 1001, 1003, 1014,
1095 1004, 1024, 1023, 1014, 1003, 1020, 1027, 1070, 1012, 1032,
1097 1025, 1029, 1033, 1016, 1033, 1024, 1079, 1026, 1030, 2413,
1098 1077, 1028, 1027, 1027, 1048, 1045, 1085, 1034, 1052, 1053,
1099 1039, 1047, 1056, 1036, 1051, 1058, 1100, 1101, 2413, 1054,
1100 1103, 1104, 1046, 1056, 1066, 1050, 1070, 1053, 1055, 1055,
1101 1062, 1071, 1059, 1066, 1061, 1068, 1080, 1121, 1068, 1067,
1102 1084, 1125, 1075, 1079, 1077, 1075, 1070, 1131, 1132, 1082,
1103 1134, 1130, 1136, 1089, 2413, 1094, 1087, 1078, 1097, 1091,
1104 1086, 1096, 1093, 1098, 1094, 1107, 2413, 1091, 1093, 1088,
1105 2413, 2413, 1094, 1154, 1093, 1112, 1113, 1115, 1154, 1107,
1106 1161, 1162, 1115, 1100, 1114, 1122, 1104, 1109, 1148, 1139,
1108 1171, 1126, 1126, 1130, 1117, 1117, 1120, 1137, 1132, 1136,
1109 1181, 1129, 1133, 2413, 1130, 1126, 1143, 1123, 1144, 1134,
1110 1185, 1138, 2413, 1152, 1150, 1153, 1137, 1149, 1155, 1141,
1111 1201, 1154, 1159, 1146, 1157, 1149, 1155, 1151, 1169, 1170,
1112 1171, 2413, 2413, 1169, 2413, 1171, 2413, 1156, 1167, 1158,
1113 1177, 1170, 1168, 1220, 1177, 1174, 1218, 1182, 1171, 1178,
1114 1183, 1180, 1186, 2413, 1179, 1171, 1232, 2413, 1233, 1180,
1115 1187, 1231, 1193, 2413, 2413, 1190, 2413, 1181, 2413, 1181,
1116 1184, 1198, 1203, 1186, 1197, 1246, 1203, 1204, 1205, 1245,
1117 1201, 1252, 1205, 1249, 1255, 2413, 1202, 1257, 1258, 1215,
1119 1216, 1218, 2413, 2413, 1201, 1263, 1259, 1223, 1207, 1219,
1120 1238, 1269, 2413, 1226, 1217, 1228, 1273, 1210, 1221, 1236,
1121 1272, 1224, 2413, 1220, 1236, 1224, 1238, 1239, 1236, 1280,
1122 1243, 1233, 1243, 1249, 1237, 1237, 1292, 1288, 1294, 1251,
1123 2413, 1254, 1253, 1255, 1248, 1257, 1258, 1256, 1246, 1249,
1124 1249, 1308, 1255, 1310, 1257, 1312, 1255, 1260, 1315, 2413,
1125 1273, 1253, 1268, 1261, 1264, 1277, 1280, 1279, 1277, 1326,
1126 1280, 2413, 2413, 1276, 1286, 1271, 1327, 1288, 1274, 1335,
1127 1336, 1280, 1290, 1339, 1296, 2413, 1288, 1288, 1290, 1292,
1128 1345, 1288, 2413, 1289, 1307, 2413, 1291, 2413, 2413, 1307,
1130 1290, 1310, 1311, 2413, 1298, 1306, 1358, 1307, 1339, 2413,
1131 1361, 1311, 1358, 2413, 1306, 1365, 1315, 1309, 1306, 1309,
1132 1312, 1312, 1308, 1330, 1369, 1322, 1334, 1337, 1325, 1328,
1133 1321, 1381, 1329, 2413, 1325, 2413, 1327, 1386, 1339, 1330,
1134 1345, 1345, 1348, 1348, 1345, 1389, 1351, 2413, 1343, 2413,
1135 1344, 2413, 1354, 1346, 2413, 1395, 1357, 1358, 1355, 1399,
1136 1347, 1362, 1402, 1364, 1356, 2413, 1353, 1353, 1359, 1358,
1137 1356, 1371, 1371, 2413, 2413, 1412, 1359, 2413, 1376, 1361,
1138 1361, 1363, 1369, 2413, 1378, 1425, 1368, 1374, 1366, 1380,
1139 1391, 1385, 1391, 1435, 1388, 1397, 2413, 1394, 1413, 2413,
1141 1397, 1382, 1442, 2413, 1443, 1400, 1405, 1387, 1447, 1448,
1142 1449, 1445, 1409, 1406, 1402, 1395, 1450, 1408, 1409, 2413,
1143 1399, 1412, 1460, 2413, 1398, 1458, 1421, 1417, 1462, 1410,
1144 1415, 1413, 1472, 1428, 1416, 1475, 1471, 1426, 1478, 1439,
1145 1428, 1422, 1482, 1424, 1433, 1426, 1440, 1443, 1488, 1430,
1146 1447, 1443, 1433, 1448, 1432, 1490, 1491, 1492, 1439, 1494,
1147 1457, 1450, 1449, 1443, 2413, 1460, 1452, 1458, 1449, 1448,
1148 1450, 1505, 2413, 1446, 1464, 1513, 1483, 1515, 1468, 2413,
1149 2413, 1459, 1470, 1519, 2413, 2413, 2413, 1465, 1470, 1468,
1150 1518, 1476, 1481, 1469, 1485, 1474, 1472, 1474, 2413, 1532,
1152 1478, 1529, 1472, 1477, 1538, 1486, 1496, 1497, 2413, 1543,
1153 1496, 1540, 2413, 1491, 1499, 2413, 1490, 1505, 1493, 2413,
1154 1503, 1504, 1505, 1554, 1512, 2413, 1551, 1517, 1493, 1511,
1155 1512, 1521, 1503, 1509, 1511, 1565, 1524, 1523, 1514, 1564,
1156 1511, 1518, 1513, 1514, 1574, 1524, 1576, 1529, 1534, 1527,
1157 2413, 1580, 2413, 1529, 1582, 1524, 2413, 1527, 1537, 1581,
1158 1529, 1544, 1531, 1546, 1532, 1539, 1539, 1550, 2413, 1544,
1159 1539, 1538, 1598, 1551, 2413, 1595, 1546, 1543, 2413, 1557,
1160 1544, 1565, 1561, 1563, 1608, 1561, 1558, 1566, 1560, 2413,
1161 1613, 1554, 1556, 1572, 1565, 1555, 1571, 1572, 1566, 1582,
1163 2413, 1572, 1624, 1584, 1568, 1622, 1586, 1581, 1630, 2413,
1164 1572, 2413, 1579, 1633, 1629, 2413, 1591, 2413, 1631, 1593,
1165 1594, 1579, 1580, 1588, 1642, 1590, 1639, 1640, 1595, 1607,
1166 1604, 1595, 1602, 2413, 1599, 1604, 1602, 1654, 1655, 1603,
1167 1600, 1614, 1601, 2413, 1616, 1617, 1618, 1619, 2413, 1609,
1168 1621, 1666, 1623, 1668, 1610, 1618, 1612, 1620, 1633, 2413,
1169 1634, 1615, 1622, 1613, 1625, 2413, 1674, 1635, 2413, 1639,
1170 1624, 1624, 1639, 1632, 1631, 1642, 1629, 2413, 1645, 1633,
1171 1636, 1692, 1650, 1641, 1653, 1644, 1653, 1655, 1659, 2413,
1172 2413, 1652, 1643, 1643, 1703, 1646, 1705, 1647, 1707, 1665,
1174 1709, 2413, 1710, 2413, 1706, 1668, 1665, 1670, 1657, 1665,
1175 1676, 1673, 1719, 1660, 1663, 1668, 1659, 1724, 1677, 1678,
1176 1668, 1685, 1684, 1725, 1669, 1688, 1689, 2413, 1686, 1735,
1177 1692, 1693, 1738, 1695, 1698, 1685, 1694, 1695, 2413, 1744,
1178 2413, 1697, 2413, 1706, 2413, 2413, 1688, 1748, 1695, 1750,
1179 1693, 1752, 1700, 1749, 2413, 1711, 1716, 1757, 1716, 2413,
1180 1707, 1697, 1756, 1722, 1715, 1711, 1765, 1708, 1710, 1715,
1181 2413, 1711, 1713, 2413, 1718, 1728, 1713, 1721, 1723, 2413,
1182 1724, 1718, 1730, 2413, 1726, 2413, 1736, 2413, 1737, 1727,
1183 1783, 1732, 2413, 1734, 1742, 1787, 1728, 1730, 1727, 1751,
1185 2413, 1738, 1745, 1748, 1737, 1791, 1738, 1746, 1755, 1754,
1186 1757, 1758, 1759, 1752, 1747, 1748, 1748, 1754, 2413, 1754,
1187 1766, 1811, 2413, 1757, 1769, 1814, 1763, 1765, 1763, 1818,
1188 1771, 1758, 1773, 1778, 1823, 1824, 1825, 1826, 1827, 1784,
1189 1829, 1830, 1831, 1778, 1782, 1776, 2413, 1792, 1836, 2413,
1190 1793, 1778, 1796, 2413, 1787, 1801, 1797, 1790, 2413, 2413,
1191 2413, 2413, 2413, 1844, 2413, 2413, 2413, 1794, 1802, 1847,
1192 1808, 2413, 1849, 1791, 1851, 1806, 1805, 1806, 1796, 2413,
1193 1856, 1852, 2413, 1799, 2413, 1811, 2413, 1860, 1802, 1818,
1194 1863, 2413, 1824, 1821, 1813, 2413, 1863, 1812, 2413, 1824,
1196 1817, 1872, 1820, 1815, 1817, 1832, 1817, 2413, 1878, 1831,
1197 1880, 1881, 1829, 2413, 1831, 2413, 2413, 1825, 1841, 1886,
1198 1887, 2413, 2413, 2413, 1893, 1896, 1899, 1900, 1902, 1905,
1204 2025, 2025, 2026, 2026, 2025, 2025, 2025, 2025, 2025, 2025,
1205 2024, 2024, 2024, 2024, 2024, 2027, 2024, 2024, 2024, 2024,
1206 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1207 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2028,
1208 2024, 2024, 2024, 2029, 15, 2024, 45, 45, 45, 45,
1209 45, 45, 45, 45, 45, 45, 2030, 45, 45, 45,
1210 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1211 45, 45, 45, 45, 45, 45, 45, 2027, 2024, 2024,
1212 2024, 2024, 2024, 2024, 2031, 2024, 2024, 2024, 2024, 2024,
1213 2024, 2024, 2024, 2024, 2024, 2024, 2028, 2024, 2029, 2024,
1215 2024, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1216 45, 45, 2032, 45, 2030, 45, 45, 45, 45, 45,
1217 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1218 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1219 45, 45, 45, 45, 45, 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, 2031, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1224 2024, 45, 45, 2024, 45, 45, 2024, 45, 45, 45,
1226 45, 45, 45, 2032, 2024, 2024, 115, 45, 45, 45,
1227 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1228 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1229 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1230 45, 2024, 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, 45, 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,
1237 45, 45, 45, 45, 45, 45, 45, 45, 2024, 2024,
1238 2024, 2024, 2024, 2024, 2024, 45, 45, 45, 45, 2024,
1239 45, 2024, 45, 2024, 45, 115, 2024, 45, 45, 45,
1240 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1241 2024, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1242 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1243 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1244 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1245 45, 45, 45, 45, 45, 2024, 45, 45, 45, 45,
1246 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1248 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1249 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1250 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1251 45, 45, 45, 45, 45, 45, 45, 2024, 2024, 2024,
1252 45, 45, 45, 2024, 45, 2024, 45, 115, 45, 45,
1253 45, 45, 45, 45, 2024, 45, 45, 45, 45, 45,
1254 45, 45, 45, 2024, 45, 45, 45, 45, 45, 45,
1255 45, 45, 2024, 45, 45, 45, 45, 45, 45, 45,
1256 45, 45, 45, 45, 2024, 45, 45, 45, 45, 45,
1257 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1259 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1260 45, 45, 2024, 45, 45, 45, 45, 45, 45, 45,
1261 45, 45, 45, 45, 45, 45, 45, 45, 2024, 45,
1262 2024, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1263 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1264 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1265 45, 45, 45, 45, 45, 2024, 45, 2024, 2024, 45,
1266 2024, 45, 45, 2024, 45, 2024, 2024, 2024, 45, 45,
1267 45, 2024, 45, 45, 45, 45, 45, 45, 45, 45,
1268 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1270 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1271 45, 45, 45, 45, 2024, 45, 45, 45, 45, 45,
1272 45, 45, 45, 2024, 45, 45, 45, 45, 45, 45,
1273 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1274 45, 45, 45, 45, 45, 45, 45, 2024, 45, 45,
1275 2024, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1276 45, 45, 45, 2024, 45, 45, 45, 45, 45, 45,
1277 45, 45, 45, 45, 45, 45, 2024, 45, 45, 45,
1278 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1279 45, 2024, 45, 45, 45, 45, 45, 45, 45, 45,
1281 45, 45, 45, 45, 2024, 2024, 45, 45, 45, 45,
1282 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1283 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1284 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1285 45, 45, 45, 45, 45, 2024, 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 2024, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1289 45, 2024, 45, 45, 45, 45, 45, 45, 45, 45,
1290 45, 45, 2024, 45, 45, 45, 45, 45, 45, 45,
1292 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1293 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1294 45, 2024, 45, 45, 45, 45, 45, 45, 45, 45,
1295 45, 45, 45, 45, 45, 45, 45, 45, 45, 2024,
1296 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1297 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1298 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1299 45, 2024, 45, 45, 45, 45, 45, 45, 45, 45,
1300 45, 45, 45, 45, 45, 45, 45, 45, 45, 2024,
1301 2024, 45, 45, 45, 45, 45, 45, 45, 2024, 2024,
1303 45, 45, 45, 45, 45, 2024, 45, 45, 45, 45,
1304 45, 45, 45, 45, 2024, 45, 2024, 45, 45, 45,
1305 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1306 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1307 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1308 45, 2024, 45, 45, 45, 45, 45, 45, 45, 45,
1309 45, 45, 45, 45, 45, 45, 2024, 45, 45, 45,
1310 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1311 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1312 45, 2024, 45, 45, 45, 45, 45, 45, 45, 45,
1314 45, 45, 45, 45, 2024, 45, 45, 45, 45, 45,
1315 45, 45, 2024, 45, 45, 45, 45, 45, 45, 45,
1316 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1317 45, 45, 45, 45, 45, 45, 45, 2024, 2024, 45,
1318 45, 45, 2024, 45, 45, 45, 45, 2024, 45, 45,
1319 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1320 45, 45, 45, 45, 45, 45, 45, 2024, 45, 45,
1321 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1322 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1323 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1325 45, 45, 45, 45, 45, 45, 45, 45, 45, 2024,
1326 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1327 45, 45, 45, 45, 45, 45, 45, 45, 2024, 45,
1328 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1329 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1330 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1331 45, 45, 45, 45, 2024, 45, 45, 45, 45, 45,
1332 45, 45, 45, 45, 45, 45, 2024, 45, 45, 45,
1333 2024, 2024, 45, 45, 45, 45, 45, 45, 45, 45,
1334 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1336 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1337 45, 45, 45, 2024, 45, 45, 45, 45, 45, 45,
1338 45, 45, 2024, 45, 45, 45, 45, 45, 45, 45,
1339 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1340 45, 2024, 2024, 45, 2024, 45, 2024, 45, 45, 45,
1341 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1342 45, 45, 45, 2024, 45, 45, 45, 2024, 45, 45,
1343 45, 45, 45, 2024, 2024, 45, 2024, 45, 2024, 45,
1344 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1345 45, 45, 45, 45, 45, 2024, 45, 45, 45, 45,
1347 45, 45, 2024, 2024, 45, 45, 45, 45, 45, 45,
1348 45, 45, 2024, 45, 45, 45, 45, 45, 45, 45,
1349 45, 45, 2024, 45, 45, 45, 45, 45, 45, 45,
1350 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1351 2024, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1352 45, 45, 45, 45, 45, 45, 45, 45, 45, 2024,
1353 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1354 45, 2024, 2024, 45, 45, 45, 45, 45, 45, 45,
1355 45, 45, 45, 45, 45, 2024, 45, 45, 45, 45,
1356 45, 45, 2024, 45, 45, 2024, 45, 2024, 2024, 45,
1358 45, 45, 45, 2024, 45, 45, 45, 45, 45, 2024,
1359 45, 45, 45, 2024, 45, 45, 45, 45, 45, 45,
1360 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1361 45, 45, 45, 2024, 45, 2024, 45, 45, 45, 45,
1362 45, 45, 45, 45, 45, 45, 45, 2024, 45, 2024,
1363 45, 2024, 45, 45, 2024, 45, 45, 45, 45, 45,
1364 45, 45, 45, 45, 45, 2024, 45, 45, 45, 45,
1365 45, 45, 45, 2024, 2024, 45, 45, 2024, 45, 45,
1366 45, 45, 45, 2024, 45, 45, 45, 45, 45, 45,
1367 45, 45, 45, 45, 45, 45, 2024, 45, 45, 2024,
1369 45, 45, 45, 2024, 45, 45, 45, 45, 45, 45,
1370 45, 45, 45, 45, 45, 45, 45, 45, 45, 2024,
1371 45, 45, 45, 2024, 45, 45, 45, 45, 45, 45,
1372 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1373 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1374 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1375 45, 45, 45, 45, 2024, 45, 45, 45, 45, 45,
1376 45, 45, 2024, 45, 45, 45, 45, 45, 45, 2024,
1377 2024, 45, 45, 45, 2024, 2024, 2024, 45, 45, 45,
1378 45, 45, 45, 45, 45, 45, 45, 45, 2024, 45,
1380 45, 45, 45, 45, 45, 45, 45, 45, 2024, 45,
1381 45, 45, 2024, 45, 45, 2024, 45, 45, 45, 2024,
1382 45, 45, 45, 45, 45, 2024, 45, 45, 45, 45,
1383 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1384 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1385 2024, 45, 2024, 45, 45, 45, 2024, 45, 45, 45,
1386 45, 45, 45, 45, 45, 45, 45, 45, 2024, 45,
1387 45, 45, 45, 45, 2024, 45, 45, 45, 2024, 45,
1388 45, 45, 45, 45, 45, 45, 45, 45, 45, 2024,
1389 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1391 2024, 45, 45, 45, 45, 45, 45, 45, 45, 2024,
1392 45, 2024, 45, 45, 45, 2024, 45, 2024, 45, 45,
1393 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1394 45, 45, 45, 2024, 45, 45, 45, 45, 45, 45,
1395 45, 45, 45, 2024, 45, 45, 45, 45, 2024, 45,
1396 45, 45, 45, 45, 45, 45, 45, 45, 45, 2024,
1397 45, 45, 45, 45, 45, 2024, 45, 45, 2024, 45,
1398 45, 45, 45, 45, 45, 45, 45, 2024, 45, 45,
1399 45, 45, 45, 45, 45, 45, 45, 45, 45, 2024,
1400 2024, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1402 45, 2024, 45, 2024, 45, 45, 45, 45, 45, 45,
1403 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1404 45, 45, 45, 45, 45, 45, 45, 2024, 45, 45,
1405 45, 45, 45, 45, 45, 45, 45, 45, 2024, 45,
1406 2024, 45, 2024, 45, 2024, 2024, 45, 45, 45, 45,
1407 45, 45, 45, 45, 2024, 45, 45, 45, 45, 2024,
1408 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1409 2024, 45, 45, 2024, 45, 45, 45, 45, 45, 2024,
1410 45, 45, 45, 2024, 45, 2024, 45, 2024, 45, 45,
1411 45, 45, 2024, 45, 45, 45, 45, 45, 45, 45,
1413 2024, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1414 45, 45, 45, 45, 45, 45, 45, 45, 2024, 45,
1415 45, 45, 2024, 45, 45, 45, 45, 45, 45, 45,
1416 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1417 45, 45, 45, 45, 45, 45, 2024, 45, 45, 2024,
1418 45, 45, 45, 2024, 45, 45, 45, 45, 2024, 2024,
1419 2024, 2024, 2024, 45, 2024, 2024, 2024, 45, 45, 45,
1420 45, 2024, 45, 45, 45, 45, 45, 45, 45, 2024,
1421 45, 45, 2024, 45, 2024, 45, 2024, 45, 45, 45,
1422 45, 2024, 45, 45, 45, 2024, 45, 45, 2024, 45,
1424 45, 45, 45, 45, 45, 45, 45, 2024, 45, 45,
1425 45, 45, 45, 2024, 45, 2024, 2024, 45, 45, 45,
1426 45, 2024, 2024, 0, 2024, 2024, 2024, 2024, 2024, 2024,
1432 2024, 13, 14, 13, 2024, 15, 16, 2024, 17, 18,
1433 19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
1434 84, 782, 37, 14, 37, 85, 25, 26, 38, 100,
1435 2024, 27, 37, 14, 37, 42, 28, 42, 38, 90,
1436 91, 29, 196, 30, 13, 14, 13, 89, 90, 25,
1437 31, 91, 13, 14, 13, 13, 14, 13, 32, 40,
1438 783, 13, 14, 13, 33, 40, 101, 90, 91, 196,
1439 89, 34, 35, 13, 14, 13, 93, 15, 16, 94,
1440 17, 18, 19, 20, 21, 22, 22, 22, 22, 22,
1441 23, 24, 13, 14, 13, 89, 39, 102, 25, 26,
1443 13, 14, 13, 27, 39, 42, 105, 42, 28, 42,
1444 106, 42, 41, 29, 108, 30, 111, 112, 92, 134,
1445 41, 25, 31, 102, 135, 367, 87, 136, 87, 105,
1446 32, 88, 88, 88, 88, 88, 33, 108, 106, 111,
1447 856, 112, 368, 34, 35, 44, 44, 44, 45, 45,
1448 46, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1449 45, 45, 45, 45, 45, 45, 45, 47, 45, 45,
1450 48, 49, 50, 45, 51, 52, 53, 45, 45, 45,
1451 45, 54, 55, 45, 56, 45, 45, 57, 45, 45,
1452 58, 45, 59, 60, 61, 62, 63, 64, 65, 51,
1454 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1455 76, 77, 56, 45, 45, 45, 45, 45, 79, 857,
1456 80, 80, 80, 80, 80, 79, 102, 82, 82, 82,
1457 82, 82, 203, 81, 83, 83, 83, 83, 83, 79,
1458 81, 82, 82, 82, 82, 82, 105, 81, 118, 164,
1459 109, 129, 116, 165, 81, 203, 81, 200, 117, 119,
1460 110, 130, 120, 81, 121, 132, 122, 197, 184, 105,
1461 81, 185, 133, 109, 858, 233, 335, 81, 45, 336,
1462 131, 45, 45, 45, 200, 45, 45, 45, 110, 114,
1463 137, 234, 45, 45, 184, 45, 45, 185, 198, 184,
1465 138, 45, 139, 45, 45, 45, 45, 45, 45, 45,
1466 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1467 45, 45, 45, 45, 123, 187, 45, 124, 125, 185,
1468 45, 126, 127, 145, 45, 141, 142, 146, 296, 143,
1469 108, 147, 45, 859, 128, 144, 45, 186, 45, 115,
1470 153, 186, 297, 148, 111, 188, 195, 149, 154, 150,
1471 155, 151, 860, 152, 158, 156, 157, 159, 160, 166,
1472 173, 174, 228, 167, 229, 186, 168, 111, 161, 189,
1473 109, 162, 195, 169, 170, 202, 252, 180, 171, 172,
1474 110, 230, 181, 83, 83, 83, 83, 83, 88, 88,
1476 88, 88, 88, 175, 242, 176, 81, 253, 177, 178,
1477 100, 79, 202, 80, 80, 80, 80, 80, 110, 83,
1478 83, 83, 83, 83, 99, 179, 81, 311, 87, 81,
1479 87, 99, 81, 88, 88, 88, 88, 88, 79, 192,
1480 82, 82, 82, 82, 82, 199, 201, 101, 243, 81,
1481 311, 192, 199, 81, 215, 81, 88, 88, 88, 88,
1482 88, 99, 211, 216, 217, 99, 262, 192, 208, 99,
1483 425, 212, 426, 199, 201, 213, 81, 99, 231, 209,
1484 260, 99, 200, 99, 99, 206, 247, 409, 222, 223,
1485 410, 232, 309, 207, 207, 207, 207, 207, 224, 248,
1487 280, 267, 207, 207, 207, 207, 207, 207, 237, 301,
1488 273, 238, 263, 274, 275, 239, 268, 269, 270, 277,
1489 309, 310, 311, 278, 309, 207, 207, 207, 207, 207,
1490 207, 310, 316, 318, 290, 281, 282, 283, 291, 319,
1491 321, 323, 292, 325, 316, 314, 284, 310, 285, 390,
1492 286, 287, 312, 288, 321, 316, 376, 313, 533, 441,
1493 322, 318, 534, 321, 323, 430, 319, 328, 445, 441,
1494 325, 326, 326, 326, 326, 326, 418, 385, 337, 438,
1495 326, 326, 326, 326, 326, 326, 338, 438, 441, 419,
1496 443, 339, 340, 445, 461, 464, 445, 529, 449, 391,
1498 465, 861, 438, 326, 326, 326, 326, 326, 326, 377,
1499 439, 462, 378, 443, 448, 448, 448, 448, 448, 564,
1500 514, 516, 565, 448, 448, 448, 448, 448, 448, 470,
1501 515, 485, 502, 503, 504, 471, 486, 509, 505, 575,
1502 542, 547, 575, 510, 543, 548, 448, 448, 448, 448,
1503 448, 448, 571, 605, 579, 530, 580, 572, 615, 687,
1504 677, 596, 862, 616, 639, 678, 606, 575, 707, 597,
1505 581, 598, 599, 600, 640, 601, 863, 708, 864, 710,
1506 706, 579, 832, 580, 487, 709, 711, 758, 759, 488,
1507 45, 45, 45, 45, 45, 707, 822, 833, 868, 45,
1509 45, 45, 45, 45, 45, 708, 729, 793, 823, 730,
1510 832, 688, 794, 842, 843, 869, 844, 870, 871, 872,
1511 833, 873, 45, 45, 45, 45, 45, 45, 865, 874,
1512 875, 876, 866, 877, 878, 879, 867, 880, 881, 882,
1513 883, 884, 885, 886, 887, 888, 889, 890, 891, 892,
1514 893, 795, 894, 895, 897, 898, 896, 899, 900, 901,
1515 902, 903, 904, 905, 906, 907, 908, 909, 910, 911,
1516 912, 913, 914, 915, 916, 917, 918, 919, 920, 921,
1517 922, 923, 924, 925, 926, 927, 928, 929, 930, 931,
1518 932, 933, 934, 935, 936, 937, 938, 940, 941, 942,
1520 945, 946, 947, 939, 949, 950, 943, 951, 948, 952,
1521 944, 953, 954, 955, 956, 957, 958, 959, 960, 961,
1522 962, 963, 964, 965, 966, 967, 968, 969, 970, 971,
1523 972, 973, 974, 975, 976, 977, 978, 979, 980, 981,
1524 982, 983, 984, 985, 986, 987, 988, 989, 962, 990,
1525 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
1526 1001, 1002, 1003, 1004, 1005, 1007, 1008, 1009, 1010, 1006,
1527 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020,
1528 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030,
1529 1031, 1033, 1034, 1035, 1032, 1036, 1037, 1038, 1039, 1040,
1531 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050,
1532 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060,
1533 1061, 1062, 1063, 1064, 1066, 1067, 1068, 1069, 1070, 1071,
1534 1072, 1073, 1074, 1075, 1076, 1065, 1077, 1078, 1079, 1080,
1535 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090,
1536 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100,
1537 1101, 1102, 1103, 1104, 1105, 1106, 1084, 1107, 1108, 1083,
1538 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118,
1539 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128,
1540 1129, 1132, 1133, 1134, 1135, 1130, 1136, 1137, 1138, 1139,
1542 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149,
1543 1150, 1151, 1152, 1153, 1154, 1155, 1157, 1158, 1159, 1160,
1544 1161, 1162, 1163, 1164, 1165, 1166, 1156, 1167, 1168, 1169,
1545 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179,
1546 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1131, 1188,
1547 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198,
1548 1199, 1201, 1200, 1202, 1203, 1204, 1205, 1206, 1207, 1208,
1549 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218,
1550 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1199, 1200,
1551 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236,
1553 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1247,
1554 1249, 1250, 1251, 1246, 1252, 1253, 1254, 1255, 1256, 1257,
1555 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
1556 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277,
1557 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287,
1558 1288, 1289, 1290, 1248, 1291, 1292, 1293, 1294, 1295, 1296,
1559 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306,
1560 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316,
1561 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326,
1562 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1311, 1334, 1335,
1564 1336, 1337, 1338, 1312, 1339, 1340, 1341, 1342, 1343, 1344,
1565 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354,
1566 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364,
1567 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374,
1568 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384,
1569 1385, 1386, 1387, 1388, 1389, 1390, 1392, 1393, 1394, 1395,
1570 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405,
1571 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1416,
1572 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426,
1573 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436,
1575 1437, 1409, 1438, 1439, 1440, 1441, 1442, 1443, 1391, 1444,
1576 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454,
1577 1455, 1456, 1415, 1457, 1458, 1460, 1461, 1462, 1463, 1464,
1578 1465, 1466, 1459, 1467, 1468, 1469, 1470, 1471, 1472, 1473,
1579 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483,
1580 1484, 1486, 1487, 1490, 1488, 1485, 1489, 1491, 1492, 1493,
1581 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503,
1582 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513,
1583 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1499, 1522,
1584 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532,
1586 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542,
1587 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552,
1588 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562,
1589 1565, 1563, 1566, 1567, 1568, 1569, 1570, 1564, 1571, 1572,
1590 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582,
1591 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1591, 1592, 1593,
1592 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1590, 1601, 1602,
1593 1603, 1577, 1604, 1605, 1606, 1607, 1608, 1609, 1611, 1612,
1594 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622,
1595 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632,
1597 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642,
1598 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652,
1599 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662,
1600 1663, 1664, 1665, 1666, 1667, 1610, 1668, 1669, 1671, 1672,
1601 1673, 1674, 1670, 1675, 1676, 1677, 1678, 1652, 1679, 1680,
1602 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690,
1603 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700,
1604 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710,
1605 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720,
1606 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730,
1608 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740,
1609 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750,
1610 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760,
1611 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770,
1612 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780,
1613 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790,
1614 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800,
1615 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810,
1616 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820,
1617 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830,
1619 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840,
1620 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850,
1621 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860,
1622 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870,
1623 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880,
1624 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890,
1625 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900,
1626 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910,
1627 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920,
1628 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930,
1630 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940,
1631 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950,
1632 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960,
1633 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970,
1634 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980,
1635 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990,
1636 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
1637 2002, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
1638 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020,
1639 2021, 2022, 2023, 12, 12, 12, 36, 36, 36, 78,
1641 97, 78, 99, 99, 99, 113, 113, 113, 183, 855,
1642 183, 204, 204, 204, 854, 853, 852, 851, 850, 849,
1643 848, 847, 846, 845, 841, 840, 839, 838, 837, 836,
1644 835, 834, 831, 830, 829, 828, 827, 826, 825, 824,
1645 821, 820, 819, 818, 817, 816, 815, 814, 813, 812,
1646 811, 810, 809, 808, 807, 806, 805, 804, 803, 802,
1647 801, 800, 799, 798, 797, 796, 792, 791, 790, 789,
1648 788, 787, 786, 785, 784, 781, 780, 779, 778, 777,
1649 776, 775, 774, 773, 772, 771, 770, 769, 768, 767,
1650 766, 765, 764, 763, 762, 761, 760, 757, 756, 755,
1652 754, 753, 752, 751, 750, 749, 748, 747, 746, 745,
1653 744, 743, 742, 741, 740, 739, 738, 737, 736, 735,
1654 734, 733, 732, 731, 728, 727, 726, 725, 724, 723,
1655 722, 721, 720, 719, 718, 717, 716, 715, 714, 713,
1656 712, 706, 705, 704, 703, 702, 701, 700, 699, 698,
1657 697, 696, 695, 694, 693, 692, 691, 690, 689, 686,
1658 685, 684, 683, 682, 681, 680, 679, 676, 675, 674,
1659 673, 672, 671, 670, 669, 668, 667, 666, 665, 664,
1660 663, 662, 661, 660, 659, 658, 657, 656, 655, 654,
1661 653, 652, 651, 650, 649, 648, 647, 646, 645, 644,
1663 643, 642, 641, 638, 637, 636, 635, 634, 633, 632,
1664 631, 630, 629, 628, 627, 626, 625, 624, 623, 622,
1665 621, 620, 619, 618, 617, 614, 613, 612, 611, 610,
1666 609, 608, 607, 604, 603, 602, 595, 594, 593, 592,
1667 591, 590, 589, 588, 587, 586, 585, 584, 583, 582,
1668 578, 577, 576, 574, 573, 570, 569, 568, 567, 566,
1669 563, 562, 561, 560, 559, 558, 557, 556, 555, 554,
1670 553, 552, 551, 550, 549, 546, 545, 544, 541, 540,
1671 539, 538, 537, 536, 535, 532, 531, 528, 527, 526,
1672 525, 524, 523, 522, 521, 520, 519, 518, 517, 513,
1674 512, 511, 508, 507, 506, 501, 500, 499, 498, 497,
1675 496, 495, 494, 493, 492, 491, 490, 489, 484, 483,
1676 482, 481, 480, 479, 478, 477, 476, 475, 474, 473,
1677 472, 469, 468, 467, 466, 463, 460, 459, 458, 457,
1678 456, 455, 454, 453, 452, 451, 450, 447, 446, 444,
1679 442, 440, 437, 436, 435, 434, 433, 432, 431, 429,
1680 428, 427, 424, 423, 422, 421, 420, 417, 416, 415,
1681 414, 413, 412, 411, 408, 407, 406, 405, 404, 403,
1682 402, 401, 400, 399, 398, 397, 396, 395, 394, 393,
1683 392, 389, 388, 387, 386, 384, 383, 382, 381, 380,
1685 379, 375, 374, 373, 372, 371, 370, 369, 366, 365,
1686 364, 363, 362, 361, 360, 359, 358, 357, 356, 355,
1687 354, 353, 352, 351, 350, 349, 348, 347, 346, 345,
1688 344, 343, 342, 341, 334, 333, 332, 331, 330, 329,
1689 327, 205, 324, 322, 320, 317, 315, 308, 307, 306,
1690 305, 304, 303, 302, 300, 299, 298, 295, 294, 293,
1691 289, 279, 276, 272, 271, 266, 265, 264, 261, 259,
1692 258, 257, 256, 255, 254, 251, 250, 249, 246, 245,
1693 244, 241, 240, 236, 235, 227, 226, 225, 221, 220,
1694 219, 218, 214, 210, 205, 194, 193, 191, 190, 182,
1696 163, 140, 107, 104, 103, 43, 98, 96, 95, 86,
1697 43, 2024, 11, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1698 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1699 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1700 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1701 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1702 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1703 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1704 2024, 2024, 2024, 2024, 2024, 2024
1709 0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1710 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1711 21, 656, 3, 3, 3, 21, 1, 1, 3, 44,
1712 0, 1, 4, 4, 4, 13, 1, 13, 4, 27,
1713 28, 1, 106, 1, 5, 5, 5, 26, 32, 1,
1714 1, 33, 6, 6, 6, 7, 7, 7, 1, 7,
1715 656, 8, 8, 8, 1, 8, 44, 27, 28, 106,
1716 26, 1, 1, 2, 2, 2, 32, 2, 2, 33,
1717 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1718 2, 2, 9, 9, 9, 31, 5, 47, 2, 2,
1720 10, 10, 10, 2, 6, 37, 50, 37, 2, 42,
1721 51, 42, 9, 2, 53, 2, 55, 56, 31, 64,
1722 10, 2, 2, 47, 64, 245, 25, 64, 25, 50,
1723 2, 25, 25, 25, 25, 25, 2, 53, 51, 55,
1724 729, 56, 245, 2, 2, 15, 15, 15, 15, 15,
1725 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1726 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1727 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1728 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1729 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1731 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1732 15, 15, 15, 15, 15, 15, 15, 15, 17, 730,
1733 17, 17, 17, 17, 17, 19, 58, 19, 19, 19,
1734 19, 19, 112, 17, 20, 20, 20, 20, 20, 22,
1735 19, 22, 22, 22, 22, 22, 62, 20, 59, 73,
1736 54, 61, 58, 73, 22, 112, 17, 109, 58, 59,
1737 54, 61, 59, 19, 59, 63, 59, 107, 89, 62,
1738 20, 90, 63, 54, 731, 131, 216, 22, 45, 216,
1739 62, 45, 45, 45, 109, 45, 45, 45, 54, 57,
1740 65, 131, 45, 45, 89, 45, 57, 90, 107, 92,
1742 65, 45, 65, 45, 45, 45, 45, 45, 45, 45,
1743 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1744 45, 45, 45, 45, 60, 92, 57, 60, 60, 93,
1745 57, 60, 60, 68, 57, 67, 67, 68, 171, 67,
1746 69, 68, 57, 732, 60, 67, 57, 91, 57, 57,
1747 70, 94, 171, 68, 76, 93, 105, 68, 70, 69,
1748 70, 69, 733, 69, 71, 70, 70, 71, 71, 74,
1749 75, 75, 129, 74, 129, 91, 74, 76, 71, 94,
1750 75, 71, 105, 74, 74, 111, 145, 76, 74, 74,
1751 75, 129, 76, 79, 79, 79, 79, 79, 87, 87,
1753 87, 87, 87, 75, 137, 75, 79, 145, 75, 75,
1754 99, 80, 111, 80, 80, 80, 80, 80, 75, 83,
1755 83, 83, 83, 83, 101, 75, 80, 186, 81, 79,
1756 81, 101, 83, 81, 81, 81, 81, 81, 82, 102,
1757 82, 82, 82, 82, 82, 108, 110, 99, 137, 80,
1758 186, 116, 152, 82, 120, 83, 88, 88, 88, 88,
1759 88, 101, 118, 120, 120, 101, 154, 102, 116, 101,
1760 297, 118, 297, 108, 110, 118, 82, 101, 130, 116,
1761 152, 101, 175, 101, 101, 115, 141, 283, 125, 125,
1762 283, 130, 184, 115, 115, 115, 115, 115, 125, 141,
1764 165, 158, 115, 115, 115, 115, 115, 115, 134, 175,
1765 161, 134, 154, 161, 161, 134, 158, 158, 158, 163,
1766 184, 185, 189, 163, 187, 115, 115, 115, 115, 115,
1767 115, 188, 192, 195, 167, 165, 165, 165, 167, 196,
1768 199, 201, 167, 203, 209, 189, 165, 185, 165, 265,
1769 165, 165, 187, 165, 260, 192, 253, 188, 402, 316,
1770 301, 195, 402, 199, 201, 301, 196, 209, 321, 328,
1771 203, 207, 207, 207, 207, 207, 291, 260, 217, 309,
1772 207, 207, 207, 207, 207, 207, 217, 312, 316, 291,
1773 318, 217, 217, 385, 340, 343, 321, 399, 328, 265,
1775 343, 734, 309, 207, 207, 207, 207, 207, 207, 253,
1776 312, 340, 253, 318, 326, 326, 326, 326, 326, 430,
1777 384, 385, 430, 326, 326, 326, 326, 326, 326, 348,
1778 384, 362, 376, 376, 376, 348, 362, 380, 376, 441,
1779 410, 414, 449, 380, 410, 414, 326, 326, 326, 326,
1780 326, 326, 436, 470, 447, 399, 447, 436, 480, 553,
1781 544, 466, 735, 480, 504, 544, 470, 441, 579, 466,
1782 449, 466, 466, 466, 504, 466, 736, 580, 737, 583,
1783 581, 447, 707, 447, 362, 581, 583, 631, 631, 362,
1784 448, 448, 448, 448, 448, 579, 696, 708, 739, 448,
1786 448, 448, 448, 448, 448, 580, 601, 667, 696, 601,
1787 707, 553, 667, 717, 717, 740, 717, 741, 742, 743,
1788 708, 744, 448, 448, 448, 448, 448, 448, 738, 745,
1789 747, 748, 738, 749, 750, 751, 738, 752, 753, 754,
1790 755, 756, 757, 758, 759, 760, 761, 762, 763, 764,
1791 765, 667, 766, 767, 768, 769, 767, 770, 772, 773,
1792 774, 775, 776, 777, 778, 779, 780, 781, 783, 784,
1793 785, 786, 787, 788, 789, 790, 791, 792, 794, 795,
1794 796, 797, 798, 799, 800, 801, 802, 803, 804, 805,
1795 806, 807, 808, 809, 810, 811, 812, 813, 814, 815,
1797 816, 817, 818, 812, 819, 820, 815, 821, 818, 823,
1798 815, 824, 825, 826, 827, 828, 829, 830, 831, 832,
1799 833, 834, 835, 836, 837, 838, 839, 841, 842, 843,
1800 844, 845, 846, 847, 848, 849, 850, 851, 852, 853,
1801 854, 855, 856, 857, 858, 859, 860, 861, 833, 862,
1802 863, 864, 865, 866, 867, 868, 869, 870, 871, 873,
1803 874, 875, 876, 877, 878, 879, 880, 881, 882, 878,
1804 883, 884, 885, 886, 887, 888, 889, 892, 893, 894,
1805 895, 896, 897, 898, 901, 902, 903, 904, 905, 907,
1806 908, 909, 910, 911, 908, 912, 913, 914, 916, 918,
1808 919, 920, 921, 922, 923, 924, 925, 926, 927, 928,
1809 929, 930, 931, 932, 933, 934, 935, 936, 937, 938,
1810 939, 940, 941, 942, 943, 944, 945, 946, 947, 948,
1811 949, 950, 951, 953, 954, 942, 955, 956, 957, 958,
1812 959, 960, 961, 962, 963, 964, 965, 966, 968, 969,
1813 970, 971, 972, 973, 974, 975, 976, 977, 978, 979,
1814 980, 981, 982, 983, 984, 985, 962, 986, 987, 961,
1815 988, 989, 990, 991, 993, 994, 995, 996, 997, 998,
1816 999, 1000, 1001, 1002, 1003, 1004, 1006, 1007, 1008, 1009,
1817 1010, 1011, 1012, 1014, 1015, 1010, 1016, 1017, 1018, 1019,
1819 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029,
1820 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1040, 1041,
1821 1042, 1044, 1045, 1046, 1047, 1049, 1035, 1050, 1051, 1052,
1822 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062,
1823 1063, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1010, 1072,
1824 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082,
1825 1083, 1085, 1084, 1086, 1087, 1088, 1089, 1090, 1091, 1092,
1826 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102,
1827 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1111, 1083, 1084,
1828 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121,
1830 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1130, 1131, 1132,
1831 1133, 1134, 1135, 1131, 1136, 1137, 1138, 1139, 1140, 1141,
1832 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151,
1833 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161,
1834 1162, 1163, 1164, 1166, 1167, 1168, 1169, 1170, 1171, 1172,
1835 1173, 1174, 1175, 1132, 1176, 1178, 1179, 1180, 1183, 1184,
1836 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194,
1837 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204,
1838 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1215,
1839 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1199, 1224, 1225,
1841 1226, 1227, 1228, 1200, 1229, 1230, 1231, 1232, 1233, 1234,
1842 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1244, 1246, 1248,
1843 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258,
1844 1259, 1260, 1261, 1262, 1263, 1265, 1266, 1267, 1269, 1270,
1845 1271, 1272, 1273, 1276, 1278, 1280, 1281, 1282, 1283, 1284,
1846 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294,
1847 1295, 1297, 1298, 1299, 1300, 1301, 1302, 1305, 1306, 1307,
1848 1308, 1309, 1310, 1311, 1312, 1314, 1315, 1316, 1317, 1318,
1849 1319, 1320, 1321, 1322, 1324, 1325, 1326, 1327, 1328, 1329,
1850 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339,
1852 1340, 1311, 1342, 1343, 1344, 1345, 1346, 1347, 1290, 1348,
1853 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358,
1854 1359, 1361, 1317, 1362, 1363, 1364, 1365, 1366, 1367, 1368,
1855 1369, 1370, 1363, 1371, 1374, 1375, 1376, 1377, 1378, 1379,
1856 1380, 1381, 1382, 1383, 1384, 1385, 1387, 1388, 1389, 1390,
1857 1391, 1392, 1394, 1397, 1395, 1391, 1395, 1400, 1401, 1402,
1858 1403, 1405, 1406, 1407, 1408, 1409, 1411, 1412, 1413, 1415,
1859 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425,
1860 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1409, 1435,
1861 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446,
1863 1447, 1449, 1451, 1453, 1454, 1456, 1457, 1458, 1459, 1460,
1864 1461, 1462, 1463, 1464, 1465, 1467, 1468, 1469, 1470, 1471,
1865 1472, 1473, 1476, 1477, 1479, 1480, 1481, 1482, 1483, 1485,
1866 1486, 1485, 1487, 1488, 1489, 1490, 1491, 1485, 1492, 1493,
1867 1494, 1495, 1496, 1498, 1499, 1501, 1502, 1503, 1505, 1506,
1868 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516,
1869 1517, 1518, 1519, 1521, 1522, 1523, 1525, 1513, 1526, 1527,
1870 1528, 1499, 1529, 1530, 1531, 1532, 1532, 1533, 1534, 1535,
1871 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545,
1872 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555,
1874 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1566,
1875 1567, 1568, 1569, 1570, 1571, 1572, 1574, 1575, 1576, 1577,
1876 1578, 1579, 1582, 1583, 1584, 1588, 1589, 1590, 1591, 1592,
1877 1593, 1594, 1595, 1596, 1597, 1533, 1598, 1600, 1601, 1602,
1878 1603, 1604, 1600, 1605, 1606, 1607, 1608, 1577, 1610, 1611,
1879 1612, 1614, 1615, 1617, 1618, 1619, 1621, 1622, 1623, 1624,
1880 1625, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635,
1881 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645,
1882 1646, 1647, 1648, 1649, 1650, 1652, 1654, 1655, 1656, 1658,
1883 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668,
1885 1670, 1671, 1672, 1673, 1674, 1676, 1677, 1678, 1680, 1681,
1886 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1691, 1692,
1887 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1702, 1703,
1888 1704, 1705, 1706, 1707, 1708, 1709, 1711, 1713, 1714, 1715,
1889 1717, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727,
1890 1728, 1729, 1730, 1731, 1732, 1733, 1735, 1736, 1737, 1738,
1891 1739, 1740, 1741, 1742, 1743, 1745, 1746, 1747, 1748, 1750,
1892 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1761,
1893 1762, 1763, 1764, 1765, 1767, 1768, 1770, 1771, 1772, 1773,
1894 1774, 1775, 1776, 1777, 1779, 1780, 1781, 1782, 1783, 1784,
1896 1785, 1786, 1787, 1788, 1789, 1792, 1793, 1794, 1795, 1796,
1897 1797, 1798, 1799, 1800, 1801, 1803, 1805, 1806, 1807, 1808,
1898 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818,
1899 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1829,
1900 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1840,
1901 1842, 1844, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854,
1902 1856, 1857, 1858, 1859, 1861, 1862, 1863, 1864, 1865, 1866,
1903 1867, 1868, 1869, 1870, 1872, 1873, 1875, 1876, 1877, 1878,
1904 1879, 1881, 1882, 1883, 1885, 1887, 1889, 1890, 1891, 1892,
1905 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1902, 1903, 1904,
1907 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914,
1908 1915, 1916, 1917, 1918, 1920, 1921, 1922, 1924, 1925, 1926,
1909 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936,
1910 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946,
1911 1948, 1949, 1951, 1952, 1953, 1955, 1956, 1957, 1958, 1964,
1912 1968, 1969, 1970, 1971, 1973, 1974, 1975, 1976, 1977, 1978,
1913 1979, 1981, 1982, 1984, 1986, 1988, 1989, 1990, 1991, 1993,
1914 1994, 1993, 1995, 1997, 1998, 2000, 2001, 2002, 2003, 2004,
1915 2005, 2006, 2007, 2009, 2010, 2011, 2012, 2013, 2015, 2018,
1916 2019, 2020, 2021, 2025, 2025, 2025, 2026, 2026, 2026, 2027,
1918 2028, 2027, 2029, 2029, 2029, 2030, 2030, 2030, 2031, 728,
1919 2031, 2032, 2032, 2032, 727, 726, 725, 724, 723, 722,
1920 721, 720, 719, 718, 716, 715, 714, 713, 712, 711,
1921 710, 709, 704, 703, 702, 701, 700, 699, 698, 697,
1922 695, 694, 693, 691, 690, 689, 688, 687, 686, 685,
1923 684, 683, 682, 681, 680, 679, 678, 676, 675, 674,
1924 673, 672, 671, 670, 669, 668, 666, 665, 663, 662,
1925 661, 660, 659, 658, 657, 655, 654, 653, 652, 650,
1926 649, 647, 646, 645, 644, 643, 642, 641, 640, 639,
1927 638, 637, 636, 635, 634, 633, 632, 630, 629, 628,
1929 627, 626, 625, 623, 622, 621, 620, 619, 618, 617,
1930 616, 614, 613, 612, 611, 610, 609, 608, 607, 606,
1931 605, 604, 603, 602, 600, 599, 598, 597, 596, 595,
1932 594, 593, 592, 591, 590, 589, 588, 587, 586, 585,
1933 584, 575, 574, 573, 572, 570, 567, 565, 564, 563,
1934 562, 561, 560, 559, 558, 557, 556, 555, 554, 552,
1935 551, 550, 549, 548, 547, 546, 545, 543, 542, 541,
1936 540, 539, 538, 537, 536, 535, 534, 533, 532, 530,
1937 528, 527, 526, 525, 524, 523, 522, 521, 520, 519,
1938 518, 517, 516, 515, 514, 512, 511, 510, 509, 508,
1940 507, 506, 505, 503, 502, 501, 500, 499, 498, 497,
1941 496, 495, 494, 493, 492, 491, 490, 489, 488, 487,
1942 486, 484, 483, 482, 481, 479, 478, 477, 476, 475,
1943 474, 472, 471, 469, 468, 467, 465, 463, 462, 461,
1944 460, 459, 458, 457, 456, 454, 453, 452, 451, 450,
1945 445, 443, 442, 440, 437, 435, 434, 433, 432, 431,
1946 429, 428, 427, 426, 425, 424, 423, 422, 421, 420,
1947 419, 418, 417, 416, 415, 413, 412, 411, 409, 408,
1948 407, 406, 405, 404, 403, 401, 400, 398, 397, 396,
1949 395, 394, 393, 392, 391, 390, 389, 388, 387, 383,
1951 382, 381, 379, 378, 377, 375, 374, 373, 372, 371,
1952 370, 369, 368, 367, 366, 365, 364, 363, 361, 360,
1953 359, 358, 357, 356, 355, 354, 353, 352, 351, 350,
1954 349, 347, 346, 345, 344, 342, 339, 338, 337, 336,
1955 335, 334, 333, 332, 331, 330, 329, 325, 323, 319,
1956 317, 315, 308, 307, 306, 305, 304, 303, 302, 300,
1957 299, 298, 296, 295, 294, 293, 292, 290, 289, 288,
1958 287, 286, 285, 284, 282, 281, 280, 279, 278, 277,
1959 276, 275, 274, 273, 272, 271, 270, 269, 268, 267,
1960 266, 264, 263, 262, 261, 259, 258, 257, 256, 255,
1962 254, 252, 251, 250, 249, 248, 247, 246, 244, 243,
1963 241, 240, 239, 238, 237, 236, 235, 234, 233, 232,
1964 231, 230, 229, 228, 227, 226, 225, 224, 223, 222,
1965 221, 220, 219, 218, 215, 214, 213, 212, 211, 210,
1966 208, 204, 202, 200, 198, 193, 190, 182, 181, 180,
1967 179, 178, 177, 176, 174, 173, 172, 170, 169, 168,
1968 166, 164, 162, 160, 159, 157, 156, 155, 153, 151,
1969 150, 149, 148, 147, 146, 144, 143, 142, 140, 139,
1970 138, 136, 135, 133, 132, 128, 127, 126, 124, 123,
1971 122, 121, 119, 117, 113, 104, 103, 97, 96, 77,
1973 72, 66, 52, 49, 48, 43, 41, 39, 38, 24,
1974 14, 11, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1975 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1976 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1977 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1978 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1979 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1980 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1981 2024, 2024, 2024, 2024, 2024, 2024
1985static char *yy_last_accepting_cpos;
1992 148, 150, 152, 157, 158, 163, 164, 165, 177, 180,
1993 185, 192, 201, 210, 219, 228, 237, 246, 255, 264,
1994 273, 282, 291, 300, 309, 321, 333, 343, 353, 363,
1995 373, 383, 392, 402, 412, 422, 432, 441, 450, 459,
1996 468, 477, 486, 495, 504, 513, 522, 531, 540, 549,
1997 558, 571, 580, 589, 598, 607, 618, 629, 640, 651,
1998 663, 674, 685, 696, 707, 718, 729, 740, 749, 758,
1999 767, 778, 789, 800, 811, 822, 831, 843, 855, 867,
2000 879, 891, 903, 914, 925, 934, 943, 952, 961, 972,
2001 983, 994, 1005, 1016, 1027, 1038, 1050, 1060, 1071, 1080,
2003 1089, 1104, 1120, 1129, 1138, 1147, 1156, 1165, 1174, 1183,
2004 1192, 1201, 1210, 1234, 1258, 1267, 1277, 1287, 1296, 1306,
2005 1317, 1326, 1335, 1344, 1353, 1362, 1373, 1384, 1395, 1405,
2006 1414, 1423, 1432, 1443, 1454, 1465, 1476, 1487, 1496, 1505,
2007 1514, 1523, 1532, 1541, 1550, 1559, 1568, 1578, 1590, 1603,
2008 1612, 1621, 1631, 1641, 1650, 1661, 1671, 1680, 1690, 1700,
2009 1709, 1718, 1727, 1736, 1746, 1755, 1764, 1773, 1782, 1791,
2010 1800, 1809, 1818, 1827, 1836, 1845, 1854, 1863, 1872, 1881,
2011 1890, 1899, 1908, 1917, 1926, 1935, 1944, 1953, 1962, 1971,
2012 1980, 1989, 1998, 2007, 2016, 2025, 2034, 2043, 2052, 2061,
2014 2162, 2178, 2227, 2235, 2250, 2251, 2252, 2253, 2254, 2255,
2015 2257, 2275, 2288, 2293, 2297, 2299, 2301, 2303
2021#define REJECT reject_used_but_not_detected
2022#define yymore() yymore_used_but_not_detected
2023#define YY_MORE_ADJ 0
2024#define YY_RESTORE_YY_MORE_OFFSET
2026#line 1 "dhcp6_lexer.ll"
2032#line 8 "dhcp6_lexer.ll"
2035#ifndef __clang_analyzer__
2044#include <boost/lexical_cast.hpp>
2058bool start_token_flag =
false;
2061unsigned int comment_start_line = 0;
2068#define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
2069#line 2069 "dhcp6_lexer.cc"
2084#define YY_NO_INPUT 1
2090#line 95 "dhcp6_lexer.ll"
2094#define YY_USER_ACTION driver.loc_.columns(yyleng);
2095#line 2095 "dhcp6_lexer.cc"
2096#line 2096 "dhcp6_lexer.cc"
2101#define DIR_INCLUDE 3
2104#ifndef YY_NO_UNISTD_H
2116#ifndef YY_EXTRA_TYPE
2117#define YY_EXTRA_TYPE void *
2124static int yy_init_globals (
void );
2167#ifndef YY_SKIP_YYWRAP
2169extern "C" int yywrap (
void );
2171extern int yywrap (
void );
2184static void yy_flex_strncpy (
char *,
const char *,
int );
2187#ifdef YY_NEED_STRLEN
2188static int yy_flex_strlen (
const char * );
2195static int yyinput (
void );
2197static int input (
void );
2209#ifndef YY_READ_BUF_SIZE
2212#define YY_READ_BUF_SIZE 16384
2214#define YY_READ_BUF_SIZE 8192
2224#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2234#define YY_INPUT(buf,result,max_size) \
2236 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2240 for ( n = 0; n < max_size && \
2241 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2242 buf[n] = (char) c; \
2244 buf[n++] = (char) c; \
2245 if ( c == EOF && ferror( yyin ) ) \
2246 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2252 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2254 if( errno != EINTR) \
2256 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2274#define yyterminate() return YY_NULL
2278#ifndef YY_START_STACK_INCR
2279#define YY_START_STACK_INCR 25
2283#ifndef YY_FATAL_ERROR
2285#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2306#define YY_DECL_IS_OURS 1
2309extern int yylex (
void);
2311#define YY_DECL int yylex (void)
2320#ifndef YY_USER_ACTION
2321#define YY_USER_ACTION
2326#define YY_BREAK break;
2330#define YY_RULE_SETUP \
2378#line 101 "dhcp6_lexer.ll"
2382#line 105 "dhcp6_lexer.ll"
2390 if (start_token_flag) {
2391 start_token_flag =
false;
2392 switch (start_token_value) {
2393 case Parser6Context::PARSER_JSON:
2396 case Parser6Context::PARSER_DHCP6:
2398 case Parser6Context::SUBPARSER_DHCP6:
2400 case Parser6Context::PARSER_INTERFACES:
2402 case Parser6Context::PARSER_SUBNET6:
2404 case Parser6Context::PARSER_POOL6:
2406 case Parser6Context::PARSER_PD_POOL:
2408 case Parser6Context::PARSER_HOST_RESERVATION:
2410 case Parser6Context::PARSER_OPTION_DEFS:
2412 case Parser6Context::PARSER_OPTION_DEF:
2414 case Parser6Context::PARSER_OPTION_DATA:
2416 case Parser6Context::PARSER_HOOKS_LIBRARY:
2418 case Parser6Context::PARSER_DHCP_DDNS:
2420 case Parser6Context::PARSER_CONFIG_CONTROL:
2426#line 2426 "dhcp6_lexer.cc"
2431 yy_cp = (yy_c_buf_p);
2434 *
yy_cp = (yy_hold_char);
2442 yy_current_state = (yy_start);
2447 if ( yy_accept[yy_current_state] )
2449 (yy_last_accepting_state) = yy_current_state;
2450 (yy_last_accepting_cpos) =
yy_cp;
2452 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2454 yy_current_state = (int) yy_def[yy_current_state];
2455 if ( yy_current_state >= 2025 )
2456 yy_c = yy_meta[yy_c];
2458 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2461 while ( yy_current_state != 2024 );
2462 yy_cp = (yy_last_accepting_cpos);
2463 yy_current_state = (yy_last_accepting_state);
2467 yy_act = yy_accept[yy_current_state];
2479 fprintf( stderr,
"--scanner backing up\n" );
2481 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
2483 else if (
yy_act == 219 )
2484 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
2486 else if (
yy_act == 220 )
2487 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
2489 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
2497 *
yy_cp = (yy_hold_char);
2498 yy_cp = (yy_last_accepting_cpos);
2499 yy_current_state = (yy_last_accepting_state);
2500 goto yy_find_action;
2504#line 148 "dhcp6_lexer.ll"
2509#line 150 "dhcp6_lexer.ll"
2514#line 152 "dhcp6_lexer.ll"
2517 comment_start_line = driver.loc_.end.line;;
2522#line 157 "dhcp6_lexer.ll"
2527#line 158 "dhcp6_lexer.ll"
2531#line 159 "dhcp6_lexer.ll"
2538#line 163 "dhcp6_lexer.ll"
2543#line 164 "dhcp6_lexer.ll"
2548#line 165 "dhcp6_lexer.ll"
2553 std::string tmp(
yytext+1);
2554 tmp.resize(tmp.size() - 1);
2556 driver.includeFile(tmp);
2562#line 174 "dhcp6_lexer.ll"
2569#line 177 "dhcp6_lexer.ll"
2574#line 180 "dhcp6_lexer.ll"
2583#line 185 "dhcp6_lexer.ll"
2586 driver.loc_.lines(
yyleng);
2592#line 192 "dhcp6_lexer.ll"
2594 switch(driver.ctx_) {
2604#line 201 "dhcp6_lexer.ll"
2606 switch(driver.ctx_) {
2616#line 210 "dhcp6_lexer.ll"
2618 switch(driver.ctx_) {
2628#line 219 "dhcp6_lexer.ll"
2630 switch(driver.ctx_) {
2640#line 228 "dhcp6_lexer.ll"
2642 switch(driver.ctx_) {
2652#line 237 "dhcp6_lexer.ll"
2654 switch(driver.ctx_) {
2664#line 246 "dhcp6_lexer.ll"
2666 switch(driver.ctx_) {
2676#line 255 "dhcp6_lexer.ll"
2678 switch(driver.ctx_) {
2688#line 264 "dhcp6_lexer.ll"
2690 switch(driver.ctx_) {
2700#line 273 "dhcp6_lexer.ll"
2702 switch(driver.ctx_) {
2712#line 282 "dhcp6_lexer.ll"
2714 switch(driver.ctx_) {
2724#line 291 "dhcp6_lexer.ll"
2726 switch(driver.ctx_) {
2736#line 300 "dhcp6_lexer.ll"
2738 switch(driver.ctx_) {
2748#line 309 "dhcp6_lexer.ll"
2750 switch(driver.ctx_) {
2763#line 321 "dhcp6_lexer.ll"
2765 switch(driver.ctx_) {
2778#line 333 "dhcp6_lexer.ll"
2784 std::string tmp(
yytext+1);
2785 tmp.resize(tmp.size() - 1);
2791#line 343 "dhcp6_lexer.ll"
2797 std::string tmp(
yytext+1);
2798 tmp.resize(tmp.size() - 1);
2804#line 353 "dhcp6_lexer.ll"
2810 std::string tmp(
yytext+1);
2811 tmp.resize(tmp.size() - 1);
2817#line 363 "dhcp6_lexer.ll"
2823 std::string tmp(
yytext+1);
2824 tmp.resize(tmp.size() - 1);
2830#line 373 "dhcp6_lexer.ll"
2836 std::string tmp(
yytext+1);
2837 tmp.resize(tmp.size() - 1);
2843#line 383 "dhcp6_lexer.ll"
2845 switch(driver.ctx_) {
2855#line 392 "dhcp6_lexer.ll"
2861 std::string tmp(
yytext+1);
2862 tmp.resize(tmp.size() - 1);
2868#line 402 "dhcp6_lexer.ll"
2874 std::string tmp(
yytext+1);
2875 tmp.resize(tmp.size() - 1);
2881#line 412 "dhcp6_lexer.ll"
2887 std::string tmp(
yytext+1);
2888 tmp.resize(tmp.size() - 1);
2894#line 422 "dhcp6_lexer.ll"
2900 std::string tmp(
yytext+1);
2901 tmp.resize(tmp.size() - 1);
2907#line 432 "dhcp6_lexer.ll"
2909 switch(driver.ctx_) {
2919#line 441 "dhcp6_lexer.ll"
2921 switch(driver.ctx_) {
2931#line 450 "dhcp6_lexer.ll"
2933 switch(driver.ctx_) {
2943#line 459 "dhcp6_lexer.ll"
2945 switch(driver.ctx_) {
2955#line 468 "dhcp6_lexer.ll"
2957 switch(driver.ctx_) {
2967#line 477 "dhcp6_lexer.ll"
2969 switch(driver.ctx_) {
2979#line 486 "dhcp6_lexer.ll"
2981 switch(driver.ctx_) {
2991#line 495 "dhcp6_lexer.ll"
2993 switch(driver.ctx_) {
3003#line 504 "dhcp6_lexer.ll"
3005 switch(driver.ctx_) {
3015#line 513 "dhcp6_lexer.ll"
3017 switch(driver.ctx_) {
3027#line 522 "dhcp6_lexer.ll"
3029 switch(driver.ctx_) {
3039#line 531 "dhcp6_lexer.ll"
3041 switch(driver.ctx_) {
3051#line 540 "dhcp6_lexer.ll"
3053 switch(driver.ctx_) {
3063#line 549 "dhcp6_lexer.ll"
3065 switch(driver.ctx_) {
3075#line 558 "dhcp6_lexer.ll"
3077 switch(driver.ctx_) {
3091#line 571 "dhcp6_lexer.ll"
3093 switch(driver.ctx_) {
3103#line 580 "dhcp6_lexer.ll"
3105 switch(driver.ctx_) {
3115#line 589 "dhcp6_lexer.ll"
3117 switch(driver.ctx_) {
3127#line 598 "dhcp6_lexer.ll"
3129 switch(driver.ctx_) {
3139#line 607 "dhcp6_lexer.ll"
3141 switch(driver.ctx_) {
3153#line 618 "dhcp6_lexer.ll"
3155 switch(driver.ctx_) {
3167#line 629 "dhcp6_lexer.ll"
3169 switch(driver.ctx_) {
3181#line 640 "dhcp6_lexer.ll"
3183 switch(driver.ctx_) {
3195#line 651 "dhcp6_lexer.ll"
3197 switch(driver.ctx_) {
3210#line 663 "dhcp6_lexer.ll"
3212 switch(driver.ctx_) {
3224#line 674 "dhcp6_lexer.ll"
3226 switch(driver.ctx_) {
3238#line 685 "dhcp6_lexer.ll"
3240 switch(driver.ctx_) {
3252#line 696 "dhcp6_lexer.ll"
3254 switch(driver.ctx_) {
3266#line 707 "dhcp6_lexer.ll"
3268 switch(driver.ctx_) {
3280#line 718 "dhcp6_lexer.ll"
3282 switch(driver.ctx_) {
3294#line 729 "dhcp6_lexer.ll"
3296 switch(driver.ctx_) {
3308#line 740 "dhcp6_lexer.ll"
3310 switch(driver.ctx_) {
3320#line 749 "dhcp6_lexer.ll"
3322 switch(driver.ctx_) {
3332#line 758 "dhcp6_lexer.ll"
3334 switch(driver.ctx_) {
3344#line 767 "dhcp6_lexer.ll"
3346 switch(driver.ctx_) {
3358#line 778 "dhcp6_lexer.ll"
3360 switch(driver.ctx_) {
3372#line 789 "dhcp6_lexer.ll"
3374 switch(driver.ctx_) {
3386#line 800 "dhcp6_lexer.ll"
3388 switch(driver.ctx_) {
3400#line 811 "dhcp6_lexer.ll"
3402 switch(driver.ctx_) {
3414#line 822 "dhcp6_lexer.ll"
3416 switch(driver.ctx_) {
3426#line 831 "dhcp6_lexer.ll"
3428 switch(driver.ctx_) {
3441#line 843 "dhcp6_lexer.ll"
3443 switch(driver.ctx_) {
3456#line 855 "dhcp6_lexer.ll"
3458 switch(driver.ctx_) {
3471#line 867 "dhcp6_lexer.ll"
3473 switch(driver.ctx_) {
3486#line 879 "dhcp6_lexer.ll"
3488 switch(driver.ctx_) {
3501#line 891 "dhcp6_lexer.ll"
3503 switch(driver.ctx_) {
3516#line 903 "dhcp6_lexer.ll"
3518 switch(driver.ctx_) {
3530#line 914 "dhcp6_lexer.ll"
3532 switch(driver.ctx_) {
3544#line 925 "dhcp6_lexer.ll"
3546 switch(driver.ctx_) {
3556#line 934 "dhcp6_lexer.ll"
3558 switch(driver.ctx_) {
3568#line 943 "dhcp6_lexer.ll"
3570 switch(driver.ctx_) {
3580#line 952 "dhcp6_lexer.ll"
3582 switch(driver.ctx_) {
3592#line 961 "dhcp6_lexer.ll"
3594 switch(driver.ctx_) {
3606#line 972 "dhcp6_lexer.ll"
3608 switch(driver.ctx_) {
3620#line 983 "dhcp6_lexer.ll"
3622 switch(driver.ctx_) {
3634#line 994 "dhcp6_lexer.ll"
3636 switch(driver.ctx_) {
3648#line 1005 "dhcp6_lexer.ll"
3650 switch(driver.ctx_) {
3662#line 1016 "dhcp6_lexer.ll"
3664 switch(driver.ctx_) {
3676#line 1027 "dhcp6_lexer.ll"
3678 switch(driver.ctx_) {
3690#line 1038 "dhcp6_lexer.ll"
3692 switch(driver.ctx_) {
3704#line 1050 "dhcp6_lexer.ll"
3706 switch(driver.ctx_) {
3717#line 1060 "dhcp6_lexer.ll"
3719 switch(driver.ctx_) {
3731#line 1071 "dhcp6_lexer.ll"
3733 switch (driver.ctx_) {
3735 return Dhcp6Parser::make_SHARED_NETWORKS(driver.loc_);
3737 return Dhcp6Parser::make_STRING(
"shared-networks", driver.loc_);
3743#line 1080 "dhcp6_lexer.ll"
3745 switch(driver.ctx_) {
3755#line 1089 "dhcp6_lexer.ll"
3757 switch(driver.ctx_) {
3773#line 1104 "dhcp6_lexer.ll"
3775 switch(driver.ctx_) {
3792#line 1120 "dhcp6_lexer.ll"
3794 switch(driver.ctx_) {
3804#line 1129 "dhcp6_lexer.ll"
3806 switch(driver.ctx_) {
3816#line 1138 "dhcp6_lexer.ll"
3818 switch(driver.ctx_) {
3828#line 1147 "dhcp6_lexer.ll"
3830 switch(driver.ctx_) {
3840#line 1156 "dhcp6_lexer.ll"
3842 switch(driver.ctx_) {
3852#line 1165 "dhcp6_lexer.ll"
3854 switch(driver.ctx_) {
3864#line 1174 "dhcp6_lexer.ll"
3866 switch(driver.ctx_) {
3876#line 1183 "dhcp6_lexer.ll"
3878 switch(driver.ctx_) {
3888#line 1192 "dhcp6_lexer.ll"
3890 switch(driver.ctx_) {
3900#line 1201 "dhcp6_lexer.ll"
3902 switch(driver.ctx_) {
3912#line 1210 "dhcp6_lexer.ll"
3914 switch(driver.ctx_) {
3939#line 1234 "dhcp6_lexer.ll"
3941 switch(driver.ctx_) {
3966#line 1258 "dhcp6_lexer.ll"
3968 switch(driver.ctx_) {
3978#line 1267 "dhcp6_lexer.ll"
3980 switch(driver.ctx_) {
3991#line 1277 "dhcp6_lexer.ll"
3993 switch(driver.ctx_) {
4004#line 1287 "dhcp6_lexer.ll"
4006 switch(driver.ctx_) {
4016#line 1296 "dhcp6_lexer.ll"
4018 switch(driver.ctx_) {
4029#line 1306 "dhcp6_lexer.ll"
4031 switch(driver.ctx_) {
4043#line 1317 "dhcp6_lexer.ll"
4045 switch(driver.ctx_) {
4055#line 1326 "dhcp6_lexer.ll"
4057 switch(driver.ctx_) {
4067#line 1335 "dhcp6_lexer.ll"
4069 switch(driver.ctx_) {
4079#line 1344 "dhcp6_lexer.ll"
4081 switch(driver.ctx_) {
4091#line 1353 "dhcp6_lexer.ll"
4093 switch(driver.ctx_) {
4103#line 1362 "dhcp6_lexer.ll"
4105 switch(driver.ctx_) {
4117#line 1373 "dhcp6_lexer.ll"
4119 switch(driver.ctx_) {
4131#line 1384 "dhcp6_lexer.ll"
4133 switch(driver.ctx_) {
4145#line 1395 "dhcp6_lexer.ll"
4147 switch(driver.ctx_) {
4158#line 1405 "dhcp6_lexer.ll"
4160 switch(driver.ctx_) {
4170#line 1414 "dhcp6_lexer.ll"
4172 switch(driver.ctx_) {
4182#line 1423 "dhcp6_lexer.ll"
4184 switch(driver.ctx_) {
4194#line 1432 "dhcp6_lexer.ll"
4196 switch(driver.ctx_) {
4208#line 1443 "dhcp6_lexer.ll"
4210 switch(driver.ctx_) {
4222#line 1454 "dhcp6_lexer.ll"
4224 switch(driver.ctx_) {
4236#line 1465 "dhcp6_lexer.ll"
4238 switch(driver.ctx_) {
4250#line 1476 "dhcp6_lexer.ll"
4252 switch(driver.ctx_) {
4264#line 1487 "dhcp6_lexer.ll"
4266 switch(driver.ctx_) {
4276#line 1496 "dhcp6_lexer.ll"
4278 switch(driver.ctx_) {
4288#line 1505 "dhcp6_lexer.ll"
4290 switch(driver.ctx_) {
4300#line 1514 "dhcp6_lexer.ll"
4302 switch(driver.ctx_) {
4312#line 1523 "dhcp6_lexer.ll"
4314 switch(driver.ctx_) {
4324#line 1532 "dhcp6_lexer.ll"
4326 switch(driver.ctx_) {
4336#line 1541 "dhcp6_lexer.ll"
4338 switch(driver.ctx_) {
4348#line 1550 "dhcp6_lexer.ll"
4350 switch(driver.ctx_) {
4360#line 1559 "dhcp6_lexer.ll"
4362 switch(driver.ctx_) {
4372#line 1568 "dhcp6_lexer.ll"
4374 switch(driver.ctx_) {
4385#line 1578 "dhcp6_lexer.ll"
4387 switch(driver.ctx_) {
4400#line 1590 "dhcp6_lexer.ll"
4402 switch(driver.ctx_) {
4416#line 1603 "dhcp6_lexer.ll"
4418 switch(driver.ctx_) {
4428#line 1612 "dhcp6_lexer.ll"
4430 switch(driver.ctx_) {
4440#line 1621 "dhcp6_lexer.ll"
4442 switch(driver.ctx_) {
4453#line 1631 "dhcp6_lexer.ll"
4455 switch(driver.ctx_) {
4466#line 1641 "dhcp6_lexer.ll"
4468 switch(driver.ctx_) {
4478#line 1650 "dhcp6_lexer.ll"
4480 switch(driver.ctx_) {
4492#line 1661 "dhcp6_lexer.ll"
4494 switch(driver.ctx_) {
4505#line 1671 "dhcp6_lexer.ll"
4507 switch(driver.ctx_) {
4517#line 1680 "dhcp6_lexer.ll"
4519 switch(driver.ctx_) {
4530#line 1690 "dhcp6_lexer.ll"
4532 switch(driver.ctx_) {
4543#line 1700 "dhcp6_lexer.ll"
4545 switch(driver.ctx_) {
4555#line 1709 "dhcp6_lexer.ll"
4557 switch(driver.ctx_) {
4567#line 1718 "dhcp6_lexer.ll"
4569 switch(driver.ctx_) {
4579#line 1727 "dhcp6_lexer.ll"
4581 switch(driver.ctx_) {
4591#line 1736 "dhcp6_lexer.ll"
4593 switch(driver.ctx_) {
4604#line 1746 "dhcp6_lexer.ll"
4606 switch(driver.ctx_) {
4616#line 1755 "dhcp6_lexer.ll"
4618 switch(driver.ctx_) {
4628#line 1764 "dhcp6_lexer.ll"
4630 switch(driver.ctx_) {
4640#line 1773 "dhcp6_lexer.ll"
4642 switch(driver.ctx_) {
4652#line 1782 "dhcp6_lexer.ll"
4654 switch(driver.ctx_) {
4664#line 1791 "dhcp6_lexer.ll"
4666 switch(driver.ctx_) {
4676#line 1800 "dhcp6_lexer.ll"
4678 switch(driver.ctx_) {
4688#line 1809 "dhcp6_lexer.ll"
4690 switch(driver.ctx_) {
4700#line 1818 "dhcp6_lexer.ll"
4702 switch(driver.ctx_) {
4712#line 1827 "dhcp6_lexer.ll"
4714 switch(driver.ctx_) {
4724#line 1836 "dhcp6_lexer.ll"
4726 switch(driver.ctx_) {
4736#line 1845 "dhcp6_lexer.ll"
4738 switch(driver.ctx_) {
4748#line 1854 "dhcp6_lexer.ll"
4750 switch(driver.ctx_) {
4760#line 1863 "dhcp6_lexer.ll"
4762 switch(driver.ctx_) {
4772#line 1872 "dhcp6_lexer.ll"
4774 switch(driver.ctx_) {
4784#line 1881 "dhcp6_lexer.ll"
4786 switch(driver.ctx_) {
4796#line 1890 "dhcp6_lexer.ll"
4798 switch(driver.ctx_) {
4808#line 1899 "dhcp6_lexer.ll"
4810 switch(driver.ctx_) {
4820#line 1908 "dhcp6_lexer.ll"
4822 switch(driver.ctx_) {
4832#line 1917 "dhcp6_lexer.ll"
4834 switch(driver.ctx_) {
4844#line 1926 "dhcp6_lexer.ll"
4846 switch(driver.ctx_) {
4856#line 1935 "dhcp6_lexer.ll"
4858 switch(driver.ctx_) {
4868#line 1944 "dhcp6_lexer.ll"
4870 switch(driver.ctx_) {
4880#line 1953 "dhcp6_lexer.ll"
4882 switch(driver.ctx_) {
4892#line 1962 "dhcp6_lexer.ll"
4894 switch(driver.ctx_) {
4904#line 1971 "dhcp6_lexer.ll"
4906 switch(driver.ctx_) {
4916#line 1980 "dhcp6_lexer.ll"
4918 switch(driver.ctx_) {
4928#line 1989 "dhcp6_lexer.ll"
4930 switch(driver.ctx_) {
4940#line 1998 "dhcp6_lexer.ll"
4942 switch(driver.ctx_) {
4952#line 2007 "dhcp6_lexer.ll"
4954 switch(driver.ctx_) {
4964#line 2016 "dhcp6_lexer.ll"
4966 switch(driver.ctx_) {
4976#line 2025 "dhcp6_lexer.ll"
4978 switch(driver.ctx_) {
4988#line 2034 "dhcp6_lexer.ll"
4990 switch(driver.ctx_) {
5000#line 2043 "dhcp6_lexer.ll"
5002 switch(driver.ctx_) {
5012#line 2052 "dhcp6_lexer.ll"
5014 switch(driver.ctx_) {
5024#line 2061 "dhcp6_lexer.ll"
5029 std::string raw(
yytext+1);
5030 size_t len = raw.size() - 1;
5032 std::string decoded;
5033 decoded.reserve(len);
5034 for (
size_t pos = 0; pos < len; ++pos) {
5040 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
5046 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
5053 decoded.push_back(c);
5056 decoded.push_back(
'\b');
5059 decoded.push_back(
'\f');
5062 decoded.push_back(
'\n');
5065 decoded.push_back(
'\r');
5068 decoded.push_back(
'\t');
5073 if (pos + 4 > len) {
5075 driver.error(driver.loc_,
5076 "Overflow unicode escape in \"" + raw +
"\"");
5078 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
5079 driver.error(driver.loc_,
5080 "Unsupported unicode escape in \"" + raw +
"\"",
5085 if ((c >=
'0') && (c <=
'9')) {
5087 }
else if ((c >=
'A') && (c <=
'F')) {
5088 b = (c -
'A' + 10) << 4;
5089 }
else if ((c >=
'a') && (c <=
'f')) {
5090 b = (c -
'a' + 10) << 4;
5093 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5097 if ((c >=
'0') && (c <=
'9')) {
5099 }
else if ((c >=
'A') && (c <=
'F')) {
5101 }
else if ((c >=
'a') && (c <=
'f')) {
5105 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5107 decoded.push_back(
static_cast<char>(b & 0xff));
5111 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
5115 if ((c >= 0) && (c < 0x20)) {
5117 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
5119 decoded.push_back(c);
5129#line 2162 "dhcp6_lexer.ll"
5132 std::string raw(
yytext+1);
5133 size_t len = raw.size() - 1;
5135 for (; pos < len; ++pos) {
5137 if ((c >= 0) && (c < 0x20)) {
5141 driver.error(driver.loc_,
5142 "Invalid control in " + std::string(
yytext),
5149#line 2178 "dhcp6_lexer.ll"
5152 std::string raw(
yytext+1);
5153 size_t len = raw.size() - 1;
5156 for (; pos < len; ++pos) {
5175 if ((pos + 4 > len) ||
5176 !std::isxdigit(raw[pos + 1]) ||
5177 !std::isxdigit(raw[pos + 2]) ||
5178 !std::isxdigit(raw[pos + 3]) ||
5179 !std::isxdigit(raw[pos + 4])) {
5190 std::string trailer =
"";
5191 if (raw[len - 1] ==
'\\') {
5194 driver.error(driver.loc_,
5195 "Bad escape in " + std::string(
yytext) + trailer,
5201#line 2227 "dhcp6_lexer.ll"
5204 std::string raw(
yytext+1);
5205 driver.error(driver.loc_,
5206 "Overflow escape in " + std::string(
yytext),
5212#line 2235 "dhcp6_lexer.ll"
5215 std::string raw(
yytext+1);
5216 size_t pos = raw.size() - 1;
5217 for (; pos > 0; --pos) {
5223 driver.error(driver.loc_,
5224 "Overflow unicode escape in " + std::string(
yytext),
5230#line 2250 "dhcp6_lexer.ll"
5235#line 2251 "dhcp6_lexer.ll"
5240#line 2252 "dhcp6_lexer.ll"
5245#line 2253 "dhcp6_lexer.ll"
5250#line 2254 "dhcp6_lexer.ll"
5255#line 2255 "dhcp6_lexer.ll"
5260#line 2257 "dhcp6_lexer.ll"
5264 int64_t integer = 0;
5270 integer = boost::lexical_cast<int64_t>(tmp);
5271 }
catch (
const boost::bad_lexical_cast &) {
5272 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
5281#line 2275 "dhcp6_lexer.ll"
5287 fp = boost::lexical_cast<double>(tmp);
5288 }
catch (
const boost::bad_lexical_cast &) {
5289 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
5297#line 2288 "dhcp6_lexer.ll"
5305#line 2293 "dhcp6_lexer.ll"
5312#line 2297 "dhcp6_lexer.ll"
5313driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
5317#line 2299 "dhcp6_lexer.ll"
5318driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
5322#line 2301 "dhcp6_lexer.ll"
5323driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
5327#line 2303 "dhcp6_lexer.ll"
5328driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
5331#line 2305 "dhcp6_lexer.ll"
5333 if (driver.states_.empty()) {
5336 driver.loc_ = driver.locs_.back();
5337 driver.locs_.pop_back();
5338 driver.file_ = driver.files_.back();
5339 driver.files_.pop_back();
5340 if (driver.sfile_) {
5341 fclose(driver.sfile_);
5344 if (!driver.sfiles_.empty()) {
5345 driver.sfile_ = driver.sfiles_.back();
5346 driver.sfiles_.pop_back();
5349 parser6__switch_to_buffer(driver.states_.back());
5350 driver.states_.pop_back();
5357#line 2328 "dhcp6_lexer.ll"
5360#line 5360 "dhcp6_lexer.cc"
5368 *
yy_cp = (yy_hold_char);
5402 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
5404 yy_current_state = yy_get_previous_state( );
5415 yy_next_state = yy_try_NUL_trans( yy_current_state );
5419 if ( yy_next_state )
5422 yy_cp = ++(yy_c_buf_p);
5423 yy_current_state = yy_next_state;
5430 yy_cp = (yy_last_accepting_cpos);
5431 yy_current_state = (yy_last_accepting_state);
5432 goto yy_find_action;
5436 else switch ( yy_get_next_buffer( ) )
5440 (yy_did_buffer_switch_on_eof) = 0;
5461 if ( ! (yy_did_buffer_switch_on_eof) )
5471 yy_current_state = yy_get_previous_state( );
5473 yy_cp = (yy_c_buf_p);
5481 yy_current_state = yy_get_previous_state( );
5483 yy_cp = (yy_c_buf_p);
5485 goto yy_find_action;
5492 "fatal flex scanner internal error--no action found" );
5513static int yy_get_next_buffer (
void)
5520 int number_to_move, i;
5525 "fatal flex scanner internal error--end of buffer missed" );
5549 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
5551 for ( i = 0; i < number_to_move; ++i )
5552 *(dest++) = *(source++);
5565 while ( num_to_read <= 0 )
5571 int yy_c_buf_p_offset =
5578 if ( new_size <= 0 )
5594 "fatal error - scanner input buffer overflow" );
5596 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
5608 (yy_n_chars), num_to_read );
5613 if ( (yy_n_chars) == 0 )
5634 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
5638 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
5643 (yy_n_chars) += number_to_move;
5665 yy_current_state = (yy_start);
5671 if ( yy_accept[yy_current_state] )
5673 (yy_last_accepting_state) = yy_current_state;
5674 (yy_last_accepting_cpos) =
yy_cp;
5676 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5678 yy_current_state = (int) yy_def[yy_current_state];
5679 if ( yy_current_state >= 2025 )
5680 yy_c = yy_meta[yy_c];
5682 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
5685 return yy_current_state;
5701 char *
yy_cp = (yy_c_buf_p);
5704 if ( yy_accept[yy_current_state] )
5706 (yy_last_accepting_state) = yy_current_state;
5707 (yy_last_accepting_cpos) =
yy_cp;
5709 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5711 yy_current_state = (int) yy_def[yy_current_state];
5712 if ( yy_current_state >= 2025 )
5713 yy_c = yy_meta[yy_c];
5715 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
5716 yy_is_jam = (yy_current_state == 2024);
5718 return yy_is_jam ? 0 : yy_current_state;
5730 static int yyinput (
void)
5732 static int input (
void)
5741 *(yy_c_buf_p) = (yy_hold_char);
5751 *(yy_c_buf_p) =
'\0';
5755 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
5758 switch ( yy_get_next_buffer( ) )
5781 if ( ! (yy_did_buffer_switch_on_eof) )
5797 c = *(
unsigned char *) (yy_c_buf_p);
5798 *(yy_c_buf_p) =
'\0';
5799 (yy_hold_char) = *++(yy_c_buf_p);
5857 *(yy_c_buf_p) = (yy_hold_char);
5870 (yy_did_buffer_switch_on_eof) = 1;
5886 (yy_hold_char) = *(yy_c_buf_p);
6034 if (new_buffer == NULL)
6043 *(yy_c_buf_p) = (yy_hold_char);
6050 (yy_buffer_stack_top)++;
6055 (yy_did_buffer_switch_on_eof) = 1;
6075 if ((yy_buffer_stack_top) > 0)
6076 --(yy_buffer_stack_top);
6080 (yy_did_buffer_switch_on_eof) = 1;
6097 if (!(yy_buffer_stack)) {
6107 if ( ! (yy_buffer_stack) )
6108 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6110 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
6112 (yy_buffer_stack_max) = num_to_alloc;
6113 (yy_buffer_stack_top) = 0;
6117 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6122 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6127 if ( ! (yy_buffer_stack) )
6128 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6131 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
6132 (yy_buffer_stack_max) = num_to_alloc;
6211 for ( i = 0; i < _yybytes_len; ++i )
6212 buf[i] = yybytes[i];
6229#ifndef YY_EXIT_FAILURE
6230#define YY_EXIT_FAILURE 2
6234static void yynoreturn yy_fatal_error (
const char* msg )
6236 fprintf( stderr,
"%s\n", msg );
6250 int yyless_macro_arg = (n); \
6251 YY_LESS_LINENO(yyless_macro_arg);\
6252 yytext[yyleng] = (yy_hold_char); \
6253 (yy_c_buf_p) = yytext + yyless_macro_arg; \
6254 (yy_hold_char) = *(yy_c_buf_p); \
6255 *(yy_c_buf_p) = '\0'; \
6256 yyleng = yyless_macro_arg; \
6355static int yy_init_globals (
void)
6361 (yy_buffer_stack) = NULL;
6362 (yy_buffer_stack_top) = 0;
6363 (yy_buffer_stack_max) = 0;
6364 (yy_c_buf_p) = NULL;
6397 yyfree((yy_buffer_stack) );
6398 (yy_buffer_stack) = NULL;
6415static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
6419 for ( i = 0; i < n; ++i )
6424#ifdef YY_NEED_STRLEN
6425static int yy_flex_strlen (
const char * s )
6428 for ( n = 0; s[n]; ++n )
6437 return malloc(size);
6450 return realloc(ptr, size);
6455 free( (
char *) ptr );
6460#define YYTABLES_NAME "yytables"
6465#line 2328 "dhcp6_lexer.ll"
6471Parser6Context::scanStringBegin(
const std::string& str,
ParserType parser_type)
6473 start_token_flag =
true;
6474 start_token_value = parser_type;
6481 buffer = parser6__scan_bytes(str.c_str(), str.size());
6483 fatal(
"cannot scan string");
6490 const std::string& filename,
6493 start_token_flag =
true;
6494 start_token_value = parser_type;
6503 buffer = parser6__create_buffer(f, 65536 );
6505 fatal(
"cannot scan file " + filename);
6507 parser6__switch_to_buffer(buffer);
6515 static_cast<void>(parser6_lex_destroy());
6526 parser6__delete_buffer(
states_.back());
6534 fatal(
"Too many nested include.");
6537 FILE* f = fopen(filename.c_str(),
"r");
6539 fatal(
"Can't open include file " + filename);
6547 buffer = parser6__create_buffer(f, 65536 );
6549 fatal(
"Can't scan include file " + filename);
6551 parser6__switch_to_buffer(buffer);
6564 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_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.