"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6; var _class7; var _class8; var _class9; var _class10; var _class11; var _class12; var _class13; var _class14;// src/Thresholds.ts var Thresholds = (_class = class { static __initStatic() {this.COMPLEX_METHOD_CYCLOMATIC_COMPLEXITY = 8} static __initStatic2() {this.LONG_STATEMENT = 120} static __initStatic3() {this.LONG_PARAMETER_LIST = 5} static __initStatic4() {this.LONG_METHOD = 30} static __initStatic5() {this.COMPLEX_CONDITIONAL = 3} static __initStatic6() {this.LONG_IDENTIFIER = 30} static __initStatic7() {this.LAZY_CLASS_LOC = 10} static __initStatic8() {this.LARGE_CLASS_LOC = 10} }, _class.__initStatic(), _class.__initStatic2(), _class.__initStatic3(), _class.__initStatic4(), _class.__initStatic5(), _class.__initStatic6(), _class.__initStatic7(), _class.__initStatic8(), _class); // src/grammars-v4/python/python3_12/PythonParser.ts var _antlr4 = require('antlr4'); var _antlr42 = _interopRequireDefault(_antlr4); // src/grammars-v4/python/python3_12/PythonParserBase.ts var PythonParserBase = class extends _antlr4.Parser { constructor(input) { super(input); } isEqualToCurrentTokenText(tokenText) { return this.getCurrentToken().text === tokenText; } isnotEqualToCurrentTokenText(tokenText) { return !this.isEqualToCurrentTokenText(tokenText); } }; // src/grammars-v4/python/python3_12/PythonParser.ts var PythonParser = (_class2 = class _PythonParser extends PythonParserBase { static __initStatic9() {this.INDENT = 1} static __initStatic10() {this.DEDENT = 2} static __initStatic11() {this.FSTRING_START = 3} static __initStatic12() {this.FSTRING_MIDDLE = 4} static __initStatic13() {this.FSTRING_END = 5} static __initStatic14() {this.FALSE = 6} static __initStatic15() {this.AWAIT = 7} static __initStatic16() {this.ELSE = 8} static __initStatic17() {this.IMPORT = 9} static __initStatic18() {this.PASS = 10} static __initStatic19() {this.NONE = 11} static __initStatic20() {this.BREAK = 12} static __initStatic21() {this.EXCEPT = 13} static __initStatic22() {this.IN = 14} static __initStatic23() {this.RAISE = 15} static __initStatic24() {this.TRUE = 16} static __initStatic25() {this.CLASS = 17} static __initStatic26() {this.FINALLY = 18} static __initStatic27() {this.IS = 19} static __initStatic28() {this.RETURN = 20} static __initStatic29() {this.AND = 21} static __initStatic30() {this.CONTINUE = 22} static __initStatic31() {this.FOR = 23} static __initStatic32() {this.LAMBDA = 24} static __initStatic33() {this.TRY = 25} static __initStatic34() {this.AS = 26} static __initStatic35() {this.DEF = 27} static __initStatic36() {this.FROM = 28} static __initStatic37() {this.NONLOCAL = 29} static __initStatic38() {this.WHILE = 30} static __initStatic39() {this.ASSERT = 31} static __initStatic40() {this.DEL = 32} static __initStatic41() {this.GLOBAL = 33} static __initStatic42() {this.NOT = 34} static __initStatic43() {this.WITH = 35} static __initStatic44() {this.ASYNC = 36} static __initStatic45() {this.ELIF = 37} static __initStatic46() {this.IF = 38} static __initStatic47() {this.OR = 39} static __initStatic48() {this.YIELD = 40} static __initStatic49() {this.LPAR = 41} static __initStatic50() {this.LSQB = 42} static __initStatic51() {this.LBRACE = 43} static __initStatic52() {this.RPAR = 44} static __initStatic53() {this.RSQB = 45} static __initStatic54() {this.RBRACE = 46} static __initStatic55() {this.DOT = 47} static __initStatic56() {this.COLON = 48} static __initStatic57() {this.COMMA = 49} static __initStatic58() {this.SEMI = 50} static __initStatic59() {this.PLUS = 51} static __initStatic60() {this.MINUS = 52} static __initStatic61() {this.STAR = 53} static __initStatic62() {this.SLASH = 54} static __initStatic63() {this.VBAR = 55} static __initStatic64() {this.AMPER = 56} static __initStatic65() {this.LESS = 57} static __initStatic66() {this.GREATER = 58} static __initStatic67() {this.EQUAL = 59} static __initStatic68() {this.PERCENT = 60} static __initStatic69() {this.EQEQUAL = 61} static __initStatic70() {this.NOTEQUAL = 62} static __initStatic71() {this.LESSEQUAL = 63} static __initStatic72() {this.GREATEREQUAL = 64} static __initStatic73() {this.TILDE = 65} static __initStatic74() {this.CIRCUMFLEX = 66} static __initStatic75() {this.LEFTSHIFT = 67} static __initStatic76() {this.RIGHTSHIFT = 68} static __initStatic77() {this.DOUBLESTAR = 69} static __initStatic78() {this.PLUSEQUAL = 70} static __initStatic79() {this.MINEQUAL = 71} static __initStatic80() {this.STAREQUAL = 72} static __initStatic81() {this.SLASHEQUAL = 73} static __initStatic82() {this.PERCENTEQUAL = 74} static __initStatic83() {this.AMPEREQUAL = 75} static __initStatic84() {this.VBAREQUAL = 76} static __initStatic85() {this.CIRCUMFLEXEQUAL = 77} static __initStatic86() {this.LEFTSHIFTEQUAL = 78} static __initStatic87() {this.RIGHTSHIFTEQUAL = 79} static __initStatic88() {this.DOUBLESTAREQUAL = 80} static __initStatic89() {this.DOUBLESLASH = 81} static __initStatic90() {this.DOUBLESLASHEQUAL = 82} static __initStatic91() {this.AT = 83} static __initStatic92() {this.ATEQUAL = 84} static __initStatic93() {this.RARROW = 85} static __initStatic94() {this.ELLIPSIS = 86} static __initStatic95() {this.COLONEQUAL = 87} static __initStatic96() {this.EXCLAMATION = 88} static __initStatic97() {this.NAME = 89} static __initStatic98() {this.NUMBER = 90} static __initStatic99() {this.STRING = 91} static __initStatic100() {this.TYPE_COMMENT = 92} static __initStatic101() {this.NEWLINE = 93} static __initStatic102() {this.COMMENT = 94} static __initStatic103() {this.WS = 95} static __initStatic104() {this.EXPLICIT_LINE_JOINING = 96} static __initStatic105() {this.ERROR_TOKEN = 97} static __initStatic106() {this.EOF = _antlr4.Token.EOF} static __initStatic107() {this.RULE_file_input = 0} static __initStatic108() {this.RULE_interactive = 1} static __initStatic109() {this.RULE_eval = 2} static __initStatic110() {this.RULE_func_type = 3} static __initStatic111() {this.RULE_fstring_input = 4} static __initStatic112() {this.RULE_statements = 5} static __initStatic113() {this.RULE_statement = 6} static __initStatic114() {this.RULE_statement_newline = 7} static __initStatic115() {this.RULE_simple_stmts = 8} static __initStatic116() {this.RULE_simple_stmt = 9} static __initStatic117() {this.RULE_compound_stmt = 10} static __initStatic118() {this.RULE_assignment = 11} static __initStatic119() {this.RULE_annotated_rhs = 12} static __initStatic120() {this.RULE_augassign = 13} static __initStatic121() {this.RULE_return_stmt = 14} static __initStatic122() {this.RULE_raise_stmt = 15} static __initStatic123() {this.RULE_global_stmt = 16} static __initStatic124() {this.RULE_nonlocal_stmt = 17} static __initStatic125() {this.RULE_del_stmt = 18} static __initStatic126() {this.RULE_yield_stmt = 19} static __initStatic127() {this.RULE_assert_stmt = 20} static __initStatic128() {this.RULE_import_stmt = 21} static __initStatic129() {this.RULE_import_name = 22} static __initStatic130() {this.RULE_import_from = 23} static __initStatic131() {this.RULE_import_from_targets = 24} static __initStatic132() {this.RULE_import_from_as_names = 25} static __initStatic133() {this.RULE_import_from_as_name = 26} static __initStatic134() {this.RULE_dotted_as_names = 27} static __initStatic135() {this.RULE_dotted_as_name = 28} static __initStatic136() {this.RULE_dotted_name = 29} static __initStatic137() {this.RULE_block = 30} static __initStatic138() {this.RULE_decorators = 31} static __initStatic139() {this.RULE_class_def = 32} static __initStatic140() {this.RULE_class_def_raw = 33} static __initStatic141() {this.RULE_function_def = 34} static __initStatic142() {this.RULE_function_def_raw = 35} static __initStatic143() {this.RULE_params = 36} static __initStatic144() {this.RULE_parameters = 37} static __initStatic145() {this.RULE_slash_no_default = 38} static __initStatic146() {this.RULE_slash_with_default = 39} static __initStatic147() {this.RULE_star_etc = 40} static __initStatic148() {this.RULE_kwds = 41} static __initStatic149() {this.RULE_param_no_default = 42} static __initStatic150() {this.RULE_param_no_default_star_annotation = 43} static __initStatic151() {this.RULE_param_with_default = 44} static __initStatic152() {this.RULE_param_maybe_default = 45} static __initStatic153() {this.RULE_param = 46} static __initStatic154() {this.RULE_param_star_annotation = 47} static __initStatic155() {this.RULE_annotation = 48} static __initStatic156() {this.RULE_star_annotation = 49} static __initStatic157() {this.RULE_default_assignment = 50} static __initStatic158() {this.RULE_if_stmt = 51} static __initStatic159() {this.RULE_elif_stmt = 52} static __initStatic160() {this.RULE_else_block = 53} static __initStatic161() {this.RULE_while_stmt = 54} static __initStatic162() {this.RULE_for_stmt = 55} static __initStatic163() {this.RULE_with_stmt = 56} static __initStatic164() {this.RULE_with_item = 57} static __initStatic165() {this.RULE_try_stmt = 58} static __initStatic166() {this.RULE_except_block = 59} static __initStatic167() {this.RULE_except_star_block = 60} static __initStatic168() {this.RULE_finally_block = 61} static __initStatic169() {this.RULE_match_stmt = 62} static __initStatic170() {this.RULE_subject_expr = 63} static __initStatic171() {this.RULE_case_block = 64} static __initStatic172() {this.RULE_guard = 65} static __initStatic173() {this.RULE_patterns = 66} static __initStatic174() {this.RULE_pattern = 67} static __initStatic175() {this.RULE_as_pattern = 68} static __initStatic176() {this.RULE_or_pattern = 69} static __initStatic177() {this.RULE_closed_pattern = 70} static __initStatic178() {this.RULE_literal_pattern = 71} static __initStatic179() {this.RULE_literal_expr = 72} static __initStatic180() {this.RULE_complex_number = 73} static __initStatic181() {this.RULE_signed_number = 74} static __initStatic182() {this.RULE_signed_real_number = 75} static __initStatic183() {this.RULE_real_number = 76} static __initStatic184() {this.RULE_imaginary_number = 77} static __initStatic185() {this.RULE_capture_pattern = 78} static __initStatic186() {this.RULE_pattern_capture_target = 79} static __initStatic187() {this.RULE_wildcard_pattern = 80} static __initStatic188() {this.RULE_value_pattern = 81} static __initStatic189() {this.RULE_attr = 82} static __initStatic190() {this.RULE_name_or_attr = 83} static __initStatic191() {this.RULE_group_pattern = 84} static __initStatic192() {this.RULE_sequence_pattern = 85} static __initStatic193() {this.RULE_open_sequence_pattern = 86} static __initStatic194() {this.RULE_maybe_sequence_pattern = 87} static __initStatic195() {this.RULE_maybe_star_pattern = 88} static __initStatic196() {this.RULE_star_pattern = 89} static __initStatic197() {this.RULE_mapping_pattern = 90} static __initStatic198() {this.RULE_items_pattern = 91} static __initStatic199() {this.RULE_key_value_pattern = 92} static __initStatic200() {this.RULE_double_star_pattern = 93} static __initStatic201() {this.RULE_class_pattern = 94} static __initStatic202() {this.RULE_positional_patterns = 95} static __initStatic203() {this.RULE_keyword_patterns = 96} static __initStatic204() {this.RULE_keyword_pattern = 97} static __initStatic205() {this.RULE_type_alias = 98} static __initStatic206() {this.RULE_type_params = 99} static __initStatic207() {this.RULE_type_param_seq = 100} static __initStatic208() {this.RULE_type_param = 101} static __initStatic209() {this.RULE_type_param_bound = 102} static __initStatic210() {this.RULE_expressions = 103} static __initStatic211() {this.RULE_expression = 104} static __initStatic212() {this.RULE_yield_expr = 105} static __initStatic213() {this.RULE_star_expressions = 106} static __initStatic214() {this.RULE_star_expression = 107} static __initStatic215() {this.RULE_star_named_expressions = 108} static __initStatic216() {this.RULE_star_named_expression = 109} static __initStatic217() {this.RULE_assignment_expression = 110} static __initStatic218() {this.RULE_named_expression = 111} static __initStatic219() {this.RULE_disjunction = 112} static __initStatic220() {this.RULE_conjunction = 113} static __initStatic221() {this.RULE_inversion = 114} static __initStatic222() {this.RULE_comparison = 115} static __initStatic223() {this.RULE_compare_op_bitwise_or_pair = 116} static __initStatic224() {this.RULE_eq_bitwise_or = 117} static __initStatic225() {this.RULE_noteq_bitwise_or = 118} static __initStatic226() {this.RULE_lte_bitwise_or = 119} static __initStatic227() {this.RULE_lt_bitwise_or = 120} static __initStatic228() {this.RULE_gte_bitwise_or = 121} static __initStatic229() {this.RULE_gt_bitwise_or = 122} static __initStatic230() {this.RULE_notin_bitwise_or = 123} static __initStatic231() {this.RULE_in_bitwise_or = 124} static __initStatic232() {this.RULE_isnot_bitwise_or = 125} static __initStatic233() {this.RULE_is_bitwise_or = 126} static __initStatic234() {this.RULE_bitwise_or = 127} static __initStatic235() {this.RULE_bitwise_xor = 128} static __initStatic236() {this.RULE_bitwise_and = 129} static __initStatic237() {this.RULE_shift_expr = 130} static __initStatic238() {this.RULE_sum = 131} static __initStatic239() {this.RULE_term = 132} static __initStatic240() {this.RULE_factor = 133} static __initStatic241() {this.RULE_power = 134} static __initStatic242() {this.RULE_await_primary = 135} static __initStatic243() {this.RULE_primary = 136} static __initStatic244() {this.RULE_slices = 137} static __initStatic245() {this.RULE_slice = 138} static __initStatic246() {this.RULE_atom = 139} static __initStatic247() {this.RULE_group = 140} static __initStatic248() {this.RULE_lambdef = 141} static __initStatic249() {this.RULE_lambda_params = 142} static __initStatic250() {this.RULE_lambda_parameters = 143} static __initStatic251() {this.RULE_lambda_slash_no_default = 144} static __initStatic252() {this.RULE_lambda_slash_with_default = 145} static __initStatic253() {this.RULE_lambda_star_etc = 146} static __initStatic254() {this.RULE_lambda_kwds = 147} static __initStatic255() {this.RULE_lambda_param_no_default = 148} static __initStatic256() {this.RULE_lambda_param_with_default = 149} static __initStatic257() {this.RULE_lambda_param_maybe_default = 150} static __initStatic258() {this.RULE_lambda_param = 151} static __initStatic259() {this.RULE_fstring_middle = 152} static __initStatic260() {this.RULE_fstring_replacement_field = 153} static __initStatic261() {this.RULE_fstring_conversion = 154} static __initStatic262() {this.RULE_fstring_full_format_spec = 155} static __initStatic263() {this.RULE_fstring_format_spec = 156} static __initStatic264() {this.RULE_fstring = 157} static __initStatic265() {this.RULE_string = 158} static __initStatic266() {this.RULE_strings = 159} static __initStatic267() {this.RULE_list = 160} static __initStatic268() {this.RULE_tuple = 161} static __initStatic269() {this.RULE_set = 162} static __initStatic270() {this.RULE_dict = 163} static __initStatic271() {this.RULE_double_starred_kvpairs = 164} static __initStatic272() {this.RULE_double_starred_kvpair = 165} static __initStatic273() {this.RULE_kvpair = 166} static __initStatic274() {this.RULE_for_if_clauses = 167} static __initStatic275() {this.RULE_for_if_clause = 168} static __initStatic276() {this.RULE_listcomp = 169} static __initStatic277() {this.RULE_setcomp = 170} static __initStatic278() {this.RULE_genexp = 171} static __initStatic279() {this.RULE_dictcomp = 172} static __initStatic280() {this.RULE_arguments = 173} static __initStatic281() {this.RULE_args = 174} static __initStatic282() {this.RULE_kwargs = 175} static __initStatic283() {this.RULE_starred_expression = 176} static __initStatic284() {this.RULE_kwarg_or_starred = 177} static __initStatic285() {this.RULE_kwarg_or_double_starred = 178} static __initStatic286() {this.RULE_star_targets = 179} static __initStatic287() {this.RULE_star_targets_list_seq = 180} static __initStatic288() {this.RULE_star_targets_tuple_seq = 181} static __initStatic289() {this.RULE_star_target = 182} static __initStatic290() {this.RULE_target_with_star_atom = 183} static __initStatic291() {this.RULE_star_atom = 184} static __initStatic292() {this.RULE_single_target = 185} static __initStatic293() {this.RULE_single_subscript_attribute_target = 186} static __initStatic294() {this.RULE_t_primary = 187} static __initStatic295() {this.RULE_del_targets = 188} static __initStatic296() {this.RULE_del_target = 189} static __initStatic297() {this.RULE_del_t_atom = 190} static __initStatic298() {this.RULE_type_expressions = 191} static __initStatic299() {this.RULE_func_type_comment = 192} static __initStatic300() {this.RULE_soft_kw_type = 193} static __initStatic301() {this.RULE_soft_kw_match = 194} static __initStatic302() {this.RULE_soft_kw_case = 195} static __initStatic303() {this.RULE_soft_kw_wildcard = 196} static __initStatic304() {this.RULE_soft_kw__not__wildcard = 197} static __initStatic305() {this.literalNames = [ null, null, null, null, null, null, "'False'", "'await'", "'else'", "'import'", "'pass'", "'None'", "'break'", "'except'", "'in'", "'raise'", "'True'", "'class'", "'finally'", "'is'", "'return'", "'and'", "'continue'", "'for'", "'lambda'", "'try'", "'as'", "'def'", "'from'", "'nonlocal'", "'while'", "'assert'", "'del'", "'global'", "'not'", "'with'", "'async'", "'elif'", "'if'", "'or'", "'yield'", "'('", "'['", null, "')'", "']'", null, "'.'", "':'", "','", "';'", "'+'", "'-'", "'*'", "'/'", "'|'", "'&'", "'<'", "'>'", "'='", "'%'", "'=='", "'!='", "'<='", "'>='", "'~'", "'^'", "'<<'", "'>>'", "'**'", "'+='", "'-='", "'*='", "'/='", "'%='", "'&='", "'|='", "'^='", "'<<='", "'>>='", "'**='", "'//'", "'//='", "'@'", "'@='", "'->'", "'...'", "':='", "'!'" ]} static __initStatic306() {this.symbolicNames = [ null, "INDENT", "DEDENT", "FSTRING_START", "FSTRING_MIDDLE", "FSTRING_END", "FALSE", "AWAIT", "ELSE", "IMPORT", "PASS", "NONE", "BREAK", "EXCEPT", "IN", "RAISE", "TRUE", "CLASS", "FINALLY", "IS", "RETURN", "AND", "CONTINUE", "FOR", "LAMBDA", "TRY", "AS", "DEF", "FROM", "NONLOCAL", "WHILE", "ASSERT", "DEL", "GLOBAL", "NOT", "WITH", "ASYNC", "ELIF", "IF", "OR", "YIELD", "LPAR", "LSQB", "LBRACE", "RPAR", "RSQB", "RBRACE", "DOT", "COLON", "COMMA", "SEMI", "PLUS", "MINUS", "STAR", "SLASH", "VBAR", "AMPER", "LESS", "GREATER", "EQUAL", "PERCENT", "EQEQUAL", "NOTEQUAL", "LESSEQUAL", "GREATEREQUAL", "TILDE", "CIRCUMFLEX", "LEFTSHIFT", "RIGHTSHIFT", "DOUBLESTAR", "PLUSEQUAL", "MINEQUAL", "STAREQUAL", "SLASHEQUAL", "PERCENTEQUAL", "AMPEREQUAL", "VBAREQUAL", "CIRCUMFLEXEQUAL", "LEFTSHIFTEQUAL", "RIGHTSHIFTEQUAL", "DOUBLESTAREQUAL", "DOUBLESLASH", "DOUBLESLASHEQUAL", "AT", "ATEQUAL", "RARROW", "ELLIPSIS", "COLONEQUAL", "EXCLAMATION", "NAME", "NUMBER", "STRING", "TYPE_COMMENT", "NEWLINE", "COMMENT", "WS", "EXPLICIT_LINE_JOINING", "ERROR_TOKEN" ]} // tslint:disable:no-trailing-whitespace static __initStatic307() {this.ruleNames = [ "file_input", "interactive", "eval", "func_type", "fstring_input", "statements", "statement", "statement_newline", "simple_stmts", "simple_stmt", "compound_stmt", "assignment", "annotated_rhs", "augassign", "return_stmt", "raise_stmt", "global_stmt", "nonlocal_stmt", "del_stmt", "yield_stmt", "assert_stmt", "import_stmt", "import_name", "import_from", "import_from_targets", "import_from_as_names", "import_from_as_name", "dotted_as_names", "dotted_as_name", "dotted_name", "block", "decorators", "class_def", "class_def_raw", "function_def", "function_def_raw", "params", "parameters", "slash_no_default", "slash_with_default", "star_etc", "kwds", "param_no_default", "param_no_default_star_annotation", "param_with_default", "param_maybe_default", "param", "param_star_annotation", "annotation", "star_annotation", "default_assignment", "if_stmt", "elif_stmt", "else_block", "while_stmt", "for_stmt", "with_stmt", "with_item", "try_stmt", "except_block", "except_star_block", "finally_block", "match_stmt", "subject_expr", "case_block", "guard", "patterns", "pattern", "as_pattern", "or_pattern", "closed_pattern", "literal_pattern", "literal_expr", "complex_number", "signed_number", "signed_real_number", "real_number", "imaginary_number", "capture_pattern", "pattern_capture_target", "wildcard_pattern", "value_pattern", "attr", "name_or_attr", "group_pattern", "sequence_pattern", "open_sequence_pattern", "maybe_sequence_pattern", "maybe_star_pattern", "star_pattern", "mapping_pattern", "items_pattern", "key_value_pattern", "double_star_pattern", "class_pattern", "positional_patterns", "keyword_patterns", "keyword_pattern", "type_alias", "type_params", "type_param_seq", "type_param", "type_param_bound", "expressions", "expression", "yield_expr", "star_expressions", "star_expression", "star_named_expressions", "star_named_expression", "assignment_expression", "named_expression", "disjunction", "conjunction", "inversion", "comparison", "compare_op_bitwise_or_pair", "eq_bitwise_or", "noteq_bitwise_or", "lte_bitwise_or", "lt_bitwise_or", "gte_bitwise_or", "gt_bitwise_or", "notin_bitwise_or", "in_bitwise_or", "isnot_bitwise_or", "is_bitwise_or", "bitwise_or", "bitwise_xor", "bitwise_and", "shift_expr", "sum", "term", "factor", "power", "await_primary", "primary", "slices", "slice", "atom", "group", "lambdef", "lambda_params", "lambda_parameters", "lambda_slash_no_default", "lambda_slash_with_default", "lambda_star_etc", "lambda_kwds", "lambda_param_no_default", "lambda_param_with_default", "lambda_param_maybe_default", "lambda_param", "fstring_middle", "fstring_replacement_field", "fstring_conversion", "fstring_full_format_spec", "fstring_format_spec", "fstring", "string", "strings", "list", "tuple", "set", "dict", "double_starred_kvpairs", "double_starred_kvpair", "kvpair", "for_if_clauses", "for_if_clause", "listcomp", "setcomp", "genexp", "dictcomp", "arguments", "args", "kwargs", "starred_expression", "kwarg_or_starred", "kwarg_or_double_starred", "star_targets", "star_targets_list_seq", "star_targets_tuple_seq", "star_target", "target_with_star_atom", "star_atom", "single_target", "single_subscript_attribute_target", "t_primary", "del_targets", "del_target", "del_t_atom", "type_expressions", "func_type_comment", "soft_kw_type", "soft_kw_match", "soft_kw_case", "soft_kw_wildcard", "soft_kw__not__wildcard" ]} get grammarFileName() { return "PythonParser.g4"; } get literalNames() { return _PythonParser.literalNames; } get symbolicNames() { return _PythonParser.symbolicNames; } get ruleNames() { return _PythonParser.ruleNames; } get serializedATN() { return _PythonParser._serializedATN; } createFailedPredicateException(predicate, message) { return new (0, _antlr4.FailedPredicateException)(this, predicate, message); } constructor(input) { super(input); this._interp = new (0, _antlr4.ParserATNSimulator)(this, _PythonParser._ATN, _PythonParser.DecisionsToDFA, new (0, _antlr4.PredictionContextCache)()); } // @RuleVersion(0) file_input() { let localctx = new File_inputContext(this, this._ctx, this.state); this.enterRule(localctx, 0, _PythonParser.RULE_file_input); try { this.enterOuterAlt(localctx, 1); { this.state = 397; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 0, this._ctx)) { case 1: { this.state = 396; this.statements(); } break; } this.state = 399; this.match(_PythonParser.EOF); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) interactive() { let localctx = new InteractiveContext(this, this._ctx, this.state); this.enterRule(localctx, 2, _PythonParser.RULE_interactive); try { this.enterOuterAlt(localctx, 1); { this.state = 401; this.statement_newline(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) eval() { let localctx = new EvalContext(this, this._ctx, this.state); this.enterRule(localctx, 4, _PythonParser.RULE_eval); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 403; this.expressions(); this.state = 407; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 93) { { { this.state = 404; this.match(_PythonParser.NEWLINE); } } this.state = 409; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 410; this.match(_PythonParser.EOF); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) func_type() { let localctx = new Func_typeContext(this, this._ctx, this.state); this.enterRule(localctx, 6, _PythonParser.RULE_func_type); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 412; this.match(_PythonParser.LPAR); this.state = 414; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2148402049) !== 0 || (_la - 69 & ~31) === 0 && (1 << _la - 69 & 7471105) !== 0) { { this.state = 413; this.type_expressions(); } } this.state = 416; this.match(_PythonParser.RPAR); this.state = 417; this.match(_PythonParser.RARROW); this.state = 418; this.expression(); this.state = 422; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 93) { { { this.state = 419; this.match(_PythonParser.NEWLINE); } } this.state = 424; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 425; this.match(_PythonParser.EOF); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) fstring_input() { let localctx = new Fstring_inputContext(this, this._ctx, this.state); this.enterRule(localctx, 8, _PythonParser.RULE_fstring_input); try { this.enterOuterAlt(localctx, 1); { this.state = 427; this.star_expressions(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) statements() { let localctx = new StatementsContext(this, this._ctx, this.state); this.enterRule(localctx, 10, _PythonParser.RULE_statements); try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 430; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 429; this.statement(); } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 432; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 4, this._ctx); } while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) statement() { let localctx = new StatementContext(this, this._ctx, this.state); this.enterRule(localctx, 12, _PythonParser.RULE_statement); try { this.state = 436; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 5, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 434; this.compound_stmt(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 435; this.simple_stmts(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) statement_newline() { let localctx = new Statement_newlineContext(this, this._ctx, this.state); this.enterRule(localctx, 14, _PythonParser.RULE_statement_newline); try { this.state = 444; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 6, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 438; this.compound_stmt(); this.state = 439; this.match(_PythonParser.NEWLINE); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 441; this.simple_stmts(); } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 442; this.match(_PythonParser.NEWLINE); } break; case 4: this.enterOuterAlt(localctx, 4); { this.state = 443; this.match(_PythonParser.EOF); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) simple_stmts() { let localctx = new Simple_stmtsContext(this, this._ctx, this.state); this.enterRule(localctx, 16, _PythonParser.RULE_simple_stmts); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 446; this.simple_stmt(); this.state = 451; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 7, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 447; this.match(_PythonParser.SEMI); this.state = 448; this.simple_stmt(); } } } this.state = 453; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 7, this._ctx); } this.state = 455; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 50) { { this.state = 454; this.match(_PythonParser.SEMI); } } this.state = 457; this.match(_PythonParser.NEWLINE); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) simple_stmt() { let localctx = new Simple_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 18, _PythonParser.RULE_simple_stmt); try { this.state = 473; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 9, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 459; this.assignment(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 460; this.type_alias(); } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 461; this.star_expressions(); } break; case 4: this.enterOuterAlt(localctx, 4); { this.state = 462; this.return_stmt(); } break; case 5: this.enterOuterAlt(localctx, 5); { this.state = 463; this.import_stmt(); } break; case 6: this.enterOuterAlt(localctx, 6); { this.state = 464; this.raise_stmt(); } break; case 7: this.enterOuterAlt(localctx, 7); { this.state = 465; this.match(_PythonParser.PASS); } break; case 8: this.enterOuterAlt(localctx, 8); { this.state = 466; this.del_stmt(); } break; case 9: this.enterOuterAlt(localctx, 9); { this.state = 467; this.yield_stmt(); } break; case 10: this.enterOuterAlt(localctx, 10); { this.state = 468; this.assert_stmt(); } break; case 11: this.enterOuterAlt(localctx, 11); { this.state = 469; this.match(_PythonParser.BREAK); } break; case 12: this.enterOuterAlt(localctx, 12); { this.state = 470; this.match(_PythonParser.CONTINUE); } break; case 13: this.enterOuterAlt(localctx, 13); { this.state = 471; this.global_stmt(); } break; case 14: this.enterOuterAlt(localctx, 14); { this.state = 472; this.nonlocal_stmt(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) compound_stmt() { let localctx = new Compound_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 20, _PythonParser.RULE_compound_stmt); try { this.state = 483; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 10, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 475; this.function_def(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 476; this.if_stmt(); } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 477; this.class_def(); } break; case 4: this.enterOuterAlt(localctx, 4); { this.state = 478; this.with_stmt(); } break; case 5: this.enterOuterAlt(localctx, 5); { this.state = 479; this.for_stmt(); } break; case 6: this.enterOuterAlt(localctx, 6); { this.state = 480; this.try_stmt(); } break; case 7: this.enterOuterAlt(localctx, 7); { this.state = 481; this.while_stmt(); } break; case 8: this.enterOuterAlt(localctx, 8); { this.state = 482; this.match_stmt(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) assignment() { let localctx = new AssignmentContext(this, this._ctx, this.state); this.enterRule(localctx, 22, _PythonParser.RULE_assignment); let _la; try { let _alt; this.state = 525; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 18, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 485; this.match(_PythonParser.NAME); this.state = 486; this.match(_PythonParser.COLON); this.state = 487; this.expression(); this.state = 490; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 59) { { this.state = 488; this.match(_PythonParser.EQUAL); this.state = 489; this.annotated_rhs(); } } } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 497; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 12, this._ctx)) { case 1: { this.state = 492; this.match(_PythonParser.LPAR); this.state = 493; this.single_target(); this.state = 494; this.match(_PythonParser.RPAR); } break; case 2: { this.state = 496; this.single_subscript_attribute_target(); } break; } this.state = 499; this.match(_PythonParser.COLON); this.state = 500; this.expression(); this.state = 503; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 59) { { this.state = 501; this.match(_PythonParser.EQUAL); this.state = 502; this.annotated_rhs(); } } } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 508; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 505; this.star_targets(); this.state = 506; this.match(_PythonParser.EQUAL); } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 510; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 14, this._ctx); } while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER); this.state = 514; this._errHandler.sync(this); switch (this._input.LA(1)) { case 40: { this.state = 512; this.yield_expr(); } break; case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 51: case 52: case 53: case 65: case 86: case 89: case 90: case 91: { this.state = 513; this.star_expressions(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 517; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 92) { { this.state = 516; this.match(_PythonParser.TYPE_COMMENT); } } } break; case 4: this.enterOuterAlt(localctx, 4); { this.state = 519; this.single_target(); this.state = 520; this.augassign(); this.state = 523; this._errHandler.sync(this); switch (this._input.LA(1)) { case 40: { this.state = 521; this.yield_expr(); } break; case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 51: case 52: case 53: case 65: case 86: case 89: case 90: case 91: { this.state = 522; this.star_expressions(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) annotated_rhs() { let localctx = new Annotated_rhsContext(this, this._ctx, this.state); this.enterRule(localctx, 24, _PythonParser.RULE_annotated_rhs); try { this.state = 529; this._errHandler.sync(this); switch (this._input.LA(1)) { case 40: this.enterOuterAlt(localctx, 1); { this.state = 527; this.yield_expr(); } break; case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 51: case 52: case 53: case 65: case 86: case 89: case 90: case 91: this.enterOuterAlt(localctx, 2); { this.state = 528; this.star_expressions(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) augassign() { let localctx = new AugassignContext(this, this._ctx, this.state); this.enterRule(localctx, 26, _PythonParser.RULE_augassign); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 531; _la = this._input.LA(1); if (!((_la - 70 & ~31) === 0 && (1 << _la - 70 & 22527) !== 0)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) return_stmt() { let localctx = new Return_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 28, _PythonParser.RULE_return_stmt); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 533; this.match(_PythonParser.RETURN); this.state = 535; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2148402049) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 534; this.star_expressions(); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) raise_stmt() { let localctx = new Raise_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 30, _PythonParser.RULE_raise_stmt); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 537; this.match(_PythonParser.RAISE); this.state = 543; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2147877761) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 538; this.expression(); this.state = 541; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 28) { { this.state = 539; this.match(_PythonParser.FROM); this.state = 540; this.expression(); } } } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) global_stmt() { let localctx = new Global_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 32, _PythonParser.RULE_global_stmt); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 545; this.match(_PythonParser.GLOBAL); this.state = 546; this.match(_PythonParser.NAME); this.state = 551; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 49) { { { this.state = 547; this.match(_PythonParser.COMMA); this.state = 548; this.match(_PythonParser.NAME); } } this.state = 553; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) nonlocal_stmt() { let localctx = new Nonlocal_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 34, _PythonParser.RULE_nonlocal_stmt); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 554; this.match(_PythonParser.NONLOCAL); this.state = 555; this.match(_PythonParser.NAME); this.state = 560; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 49) { { { this.state = 556; this.match(_PythonParser.COMMA); this.state = 557; this.match(_PythonParser.NAME); } } this.state = 562; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) del_stmt() { let localctx = new Del_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 36, _PythonParser.RULE_del_stmt); try { this.enterOuterAlt(localctx, 1); { this.state = 563; this.match(_PythonParser.DEL); this.state = 564; this.del_targets(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) yield_stmt() { let localctx = new Yield_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 38, _PythonParser.RULE_yield_stmt); try { this.enterOuterAlt(localctx, 1); { this.state = 566; this.yield_expr(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) assert_stmt() { let localctx = new Assert_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 40, _PythonParser.RULE_assert_stmt); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 568; this.match(_PythonParser.ASSERT); this.state = 569; this.expression(); this.state = 572; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 570; this.match(_PythonParser.COMMA); this.state = 571; this.expression(); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) import_stmt() { let localctx = new Import_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 42, _PythonParser.RULE_import_stmt); try { this.state = 576; this._errHandler.sync(this); switch (this._input.LA(1)) { case 9: this.enterOuterAlt(localctx, 1); { this.state = 574; this.import_name(); } break; case 28: this.enterOuterAlt(localctx, 2); { this.state = 575; this.import_from(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) import_name() { let localctx = new Import_nameContext(this, this._ctx, this.state); this.enterRule(localctx, 44, _PythonParser.RULE_import_name); try { this.enterOuterAlt(localctx, 1); { this.state = 578; this.match(_PythonParser.IMPORT); this.state = 579; this.dotted_as_names(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) import_from() { let localctx = new Import_fromContext(this, this._ctx, this.state); this.enterRule(localctx, 46, _PythonParser.RULE_import_from); let _la; try { this.state = 600; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 29, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 581; this.match(_PythonParser.FROM); this.state = 585; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 47 || _la === 86) { { { this.state = 582; _la = this._input.LA(1); if (!(_la === 47 || _la === 86)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } } this.state = 587; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 588; this.dotted_name(0); this.state = 589; this.match(_PythonParser.IMPORT); this.state = 590; this.import_from_targets(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 592; this.match(_PythonParser.FROM); this.state = 594; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 593; _la = this._input.LA(1); if (!(_la === 47 || _la === 86)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } } } this.state = 596; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === 47 || _la === 86); this.state = 598; this.match(_PythonParser.IMPORT); this.state = 599; this.import_from_targets(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) import_from_targets() { let localctx = new Import_from_targetsContext(this, this._ctx, this.state); this.enterRule(localctx, 48, _PythonParser.RULE_import_from_targets); let _la; try { this.state = 611; this._errHandler.sync(this); switch (this._input.LA(1)) { case 41: this.enterOuterAlt(localctx, 1); { this.state = 602; this.match(_PythonParser.LPAR); this.state = 603; this.import_from_as_names(); this.state = 605; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 604; this.match(_PythonParser.COMMA); } } this.state = 607; this.match(_PythonParser.RPAR); } break; case 89: this.enterOuterAlt(localctx, 2); { this.state = 609; this.import_from_as_names(); } break; case 53: this.enterOuterAlt(localctx, 3); { this.state = 610; this.match(_PythonParser.STAR); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) import_from_as_names() { let localctx = new Import_from_as_namesContext(this, this._ctx, this.state); this.enterRule(localctx, 50, _PythonParser.RULE_import_from_as_names); try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 613; this.import_from_as_name(); this.state = 618; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 32, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 614; this.match(_PythonParser.COMMA); this.state = 615; this.import_from_as_name(); } } } this.state = 620; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 32, this._ctx); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) import_from_as_name() { let localctx = new Import_from_as_nameContext(this, this._ctx, this.state); this.enterRule(localctx, 52, _PythonParser.RULE_import_from_as_name); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 621; this.match(_PythonParser.NAME); this.state = 624; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 26) { { this.state = 622; this.match(_PythonParser.AS); this.state = 623; this.match(_PythonParser.NAME); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) dotted_as_names() { let localctx = new Dotted_as_namesContext(this, this._ctx, this.state); this.enterRule(localctx, 54, _PythonParser.RULE_dotted_as_names); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 626; this.dotted_as_name(); this.state = 631; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 49) { { { this.state = 627; this.match(_PythonParser.COMMA); this.state = 628; this.dotted_as_name(); } } this.state = 633; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) dotted_as_name() { let localctx = new Dotted_as_nameContext(this, this._ctx, this.state); this.enterRule(localctx, 56, _PythonParser.RULE_dotted_as_name); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 634; this.dotted_name(0); this.state = 637; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 26) { { this.state = 635; this.match(_PythonParser.AS); this.state = 636; this.match(_PythonParser.NAME); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) dotted_name(_p) { if (_p === void 0) { _p = 0; } let _parentctx = this._ctx; let _parentState = this.state; let localctx = new Dotted_nameContext(this, this._ctx, _parentState); let _prevctx = localctx; let _startState = 58; this.enterRecursionRule(localctx, 58, _PythonParser.RULE_dotted_name, _p); try { let _alt; this.enterOuterAlt(localctx, 1); { { this.state = 640; this.match(_PythonParser.NAME); } this._ctx.stop = this._input.LT(-1); this.state = 647; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 36, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners != null) { this.triggerExitRuleEvent(); } _prevctx = localctx; { { localctx = new Dotted_nameContext(this, _parentctx, _parentState); this.pushNewRecursionContext(localctx, _startState, _PythonParser.RULE_dotted_name); this.state = 642; if (!this.precpred(this._ctx, 2)) { throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); } this.state = 643; this.match(_PythonParser.DOT); this.state = 644; this.match(_PythonParser.NAME); } } } this.state = 649; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 36, this._ctx); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.unrollRecursionContexts(_parentctx); } return localctx; } // @RuleVersion(0) block() { let localctx = new BlockContext(this, this._ctx, this.state); this.enterRule(localctx, 60, _PythonParser.RULE_block); try { this.state = 656; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 37, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 650; this.match(_PythonParser.NEWLINE); this.state = 651; this.match(_PythonParser.INDENT); this.state = 652; this.statements(); this.state = 653; this.match(_PythonParser.DEDENT); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 655; this.simple_stmts(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) decorators() { let localctx = new DecoratorsContext(this, this._ctx, this.state); this.enterRule(localctx, 62, _PythonParser.RULE_decorators); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 662; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 658; this.match(_PythonParser.AT); this.state = 659; this.named_expression(); this.state = 660; this.match(_PythonParser.NEWLINE); } } this.state = 664; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === 83); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) class_def() { let localctx = new Class_defContext(this, this._ctx, this.state); this.enterRule(localctx, 64, _PythonParser.RULE_class_def); try { this.state = 670; this._errHandler.sync(this); switch (this._input.LA(1)) { case 83: this.enterOuterAlt(localctx, 1); { this.state = 666; this.decorators(); this.state = 667; this.class_def_raw(); } break; case 17: this.enterOuterAlt(localctx, 2); { this.state = 669; this.class_def_raw(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) class_def_raw() { let localctx = new Class_def_rawContext(this, this._ctx, this.state); this.enterRule(localctx, 66, _PythonParser.RULE_class_def_raw); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 672; this.match(_PythonParser.CLASS); this.state = 673; this.match(_PythonParser.NAME); this.state = 675; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 42) { { this.state = 674; this.type_params(); } } this.state = 682; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 41) { { this.state = 677; this.match(_PythonParser.LPAR); this.state = 679; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2148402049) !== 0 || (_la - 69 & ~31) === 0 && (1 << _la - 69 & 7471105) !== 0) { { this.state = 678; this.arguments(); } } this.state = 681; this.match(_PythonParser.RPAR); } } this.state = 684; this.match(_PythonParser.COLON); this.state = 685; this.block(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) function_def() { let localctx = new Function_defContext(this, this._ctx, this.state); this.enterRule(localctx, 68, _PythonParser.RULE_function_def); try { this.state = 691; this._errHandler.sync(this); switch (this._input.LA(1)) { case 83: this.enterOuterAlt(localctx, 1); { this.state = 687; this.decorators(); this.state = 688; this.function_def_raw(); } break; case 27: case 36: this.enterOuterAlt(localctx, 2); { this.state = 690; this.function_def_raw(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) function_def_raw() { let localctx = new Function_def_rawContext(this, this._ctx, this.state); this.enterRule(localctx, 70, _PythonParser.RULE_function_def_raw); let _la; try { this.state = 732; this._errHandler.sync(this); switch (this._input.LA(1)) { case 27: this.enterOuterAlt(localctx, 1); { this.state = 693; this.match(_PythonParser.DEF); this.state = 694; this.match(_PythonParser.NAME); this.state = 696; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 42) { { this.state = 695; this.type_params(); } } this.state = 698; this.match(_PythonParser.LPAR); this.state = 700; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 53 || _la === 69 || _la === 89) { { this.state = 699; this.params(); } } this.state = 702; this.match(_PythonParser.RPAR); this.state = 705; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 85) { { this.state = 703; this.match(_PythonParser.RARROW); this.state = 704; this.expression(); } } this.state = 707; this.match(_PythonParser.COLON); this.state = 709; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 47, this._ctx)) { case 1: { this.state = 708; this.func_type_comment(); } break; } this.state = 711; this.block(); } break; case 36: this.enterOuterAlt(localctx, 2); { this.state = 712; this.match(_PythonParser.ASYNC); this.state = 713; this.match(_PythonParser.DEF); this.state = 714; this.match(_PythonParser.NAME); this.state = 716; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 42) { { this.state = 715; this.type_params(); } } this.state = 718; this.match(_PythonParser.LPAR); this.state = 720; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 53 || _la === 69 || _la === 89) { { this.state = 719; this.params(); } } this.state = 722; this.match(_PythonParser.RPAR); this.state = 725; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 85) { { this.state = 723; this.match(_PythonParser.RARROW); this.state = 724; this.expression(); } } this.state = 727; this.match(_PythonParser.COLON); this.state = 729; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 51, this._ctx)) { case 1: { this.state = 728; this.func_type_comment(); } break; } this.state = 731; this.block(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) params() { let localctx = new ParamsContext(this, this._ctx, this.state); this.enterRule(localctx, 72, _PythonParser.RULE_params); try { this.enterOuterAlt(localctx, 1); { this.state = 734; this.parameters(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) parameters() { let localctx = new ParametersContext(this, this._ctx, this.state); this.enterRule(localctx, 74, _PythonParser.RULE_parameters); let _la; try { let _alt; this.state = 785; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 63, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 736; this.slash_no_default(); this.state = 740; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 53, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 737; this.param_no_default(); } } } this.state = 742; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 53, this._ctx); } this.state = 746; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 89) { { { this.state = 743; this.param_with_default(); } } this.state = 748; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 750; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 53 || _la === 69) { { this.state = 749; this.star_etc(); } } } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 752; this.slash_with_default(); this.state = 756; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 89) { { { this.state = 753; this.param_with_default(); } } this.state = 758; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 760; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 53 || _la === 69) { { this.state = 759; this.star_etc(); } } } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 763; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 762; this.param_no_default(); } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 765; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 58, this._ctx); } while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER); this.state = 770; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 89) { { { this.state = 767; this.param_with_default(); } } this.state = 772; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 774; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 53 || _la === 69) { { this.state = 773; this.star_etc(); } } } break; case 4: this.enterOuterAlt(localctx, 4); { this.state = 777; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 776; this.param_with_default(); } } this.state = 779; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === 89); this.state = 782; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 53 || _la === 69) { { this.state = 781; this.star_etc(); } } } break; case 5: this.enterOuterAlt(localctx, 5); { this.state = 784; this.star_etc(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) slash_no_default() { let localctx = new Slash_no_defaultContext(this, this._ctx, this.state); this.enterRule(localctx, 76, _PythonParser.RULE_slash_no_default); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 788; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 787; this.param_no_default(); } } this.state = 790; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === 89); this.state = 792; this.match(_PythonParser.SLASH); this.state = 794; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 793; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) slash_with_default() { let localctx = new Slash_with_defaultContext(this, this._ctx, this.state); this.enterRule(localctx, 78, _PythonParser.RULE_slash_with_default); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 799; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 66, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 796; this.param_no_default(); } } } this.state = 801; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 66, this._ctx); } this.state = 803; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 802; this.param_with_default(); } } this.state = 805; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === 89); this.state = 807; this.match(_PythonParser.SLASH); this.state = 809; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 808; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) star_etc() { let localctx = new Star_etcContext(this, this._ctx, this.state); this.enterRule(localctx, 80, _PythonParser.RULE_star_etc); let _la; try { this.state = 844; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 75, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 811; this.match(_PythonParser.STAR); this.state = 812; this.param_no_default(); this.state = 816; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 89) { { { this.state = 813; this.param_maybe_default(); } } this.state = 818; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 820; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 69) { { this.state = 819; this.kwds(); } } } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 822; this.match(_PythonParser.STAR); this.state = 823; this.param_no_default_star_annotation(); this.state = 827; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 89) { { { this.state = 824; this.param_maybe_default(); } } this.state = 829; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 831; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 69) { { this.state = 830; this.kwds(); } } } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 833; this.match(_PythonParser.STAR); this.state = 834; this.match(_PythonParser.COMMA); this.state = 836; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 835; this.param_maybe_default(); } } this.state = 838; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === 89); this.state = 841; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 69) { { this.state = 840; this.kwds(); } } } break; case 4: this.enterOuterAlt(localctx, 4); { this.state = 843; this.kwds(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) kwds() { let localctx = new KwdsContext(this, this._ctx, this.state); this.enterRule(localctx, 82, _PythonParser.RULE_kwds); try { this.enterOuterAlt(localctx, 1); { this.state = 846; this.match(_PythonParser.DOUBLESTAR); this.state = 847; this.param_no_default(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) param_no_default() { let localctx = new Param_no_defaultContext(this, this._ctx, this.state); this.enterRule(localctx, 84, _PythonParser.RULE_param_no_default); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 849; this.param(); this.state = 851; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 850; this.match(_PythonParser.COMMA); } } this.state = 854; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 92) { { this.state = 853; this.match(_PythonParser.TYPE_COMMENT); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) param_no_default_star_annotation() { let localctx = new Param_no_default_star_annotationContext(this, this._ctx, this.state); this.enterRule(localctx, 86, _PythonParser.RULE_param_no_default_star_annotation); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 856; this.param_star_annotation(); this.state = 858; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 857; this.match(_PythonParser.COMMA); } } this.state = 861; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 92) { { this.state = 860; this.match(_PythonParser.TYPE_COMMENT); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) param_with_default() { let localctx = new Param_with_defaultContext(this, this._ctx, this.state); this.enterRule(localctx, 88, _PythonParser.RULE_param_with_default); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 863; this.param(); this.state = 864; this.default_assignment(); this.state = 866; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 865; this.match(_PythonParser.COMMA); } } this.state = 869; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 92) { { this.state = 868; this.match(_PythonParser.TYPE_COMMENT); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) param_maybe_default() { let localctx = new Param_maybe_defaultContext(this, this._ctx, this.state); this.enterRule(localctx, 90, _PythonParser.RULE_param_maybe_default); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 871; this.param(); this.state = 873; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 59) { { this.state = 872; this.default_assignment(); } } this.state = 876; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 875; this.match(_PythonParser.COMMA); } } this.state = 879; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 92) { { this.state = 878; this.match(_PythonParser.TYPE_COMMENT); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) param() { let localctx = new ParamContext(this, this._ctx, this.state); this.enterRule(localctx, 92, _PythonParser.RULE_param); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 881; this.match(_PythonParser.NAME); this.state = 883; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 48) { { this.state = 882; this.annotation(); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) param_star_annotation() { let localctx = new Param_star_annotationContext(this, this._ctx, this.state); this.enterRule(localctx, 94, _PythonParser.RULE_param_star_annotation); try { this.enterOuterAlt(localctx, 1); { this.state = 885; this.match(_PythonParser.NAME); this.state = 886; this.star_annotation(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) annotation() { let localctx = new AnnotationContext(this, this._ctx, this.state); this.enterRule(localctx, 96, _PythonParser.RULE_annotation); try { this.enterOuterAlt(localctx, 1); { this.state = 888; this.match(_PythonParser.COLON); this.state = 889; this.expression(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) star_annotation() { let localctx = new Star_annotationContext(this, this._ctx, this.state); this.enterRule(localctx, 98, _PythonParser.RULE_star_annotation); try { this.enterOuterAlt(localctx, 1); { this.state = 891; this.match(_PythonParser.COLON); this.state = 892; this.star_expression(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) default_assignment() { let localctx = new Default_assignmentContext(this, this._ctx, this.state); this.enterRule(localctx, 100, _PythonParser.RULE_default_assignment); try { this.enterOuterAlt(localctx, 1); { this.state = 894; this.match(_PythonParser.EQUAL); this.state = 895; this.expression(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) if_stmt() { let localctx = new If_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 102, _PythonParser.RULE_if_stmt); try { this.enterOuterAlt(localctx, 1); { this.state = 897; this.match(_PythonParser.IF); this.state = 898; this.named_expression(); this.state = 899; this.match(_PythonParser.COLON); this.state = 900; this.block(); this.state = 905; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 87, this._ctx)) { case 1: { this.state = 901; this.elif_stmt(); } break; case 2: { this.state = 903; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 86, this._ctx)) { case 1: { this.state = 902; this.else_block(); } break; } } break; } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) elif_stmt() { let localctx = new Elif_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 104, _PythonParser.RULE_elif_stmt); try { this.enterOuterAlt(localctx, 1); { this.state = 907; this.match(_PythonParser.ELIF); this.state = 908; this.named_expression(); this.state = 909; this.match(_PythonParser.COLON); this.state = 910; this.block(); this.state = 915; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 89, this._ctx)) { case 1: { this.state = 911; this.elif_stmt(); } break; case 2: { this.state = 913; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 88, this._ctx)) { case 1: { this.state = 912; this.else_block(); } break; } } break; } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) else_block() { let localctx = new Else_blockContext(this, this._ctx, this.state); this.enterRule(localctx, 106, _PythonParser.RULE_else_block); try { this.enterOuterAlt(localctx, 1); { this.state = 917; this.match(_PythonParser.ELSE); this.state = 918; this.match(_PythonParser.COLON); this.state = 919; this.block(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) while_stmt() { let localctx = new While_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 108, _PythonParser.RULE_while_stmt); try { this.enterOuterAlt(localctx, 1); { this.state = 921; this.match(_PythonParser.WHILE); this.state = 922; this.named_expression(); this.state = 923; this.match(_PythonParser.COLON); this.state = 924; this.block(); this.state = 926; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 90, this._ctx)) { case 1: { this.state = 925; this.else_block(); } break; } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) for_stmt() { let localctx = new For_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 110, _PythonParser.RULE_for_stmt); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 929; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 36) { { this.state = 928; this.match(_PythonParser.ASYNC); } } this.state = 931; this.match(_PythonParser.FOR); this.state = 932; this.star_targets(); this.state = 933; this.match(_PythonParser.IN); this.state = 934; this.star_expressions(); this.state = 935; this.match(_PythonParser.COLON); this.state = 937; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 92, this._ctx)) { case 1: { this.state = 936; this.match(_PythonParser.TYPE_COMMENT); } break; } this.state = 939; this.block(); this.state = 941; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 93, this._ctx)) { case 1: { this.state = 940; this.else_block(); } break; } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) with_stmt() { let localctx = new With_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 112, _PythonParser.RULE_with_stmt); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 944; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 36) { { this.state = 943; this.match(_PythonParser.ASYNC); } } this.state = 946; this.match(_PythonParser.WITH); this.state = 974; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 99, this._ctx)) { case 1: { this.state = 947; this.match(_PythonParser.LPAR); this.state = 948; this.with_item(); this.state = 953; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 95, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 949; this.match(_PythonParser.COMMA); this.state = 950; this.with_item(); } } } this.state = 955; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 95, this._ctx); } this.state = 957; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 956; this.match(_PythonParser.COMMA); } } this.state = 959; this.match(_PythonParser.RPAR); this.state = 960; this.match(_PythonParser.COLON); } break; case 2: { this.state = 962; this.with_item(); this.state = 967; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 49) { { { this.state = 963; this.match(_PythonParser.COMMA); this.state = 964; this.with_item(); } } this.state = 969; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 970; this.match(_PythonParser.COLON); this.state = 972; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 98, this._ctx)) { case 1: { this.state = 971; this.match(_PythonParser.TYPE_COMMENT); } break; } } break; } this.state = 976; this.block(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) with_item() { let localctx = new With_itemContext(this, this._ctx, this.state); this.enterRule(localctx, 114, _PythonParser.RULE_with_item); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 978; this.expression(); this.state = 981; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 26) { { this.state = 979; this.match(_PythonParser.AS); this.state = 980; this.star_target(); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) try_stmt() { let localctx = new Try_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 116, _PythonParser.RULE_try_stmt); try { let _alt; this.state = 1016; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 107, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 983; this.match(_PythonParser.TRY); this.state = 984; this.match(_PythonParser.COLON); this.state = 985; this.block(); this.state = 986; this.finally_block(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 988; this.match(_PythonParser.TRY); this.state = 989; this.match(_PythonParser.COLON); this.state = 990; this.block(); this.state = 992; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 991; this.except_block(); } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 994; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 101, this._ctx); } while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER); this.state = 997; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 102, this._ctx)) { case 1: { this.state = 996; this.else_block(); } break; } this.state = 1e3; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 103, this._ctx)) { case 1: { this.state = 999; this.finally_block(); } break; } } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 1002; this.match(_PythonParser.TRY); this.state = 1003; this.match(_PythonParser.COLON); this.state = 1004; this.block(); this.state = 1006; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 1005; this.except_star_block(); } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 1008; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 104, this._ctx); } while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER); this.state = 1011; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 105, this._ctx)) { case 1: { this.state = 1010; this.else_block(); } break; } this.state = 1014; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 106, this._ctx)) { case 1: { this.state = 1013; this.finally_block(); } break; } } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) except_block() { let localctx = new Except_blockContext(this, this._ctx, this.state); this.enterRule(localctx, 118, _PythonParser.RULE_except_block); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1018; this.match(_PythonParser.EXCEPT); this.state = 1024; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2147877761) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 1019; this.expression(); this.state = 1022; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 26) { { this.state = 1020; this.match(_PythonParser.AS); this.state = 1021; this.match(_PythonParser.NAME); } } } } this.state = 1026; this.match(_PythonParser.COLON); this.state = 1027; this.block(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) except_star_block() { let localctx = new Except_star_blockContext(this, this._ctx, this.state); this.enterRule(localctx, 120, _PythonParser.RULE_except_star_block); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1029; this.match(_PythonParser.EXCEPT); this.state = 1030; this.match(_PythonParser.STAR); this.state = 1031; this.expression(); this.state = 1034; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 26) { { this.state = 1032; this.match(_PythonParser.AS); this.state = 1033; this.match(_PythonParser.NAME); } } this.state = 1036; this.match(_PythonParser.COLON); this.state = 1037; this.block(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) finally_block() { let localctx = new Finally_blockContext(this, this._ctx, this.state); this.enterRule(localctx, 122, _PythonParser.RULE_finally_block); try { this.enterOuterAlt(localctx, 1); { this.state = 1039; this.match(_PythonParser.FINALLY); this.state = 1040; this.match(_PythonParser.COLON); this.state = 1041; this.block(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) match_stmt() { let localctx = new Match_stmtContext(this, this._ctx, this.state); this.enterRule(localctx, 124, _PythonParser.RULE_match_stmt); try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1043; this.soft_kw_match(); this.state = 1044; this.subject_expr(); this.state = 1045; this.match(_PythonParser.COLON); this.state = 1046; this.match(_PythonParser.NEWLINE); this.state = 1047; this.match(_PythonParser.INDENT); this.state = 1049; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 1048; this.case_block(); } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 1051; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 111, this._ctx); } while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER); this.state = 1053; this.match(_PythonParser.DEDENT); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) subject_expr() { let localctx = new Subject_exprContext(this, this._ctx, this.state); this.enterRule(localctx, 126, _PythonParser.RULE_subject_expr); let _la; try { this.state = 1061; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 113, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1055; this.star_named_expression(); this.state = 1056; this.match(_PythonParser.COMMA); this.state = 1058; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2148402049) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 1057; this.star_named_expressions(); } } } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1060; this.named_expression(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) case_block() { let localctx = new Case_blockContext(this, this._ctx, this.state); this.enterRule(localctx, 128, _PythonParser.RULE_case_block); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1063; this.soft_kw_case(); this.state = 1064; this.patterns(); this.state = 1066; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 38) { { this.state = 1065; this.guard(); } } this.state = 1068; this.match(_PythonParser.COLON); this.state = 1069; this.block(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) guard() { let localctx = new GuardContext(this, this._ctx, this.state); this.enterRule(localctx, 130, _PythonParser.RULE_guard); try { this.enterOuterAlt(localctx, 1); { this.state = 1071; this.match(_PythonParser.IF); this.state = 1072; this.named_expression(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) patterns() { let localctx = new PatternsContext(this, this._ctx, this.state); this.enterRule(localctx, 132, _PythonParser.RULE_patterns); try { this.state = 1076; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 115, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1074; this.open_sequence_pattern(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1075; this.pattern(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) pattern() { let localctx = new PatternContext(this, this._ctx, this.state); this.enterRule(localctx, 134, _PythonParser.RULE_pattern); try { this.state = 1080; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 116, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1078; this.as_pattern(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1079; this.or_pattern(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) as_pattern() { let localctx = new As_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 136, _PythonParser.RULE_as_pattern); try { this.enterOuterAlt(localctx, 1); { this.state = 1082; this.or_pattern(); this.state = 1083; this.match(_PythonParser.AS); this.state = 1084; this.pattern_capture_target(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) or_pattern() { let localctx = new Or_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 138, _PythonParser.RULE_or_pattern); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1086; this.closed_pattern(); this.state = 1091; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 55) { { { this.state = 1087; this.match(_PythonParser.VBAR); this.state = 1088; this.closed_pattern(); } } this.state = 1093; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) closed_pattern() { let localctx = new Closed_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 140, _PythonParser.RULE_closed_pattern); try { this.state = 1102; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 118, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1094; this.literal_pattern(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1095; this.capture_pattern(); } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 1096; this.wildcard_pattern(); } break; case 4: this.enterOuterAlt(localctx, 4); { this.state = 1097; this.value_pattern(); } break; case 5: this.enterOuterAlt(localctx, 5); { this.state = 1098; this.group_pattern(); } break; case 6: this.enterOuterAlt(localctx, 6); { this.state = 1099; this.sequence_pattern(); } break; case 7: this.enterOuterAlt(localctx, 7); { this.state = 1100; this.mapping_pattern(); } break; case 8: this.enterOuterAlt(localctx, 8); { this.state = 1101; this.class_pattern(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) literal_pattern() { let localctx = new Literal_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 142, _PythonParser.RULE_literal_pattern); try { this.state = 1110; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 119, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1104; this.signed_number(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1105; this.complex_number(); } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 1106; this.strings(); } break; case 4: this.enterOuterAlt(localctx, 4); { this.state = 1107; this.match(_PythonParser.NONE); } break; case 5: this.enterOuterAlt(localctx, 5); { this.state = 1108; this.match(_PythonParser.TRUE); } break; case 6: this.enterOuterAlt(localctx, 6); { this.state = 1109; this.match(_PythonParser.FALSE); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) literal_expr() { let localctx = new Literal_exprContext(this, this._ctx, this.state); this.enterRule(localctx, 144, _PythonParser.RULE_literal_expr); try { this.state = 1118; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 120, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1112; this.signed_number(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1113; this.complex_number(); } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 1114; this.strings(); } break; case 4: this.enterOuterAlt(localctx, 4); { this.state = 1115; this.match(_PythonParser.NONE); } break; case 5: this.enterOuterAlt(localctx, 5); { this.state = 1116; this.match(_PythonParser.TRUE); } break; case 6: this.enterOuterAlt(localctx, 6); { this.state = 1117; this.match(_PythonParser.FALSE); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) complex_number() { let localctx = new Complex_numberContext(this, this._ctx, this.state); this.enterRule(localctx, 146, _PythonParser.RULE_complex_number); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1120; this.signed_real_number(); this.state = 1121; _la = this._input.LA(1); if (!(_la === 51 || _la === 52)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 1122; this.imaginary_number(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) signed_number() { let localctx = new Signed_numberContext(this, this._ctx, this.state); this.enterRule(localctx, 148, _PythonParser.RULE_signed_number); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1125; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 52) { { this.state = 1124; this.match(_PythonParser.MINUS); } } this.state = 1127; this.match(_PythonParser.NUMBER); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) signed_real_number() { let localctx = new Signed_real_numberContext(this, this._ctx, this.state); this.enterRule(localctx, 150, _PythonParser.RULE_signed_real_number); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1130; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 52) { { this.state = 1129; this.match(_PythonParser.MINUS); } } this.state = 1132; this.real_number(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) real_number() { let localctx = new Real_numberContext(this, this._ctx, this.state); this.enterRule(localctx, 152, _PythonParser.RULE_real_number); try { this.enterOuterAlt(localctx, 1); { this.state = 1134; this.match(_PythonParser.NUMBER); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) imaginary_number() { let localctx = new Imaginary_numberContext(this, this._ctx, this.state); this.enterRule(localctx, 154, _PythonParser.RULE_imaginary_number); try { this.enterOuterAlt(localctx, 1); { this.state = 1136; this.match(_PythonParser.NUMBER); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) capture_pattern() { let localctx = new Capture_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 156, _PythonParser.RULE_capture_pattern); try { this.enterOuterAlt(localctx, 1); { this.state = 1138; this.pattern_capture_target(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) pattern_capture_target() { let localctx = new Pattern_capture_targetContext(this, this._ctx, this.state); this.enterRule(localctx, 158, _PythonParser.RULE_pattern_capture_target); try { this.enterOuterAlt(localctx, 1); { this.state = 1140; this.soft_kw__not__wildcard(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) wildcard_pattern() { let localctx = new Wildcard_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 160, _PythonParser.RULE_wildcard_pattern); try { this.enterOuterAlt(localctx, 1); { this.state = 1142; this.soft_kw_wildcard(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) value_pattern() { let localctx = new Value_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 162, _PythonParser.RULE_value_pattern); try { this.enterOuterAlt(localctx, 1); { this.state = 1144; this.attr(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) attr() { let localctx = new AttrContext(this, this._ctx, this.state); this.enterRule(localctx, 164, _PythonParser.RULE_attr); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1146; this.match(_PythonParser.NAME); this.state = 1149; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 1147; this.match(_PythonParser.DOT); this.state = 1148; this.match(_PythonParser.NAME); } } this.state = 1151; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === 47); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) name_or_attr() { let localctx = new Name_or_attrContext(this, this._ctx, this.state); this.enterRule(localctx, 166, _PythonParser.RULE_name_or_attr); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1153; this.match(_PythonParser.NAME); this.state = 1158; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 47) { { { this.state = 1154; this.match(_PythonParser.DOT); this.state = 1155; this.match(_PythonParser.NAME); } } this.state = 1160; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) group_pattern() { let localctx = new Group_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 168, _PythonParser.RULE_group_pattern); try { this.enterOuterAlt(localctx, 1); { this.state = 1161; this.match(_PythonParser.LPAR); this.state = 1162; this.pattern(); this.state = 1163; this.match(_PythonParser.RPAR); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) sequence_pattern() { let localctx = new Sequence_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 170, _PythonParser.RULE_sequence_pattern); try { this.state = 1175; this._errHandler.sync(this); switch (this._input.LA(1)) { case 42: this.enterOuterAlt(localctx, 1); { this.state = 1165; this.match(_PythonParser.LSQB); this.state = 1167; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 125, this._ctx)) { case 1: { this.state = 1166; this.maybe_sequence_pattern(); } break; } this.state = 1169; this.match(_PythonParser.RSQB); } break; case 41: this.enterOuterAlt(localctx, 2); { this.state = 1170; this.match(_PythonParser.LPAR); this.state = 1172; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 126, this._ctx)) { case 1: { this.state = 1171; this.open_sequence_pattern(); } break; } this.state = 1174; this.match(_PythonParser.RPAR); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) open_sequence_pattern() { let localctx = new Open_sequence_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 172, _PythonParser.RULE_open_sequence_pattern); try { this.enterOuterAlt(localctx, 1); { this.state = 1177; this.maybe_star_pattern(); this.state = 1178; this.match(_PythonParser.COMMA); this.state = 1180; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 128, this._ctx)) { case 1: { this.state = 1179; this.maybe_sequence_pattern(); } break; } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) maybe_sequence_pattern() { let localctx = new Maybe_sequence_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 174, _PythonParser.RULE_maybe_sequence_pattern); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1182; this.maybe_star_pattern(); this.state = 1187; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 129, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1183; this.match(_PythonParser.COMMA); this.state = 1184; this.maybe_star_pattern(); } } } this.state = 1189; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 129, this._ctx); } this.state = 1191; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1190; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) maybe_star_pattern() { let localctx = new Maybe_star_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 176, _PythonParser.RULE_maybe_star_pattern); try { this.state = 1195; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 131, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1193; this.star_pattern(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1194; this.pattern(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) star_pattern() { let localctx = new Star_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 178, _PythonParser.RULE_star_pattern); try { this.state = 1201; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 132, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1197; this.match(_PythonParser.STAR); this.state = 1198; this.pattern_capture_target(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1199; this.match(_PythonParser.STAR); this.state = 1200; this.wildcard_pattern(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) mapping_pattern() { let localctx = new Mapping_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 180, _PythonParser.RULE_mapping_pattern); let _la; try { this.state = 1223; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 136, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1203; this.match(_PythonParser.LBRACE); this.state = 1204; this.match(_PythonParser.RBRACE); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1205; this.match(_PythonParser.LBRACE); this.state = 1206; this.double_star_pattern(); this.state = 1208; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1207; this.match(_PythonParser.COMMA); } } this.state = 1210; this.match(_PythonParser.RBRACE); } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 1212; this.match(_PythonParser.LBRACE); this.state = 1213; this.items_pattern(); this.state = 1216; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 134, this._ctx)) { case 1: { this.state = 1214; this.match(_PythonParser.COMMA); this.state = 1215; this.double_star_pattern(); } break; } this.state = 1219; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1218; this.match(_PythonParser.COMMA); } } this.state = 1221; this.match(_PythonParser.RBRACE); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) items_pattern() { let localctx = new Items_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 182, _PythonParser.RULE_items_pattern); try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1225; this.key_value_pattern(); this.state = 1230; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 137, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1226; this.match(_PythonParser.COMMA); this.state = 1227; this.key_value_pattern(); } } } this.state = 1232; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 137, this._ctx); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) key_value_pattern() { let localctx = new Key_value_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 184, _PythonParser.RULE_key_value_pattern); try { this.enterOuterAlt(localctx, 1); { this.state = 1235; this._errHandler.sync(this); switch (this._input.LA(1)) { case 3: case 6: case 11: case 16: case 52: case 90: case 91: { this.state = 1233; this.literal_expr(); } break; case 89: { this.state = 1234; this.attr(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 1237; this.match(_PythonParser.COLON); this.state = 1238; this.pattern(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) double_star_pattern() { let localctx = new Double_star_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 186, _PythonParser.RULE_double_star_pattern); try { this.enterOuterAlt(localctx, 1); { this.state = 1240; this.match(_PythonParser.DOUBLESTAR); this.state = 1241; this.pattern_capture_target(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) class_pattern() { let localctx = new Class_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 188, _PythonParser.RULE_class_pattern); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1243; this.name_or_attr(); this.state = 1244; this.match(_PythonParser.LPAR); this.state = 1256; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 142, this._ctx)) { case 1: { this.state = 1251; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 140, this._ctx)) { case 1: { this.state = 1245; this.positional_patterns(); this.state = 1248; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 139, this._ctx)) { case 1: { this.state = 1246; this.match(_PythonParser.COMMA); this.state = 1247; this.keyword_patterns(); } break; } } break; case 2: { this.state = 1250; this.keyword_patterns(); } break; } this.state = 1254; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1253; this.match(_PythonParser.COMMA); } } } break; } this.state = 1258; this.match(_PythonParser.RPAR); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) positional_patterns() { let localctx = new Positional_patternsContext(this, this._ctx, this.state); this.enterRule(localctx, 190, _PythonParser.RULE_positional_patterns); try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1260; this.pattern(); this.state = 1265; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 143, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1261; this.match(_PythonParser.COMMA); this.state = 1262; this.pattern(); } } } this.state = 1267; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 143, this._ctx); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) keyword_patterns() { let localctx = new Keyword_patternsContext(this, this._ctx, this.state); this.enterRule(localctx, 192, _PythonParser.RULE_keyword_patterns); try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1268; this.keyword_pattern(); this.state = 1273; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 144, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1269; this.match(_PythonParser.COMMA); this.state = 1270; this.keyword_pattern(); } } } this.state = 1275; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 144, this._ctx); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) keyword_pattern() { let localctx = new Keyword_patternContext(this, this._ctx, this.state); this.enterRule(localctx, 194, _PythonParser.RULE_keyword_pattern); try { this.enterOuterAlt(localctx, 1); { this.state = 1276; this.match(_PythonParser.NAME); this.state = 1277; this.match(_PythonParser.EQUAL); this.state = 1278; this.pattern(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) type_alias() { let localctx = new Type_aliasContext(this, this._ctx, this.state); this.enterRule(localctx, 196, _PythonParser.RULE_type_alias); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1280; this.soft_kw_type(); this.state = 1281; this.match(_PythonParser.NAME); this.state = 1283; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 42) { { this.state = 1282; this.type_params(); } } this.state = 1285; this.match(_PythonParser.EQUAL); this.state = 1286; this.expression(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) type_params() { let localctx = new Type_paramsContext(this, this._ctx, this.state); this.enterRule(localctx, 198, _PythonParser.RULE_type_params); try { this.enterOuterAlt(localctx, 1); { this.state = 1288; this.match(_PythonParser.LSQB); this.state = 1289; this.type_param_seq(); this.state = 1290; this.match(_PythonParser.RSQB); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) type_param_seq() { let localctx = new Type_param_seqContext(this, this._ctx, this.state); this.enterRule(localctx, 200, _PythonParser.RULE_type_param_seq); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1292; this.type_param(); this.state = 1297; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 146, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1293; this.match(_PythonParser.COMMA); this.state = 1294; this.type_param(); } } } this.state = 1299; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 146, this._ctx); } this.state = 1301; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1300; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) type_param() { let localctx = new Type_paramContext(this, this._ctx, this.state); this.enterRule(localctx, 202, _PythonParser.RULE_type_param); let _la; try { this.state = 1319; this._errHandler.sync(this); switch (this._input.LA(1)) { case 89: this.enterOuterAlt(localctx, 1); { this.state = 1303; this.match(_PythonParser.NAME); this.state = 1305; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 48) { { this.state = 1304; this.type_param_bound(); } } } break; case 53: this.enterOuterAlt(localctx, 2); { this.state = 1307; this.match(_PythonParser.STAR); this.state = 1308; this.match(_PythonParser.NAME); this.state = 1311; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 48) { { this.state = 1309; this.match(_PythonParser.COLON); this.state = 1310; this.expression(); } } } break; case 69: this.enterOuterAlt(localctx, 3); { this.state = 1313; this.match(_PythonParser.DOUBLESTAR); this.state = 1314; this.match(_PythonParser.NAME); this.state = 1317; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 48) { { this.state = 1315; this.match(_PythonParser.COLON); this.state = 1316; this.expression(); } } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) type_param_bound() { let localctx = new Type_param_boundContext(this, this._ctx, this.state); this.enterRule(localctx, 204, _PythonParser.RULE_type_param_bound); try { this.enterOuterAlt(localctx, 1); { this.state = 1321; this.match(_PythonParser.COLON); this.state = 1322; this.expression(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) expressions() { let localctx = new ExpressionsContext(this, this._ctx, this.state); this.enterRule(localctx, 206, _PythonParser.RULE_expressions); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1324; this.expression(); this.state = 1329; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 152, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1325; this.match(_PythonParser.COMMA); this.state = 1326; this.expression(); } } } this.state = 1331; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 152, this._ctx); } this.state = 1333; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1332; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) expression() { let localctx = new ExpressionContext(this, this._ctx, this.state); this.enterRule(localctx, 208, _PythonParser.RULE_expression); let _la; try { this.state = 1344; this._errHandler.sync(this); switch (this._input.LA(1)) { case 3: case 6: case 7: case 11: case 16: case 34: case 41: case 42: case 43: case 51: case 52: case 65: case 86: case 89: case 90: case 91: this.enterOuterAlt(localctx, 1); { this.state = 1335; this.disjunction(); this.state = 1341; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 38) { { this.state = 1336; this.match(_PythonParser.IF); this.state = 1337; this.disjunction(); this.state = 1338; this.match(_PythonParser.ELSE); this.state = 1339; this.expression(); } } } break; case 24: this.enterOuterAlt(localctx, 2); { this.state = 1343; this.lambdef(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) yield_expr() { let localctx = new Yield_exprContext(this, this._ctx, this.state); this.enterRule(localctx, 210, _PythonParser.RULE_yield_expr); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1346; this.match(_PythonParser.YIELD); this.state = 1352; this._errHandler.sync(this); switch (this._input.LA(1)) { case 28: { this.state = 1347; this.match(_PythonParser.FROM); this.state = 1348; this.expression(); } break; case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 44: case 46: case 48: case 50: case 51: case 52: case 53: case 59: case 65: case 86: case 88: case 89: case 90: case 91: case 92: case 93: { this.state = 1350; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2148402049) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 1349; this.star_expressions(); } } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) star_expressions() { let localctx = new Star_expressionsContext(this, this._ctx, this.state); this.enterRule(localctx, 212, _PythonParser.RULE_star_expressions); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1354; this.star_expression(); this.state = 1359; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 158, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1355; this.match(_PythonParser.COMMA); this.state = 1356; this.star_expression(); } } } this.state = 1361; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 158, this._ctx); } this.state = 1363; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1362; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) star_expression() { let localctx = new Star_expressionContext(this, this._ctx, this.state); this.enterRule(localctx, 214, _PythonParser.RULE_star_expression); try { this.state = 1368; this._errHandler.sync(this); switch (this._input.LA(1)) { case 53: this.enterOuterAlt(localctx, 1); { this.state = 1365; this.match(_PythonParser.STAR); this.state = 1366; this.bitwise_or(0); } break; case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 51: case 52: case 65: case 86: case 89: case 90: case 91: this.enterOuterAlt(localctx, 2); { this.state = 1367; this.expression(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) star_named_expressions() { let localctx = new Star_named_expressionsContext(this, this._ctx, this.state); this.enterRule(localctx, 216, _PythonParser.RULE_star_named_expressions); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1370; this.star_named_expression(); this.state = 1375; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 161, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1371; this.match(_PythonParser.COMMA); this.state = 1372; this.star_named_expression(); } } } this.state = 1377; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 161, this._ctx); } this.state = 1379; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1378; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) star_named_expression() { let localctx = new Star_named_expressionContext(this, this._ctx, this.state); this.enterRule(localctx, 218, _PythonParser.RULE_star_named_expression); try { this.state = 1384; this._errHandler.sync(this); switch (this._input.LA(1)) { case 53: this.enterOuterAlt(localctx, 1); { this.state = 1381; this.match(_PythonParser.STAR); this.state = 1382; this.bitwise_or(0); } break; case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 51: case 52: case 65: case 86: case 89: case 90: case 91: this.enterOuterAlt(localctx, 2); { this.state = 1383; this.named_expression(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) assignment_expression() { let localctx = new Assignment_expressionContext(this, this._ctx, this.state); this.enterRule(localctx, 220, _PythonParser.RULE_assignment_expression); try { this.enterOuterAlt(localctx, 1); { this.state = 1386; this.match(_PythonParser.NAME); this.state = 1387; this.match(_PythonParser.COLONEQUAL); this.state = 1388; this.expression(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) named_expression() { let localctx = new Named_expressionContext(this, this._ctx, this.state); this.enterRule(localctx, 222, _PythonParser.RULE_named_expression); try { this.state = 1392; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 164, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1390; this.assignment_expression(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1391; this.expression(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) disjunction() { let localctx = new DisjunctionContext(this, this._ctx, this.state); this.enterRule(localctx, 224, _PythonParser.RULE_disjunction); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1394; this.conjunction(); this.state = 1399; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 39) { { { this.state = 1395; this.match(_PythonParser.OR); this.state = 1396; this.conjunction(); } } this.state = 1401; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) conjunction() { let localctx = new ConjunctionContext(this, this._ctx, this.state); this.enterRule(localctx, 226, _PythonParser.RULE_conjunction); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1402; this.inversion(); this.state = 1407; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 21) { { { this.state = 1403; this.match(_PythonParser.AND); this.state = 1404; this.inversion(); } } this.state = 1409; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) inversion() { let localctx = new InversionContext(this, this._ctx, this.state); this.enterRule(localctx, 228, _PythonParser.RULE_inversion); try { this.state = 1413; this._errHandler.sync(this); switch (this._input.LA(1)) { case 34: this.enterOuterAlt(localctx, 1); { this.state = 1410; this.match(_PythonParser.NOT); this.state = 1411; this.inversion(); } break; case 3: case 6: case 7: case 11: case 16: case 41: case 42: case 43: case 51: case 52: case 65: case 86: case 89: case 90: case 91: this.enterOuterAlt(localctx, 2); { this.state = 1412; this.comparison(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) comparison() { let localctx = new ComparisonContext(this, this._ctx, this.state); this.enterRule(localctx, 230, _PythonParser.RULE_comparison); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1415; this.bitwise_or(0); this.state = 1419; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 14 || _la === 19 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2038431745) !== 0) { { { this.state = 1416; this.compare_op_bitwise_or_pair(); } } this.state = 1421; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) compare_op_bitwise_or_pair() { let localctx = new Compare_op_bitwise_or_pairContext(this, this._ctx, this.state); this.enterRule(localctx, 232, _PythonParser.RULE_compare_op_bitwise_or_pair); try { this.state = 1432; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 169, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1422; this.eq_bitwise_or(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1423; this.noteq_bitwise_or(); } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 1424; this.lte_bitwise_or(); } break; case 4: this.enterOuterAlt(localctx, 4); { this.state = 1425; this.lt_bitwise_or(); } break; case 5: this.enterOuterAlt(localctx, 5); { this.state = 1426; this.gte_bitwise_or(); } break; case 6: this.enterOuterAlt(localctx, 6); { this.state = 1427; this.gt_bitwise_or(); } break; case 7: this.enterOuterAlt(localctx, 7); { this.state = 1428; this.notin_bitwise_or(); } break; case 8: this.enterOuterAlt(localctx, 8); { this.state = 1429; this.in_bitwise_or(); } break; case 9: this.enterOuterAlt(localctx, 9); { this.state = 1430; this.isnot_bitwise_or(); } break; case 10: this.enterOuterAlt(localctx, 10); { this.state = 1431; this.is_bitwise_or(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) eq_bitwise_or() { let localctx = new Eq_bitwise_orContext(this, this._ctx, this.state); this.enterRule(localctx, 234, _PythonParser.RULE_eq_bitwise_or); try { this.enterOuterAlt(localctx, 1); { this.state = 1434; this.match(_PythonParser.EQEQUAL); this.state = 1435; this.bitwise_or(0); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) noteq_bitwise_or() { let localctx = new Noteq_bitwise_orContext(this, this._ctx, this.state); this.enterRule(localctx, 236, _PythonParser.RULE_noteq_bitwise_or); try { this.enterOuterAlt(localctx, 1); { { this.state = 1437; this.match(_PythonParser.NOTEQUAL); } this.state = 1438; this.bitwise_or(0); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) lte_bitwise_or() { let localctx = new Lte_bitwise_orContext(this, this._ctx, this.state); this.enterRule(localctx, 238, _PythonParser.RULE_lte_bitwise_or); try { this.enterOuterAlt(localctx, 1); { this.state = 1440; this.match(_PythonParser.LESSEQUAL); this.state = 1441; this.bitwise_or(0); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) lt_bitwise_or() { let localctx = new Lt_bitwise_orContext(this, this._ctx, this.state); this.enterRule(localctx, 240, _PythonParser.RULE_lt_bitwise_or); try { this.enterOuterAlt(localctx, 1); { this.state = 1443; this.match(_PythonParser.LESS); this.state = 1444; this.bitwise_or(0); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) gte_bitwise_or() { let localctx = new Gte_bitwise_orContext(this, this._ctx, this.state); this.enterRule(localctx, 242, _PythonParser.RULE_gte_bitwise_or); try { this.enterOuterAlt(localctx, 1); { this.state = 1446; this.match(_PythonParser.GREATEREQUAL); this.state = 1447; this.bitwise_or(0); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) gt_bitwise_or() { let localctx = new Gt_bitwise_orContext(this, this._ctx, this.state); this.enterRule(localctx, 244, _PythonParser.RULE_gt_bitwise_or); try { this.enterOuterAlt(localctx, 1); { this.state = 1449; this.match(_PythonParser.GREATER); this.state = 1450; this.bitwise_or(0); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) notin_bitwise_or() { let localctx = new Notin_bitwise_orContext(this, this._ctx, this.state); this.enterRule(localctx, 246, _PythonParser.RULE_notin_bitwise_or); try { this.enterOuterAlt(localctx, 1); { this.state = 1452; this.match(_PythonParser.NOT); this.state = 1453; this.match(_PythonParser.IN); this.state = 1454; this.bitwise_or(0); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) in_bitwise_or() { let localctx = new In_bitwise_orContext(this, this._ctx, this.state); this.enterRule(localctx, 248, _PythonParser.RULE_in_bitwise_or); try { this.enterOuterAlt(localctx, 1); { this.state = 1456; this.match(_PythonParser.IN); this.state = 1457; this.bitwise_or(0); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) isnot_bitwise_or() { let localctx = new Isnot_bitwise_orContext(this, this._ctx, this.state); this.enterRule(localctx, 250, _PythonParser.RULE_isnot_bitwise_or); try { this.enterOuterAlt(localctx, 1); { this.state = 1459; this.match(_PythonParser.IS); this.state = 1460; this.match(_PythonParser.NOT); this.state = 1461; this.bitwise_or(0); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) is_bitwise_or() { let localctx = new Is_bitwise_orContext(this, this._ctx, this.state); this.enterRule(localctx, 252, _PythonParser.RULE_is_bitwise_or); try { this.enterOuterAlt(localctx, 1); { this.state = 1463; this.match(_PythonParser.IS); this.state = 1464; this.bitwise_or(0); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) bitwise_or(_p) { if (_p === void 0) { _p = 0; } let _parentctx = this._ctx; let _parentState = this.state; let localctx = new Bitwise_orContext(this, this._ctx, _parentState); let _prevctx = localctx; let _startState = 254; this.enterRecursionRule(localctx, 254, _PythonParser.RULE_bitwise_or, _p); try { let _alt; this.enterOuterAlt(localctx, 1); { { this.state = 1467; this.bitwise_xor(0); } this._ctx.stop = this._input.LT(-1); this.state = 1474; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 170, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners != null) { this.triggerExitRuleEvent(); } _prevctx = localctx; { { localctx = new Bitwise_orContext(this, _parentctx, _parentState); this.pushNewRecursionContext(localctx, _startState, _PythonParser.RULE_bitwise_or); this.state = 1469; if (!this.precpred(this._ctx, 2)) { throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); } this.state = 1470; this.match(_PythonParser.VBAR); this.state = 1471; this.bitwise_xor(0); } } } this.state = 1476; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 170, this._ctx); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.unrollRecursionContexts(_parentctx); } return localctx; } // @RuleVersion(0) bitwise_xor(_p) { if (_p === void 0) { _p = 0; } let _parentctx = this._ctx; let _parentState = this.state; let localctx = new Bitwise_xorContext(this, this._ctx, _parentState); let _prevctx = localctx; let _startState = 256; this.enterRecursionRule(localctx, 256, _PythonParser.RULE_bitwise_xor, _p); try { let _alt; this.enterOuterAlt(localctx, 1); { { this.state = 1478; this.bitwise_and(0); } this._ctx.stop = this._input.LT(-1); this.state = 1485; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 171, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners != null) { this.triggerExitRuleEvent(); } _prevctx = localctx; { { localctx = new Bitwise_xorContext(this, _parentctx, _parentState); this.pushNewRecursionContext(localctx, _startState, _PythonParser.RULE_bitwise_xor); this.state = 1480; if (!this.precpred(this._ctx, 2)) { throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); } this.state = 1481; this.match(_PythonParser.CIRCUMFLEX); this.state = 1482; this.bitwise_and(0); } } } this.state = 1487; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 171, this._ctx); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.unrollRecursionContexts(_parentctx); } return localctx; } // @RuleVersion(0) bitwise_and(_p) { if (_p === void 0) { _p = 0; } let _parentctx = this._ctx; let _parentState = this.state; let localctx = new Bitwise_andContext(this, this._ctx, _parentState); let _prevctx = localctx; let _startState = 258; this.enterRecursionRule(localctx, 258, _PythonParser.RULE_bitwise_and, _p); try { let _alt; this.enterOuterAlt(localctx, 1); { { this.state = 1489; this.shift_expr(0); } this._ctx.stop = this._input.LT(-1); this.state = 1496; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 172, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners != null) { this.triggerExitRuleEvent(); } _prevctx = localctx; { { localctx = new Bitwise_andContext(this, _parentctx, _parentState); this.pushNewRecursionContext(localctx, _startState, _PythonParser.RULE_bitwise_and); this.state = 1491; if (!this.precpred(this._ctx, 2)) { throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); } this.state = 1492; this.match(_PythonParser.AMPER); this.state = 1493; this.shift_expr(0); } } } this.state = 1498; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 172, this._ctx); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.unrollRecursionContexts(_parentctx); } return localctx; } // @RuleVersion(0) shift_expr(_p) { if (_p === void 0) { _p = 0; } let _parentctx = this._ctx; let _parentState = this.state; let localctx = new Shift_exprContext(this, this._ctx, _parentState); let _prevctx = localctx; let _startState = 260; this.enterRecursionRule(localctx, 260, _PythonParser.RULE_shift_expr, _p); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { { this.state = 1500; this.sum(0); } this._ctx.stop = this._input.LT(-1); this.state = 1507; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 173, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners != null) { this.triggerExitRuleEvent(); } _prevctx = localctx; { { localctx = new Shift_exprContext(this, _parentctx, _parentState); this.pushNewRecursionContext(localctx, _startState, _PythonParser.RULE_shift_expr); this.state = 1502; if (!this.precpred(this._ctx, 2)) { throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); } this.state = 1503; _la = this._input.LA(1); if (!(_la === 67 || _la === 68)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 1504; this.sum(0); } } } this.state = 1509; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 173, this._ctx); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.unrollRecursionContexts(_parentctx); } return localctx; } // @RuleVersion(0) sum(_p) { if (_p === void 0) { _p = 0; } let _parentctx = this._ctx; let _parentState = this.state; let localctx = new SumContext(this, this._ctx, _parentState); let _prevctx = localctx; let _startState = 262; this.enterRecursionRule(localctx, 262, _PythonParser.RULE_sum, _p); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { { this.state = 1511; this.term(0); } this._ctx.stop = this._input.LT(-1); this.state = 1518; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 174, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners != null) { this.triggerExitRuleEvent(); } _prevctx = localctx; { { localctx = new SumContext(this, _parentctx, _parentState); this.pushNewRecursionContext(localctx, _startState, _PythonParser.RULE_sum); this.state = 1513; if (!this.precpred(this._ctx, 2)) { throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); } this.state = 1514; _la = this._input.LA(1); if (!(_la === 51 || _la === 52)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 1515; this.term(0); } } } this.state = 1520; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 174, this._ctx); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.unrollRecursionContexts(_parentctx); } return localctx; } // @RuleVersion(0) term(_p) { if (_p === void 0) { _p = 0; } let _parentctx = this._ctx; let _parentState = this.state; let localctx = new TermContext(this, this._ctx, _parentState); let _prevctx = localctx; let _startState = 264; this.enterRecursionRule(localctx, 264, _PythonParser.RULE_term, _p); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { { this.state = 1522; this.factor(); } this._ctx.stop = this._input.LT(-1); this.state = 1529; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 175, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners != null) { this.triggerExitRuleEvent(); } _prevctx = localctx; { { localctx = new TermContext(this, _parentctx, _parentState); this.pushNewRecursionContext(localctx, _startState, _PythonParser.RULE_term); this.state = 1524; if (!this.precpred(this._ctx, 2)) { throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); } this.state = 1525; _la = this._input.LA(1); if (!((_la - 53 & ~31) === 0 && (1 << _la - 53 & 1342177411) !== 0)) { this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } this.state = 1526; this.factor(); } } } this.state = 1531; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 175, this._ctx); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.unrollRecursionContexts(_parentctx); } return localctx; } // @RuleVersion(0) factor() { let localctx = new FactorContext(this, this._ctx, this.state); this.enterRule(localctx, 266, _PythonParser.RULE_factor); try { this.state = 1539; this._errHandler.sync(this); switch (this._input.LA(1)) { case 51: this.enterOuterAlt(localctx, 1); { this.state = 1532; this.match(_PythonParser.PLUS); this.state = 1533; this.factor(); } break; case 52: this.enterOuterAlt(localctx, 2); { this.state = 1534; this.match(_PythonParser.MINUS); this.state = 1535; this.factor(); } break; case 65: this.enterOuterAlt(localctx, 3); { this.state = 1536; this.match(_PythonParser.TILDE); this.state = 1537; this.factor(); } break; case 3: case 6: case 7: case 11: case 16: case 41: case 42: case 43: case 86: case 89: case 90: case 91: this.enterOuterAlt(localctx, 4); { this.state = 1538; this.power(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) power() { let localctx = new PowerContext(this, this._ctx, this.state); this.enterRule(localctx, 268, _PythonParser.RULE_power); try { this.enterOuterAlt(localctx, 1); { this.state = 1541; this.await_primary(); this.state = 1544; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 177, this._ctx)) { case 1: { this.state = 1542; this.match(_PythonParser.DOUBLESTAR); this.state = 1543; this.factor(); } break; } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) await_primary() { let localctx = new Await_primaryContext(this, this._ctx, this.state); this.enterRule(localctx, 270, _PythonParser.RULE_await_primary); try { this.state = 1549; this._errHandler.sync(this); switch (this._input.LA(1)) { case 7: this.enterOuterAlt(localctx, 1); { this.state = 1546; this.match(_PythonParser.AWAIT); this.state = 1547; this.primary(0); } break; case 3: case 6: case 11: case 16: case 41: case 42: case 43: case 86: case 89: case 90: case 91: this.enterOuterAlt(localctx, 2); { this.state = 1548; this.primary(0); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) primary(_p) { if (_p === void 0) { _p = 0; } let _parentctx = this._ctx; let _parentState = this.state; let localctx = new PrimaryContext(this, this._ctx, _parentState); let _prevctx = localctx; let _startState = 272; this.enterRecursionRule(localctx, 272, _PythonParser.RULE_primary, _p); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { { this.state = 1552; this.atom(); } this._ctx.stop = this._input.LT(-1); this.state = 1571; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 181, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners != null) { this.triggerExitRuleEvent(); } _prevctx = localctx; { { localctx = new PrimaryContext(this, _parentctx, _parentState); this.pushNewRecursionContext(localctx, _startState, _PythonParser.RULE_primary); this.state = 1554; if (!this.precpred(this._ctx, 2)) { throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); } this.state = 1567; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 180, this._ctx)) { case 1: { this.state = 1555; this.match(_PythonParser.DOT); this.state = 1556; this.match(_PythonParser.NAME); } break; case 2: { this.state = 1557; this.genexp(); } break; case 3: { this.state = 1558; this.match(_PythonParser.LPAR); this.state = 1560; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2148402049) !== 0 || (_la - 69 & ~31) === 0 && (1 << _la - 69 & 7471105) !== 0) { { this.state = 1559; this.arguments(); } } this.state = 1562; this.match(_PythonParser.RPAR); } break; case 4: { this.state = 1563; this.match(_PythonParser.LSQB); this.state = 1564; this.slices(); this.state = 1565; this.match(_PythonParser.RSQB); } break; } } } } this.state = 1573; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 181, this._ctx); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.unrollRecursionContexts(_parentctx); } return localctx; } // @RuleVersion(0) slices() { let localctx = new SlicesContext(this, this._ctx, this.state); this.enterRule(localctx, 274, _PythonParser.RULE_slices); let _la; try { let _alt; this.state = 1592; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 186, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1574; this.slice(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1577; this._errHandler.sync(this); switch (this._input.LA(1)) { case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 48: case 51: case 52: case 65: case 86: case 89: case 90: case 91: { this.state = 1575; this.slice(); } break; case 53: { this.state = 1576; this.starred_expression(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 1586; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 184, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1579; this.match(_PythonParser.COMMA); this.state = 1582; this._errHandler.sync(this); switch (this._input.LA(1)) { case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 48: case 51: case 52: case 65: case 86: case 89: case 90: case 91: { this.state = 1580; this.slice(); } break; case 53: { this.state = 1581; this.starred_expression(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } } } this.state = 1588; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 184, this._ctx); } this.state = 1590; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1589; this.match(_PythonParser.COMMA); } } } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) slice() { let localctx = new SliceContext(this, this._ctx, this.state); this.enterRule(localctx, 276, _PythonParser.RULE_slice); let _la; try { this.state = 1608; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 191, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1595; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2147877761) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 1594; this.expression(); } } this.state = 1597; this.match(_PythonParser.COLON); this.state = 1599; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2147877761) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 1598; this.expression(); } } this.state = 1605; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 48) { { this.state = 1601; this.match(_PythonParser.COLON); this.state = 1603; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2147877761) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 1602; this.expression(); } } } } } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1607; this.named_expression(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) atom() { let localctx = new AtomContext(this, this._ctx, this.state); this.enterRule(localctx, 278, _PythonParser.RULE_atom); try { this.state = 1632; this._errHandler.sync(this); switch (this._input.LA(1)) { case 89: this.enterOuterAlt(localctx, 1); { this.state = 1610; this.match(_PythonParser.NAME); } break; case 16: this.enterOuterAlt(localctx, 2); { this.state = 1611; this.match(_PythonParser.TRUE); } break; case 6: this.enterOuterAlt(localctx, 3); { this.state = 1612; this.match(_PythonParser.FALSE); } break; case 11: this.enterOuterAlt(localctx, 4); { this.state = 1613; this.match(_PythonParser.NONE); } break; case 3: case 91: this.enterOuterAlt(localctx, 5); { this.state = 1614; this.strings(); } break; case 90: this.enterOuterAlt(localctx, 6); { this.state = 1615; this.match(_PythonParser.NUMBER); } break; case 41: this.enterOuterAlt(localctx, 7); { this.state = 1619; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 192, this._ctx)) { case 1: { this.state = 1616; this.tuple(); } break; case 2: { this.state = 1617; this.group(); } break; case 3: { this.state = 1618; this.genexp(); } break; } } break; case 42: this.enterOuterAlt(localctx, 8); { this.state = 1623; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 193, this._ctx)) { case 1: { this.state = 1621; this.list(); } break; case 2: { this.state = 1622; this.listcomp(); } break; } } break; case 43: this.enterOuterAlt(localctx, 9); { this.state = 1629; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 194, this._ctx)) { case 1: { this.state = 1625; this.dict(); } break; case 2: { this.state = 1626; this.set_(); } break; case 3: { this.state = 1627; this.dictcomp(); } break; case 4: { this.state = 1628; this.setcomp(); } break; } } break; case 86: this.enterOuterAlt(localctx, 10); { this.state = 1631; this.match(_PythonParser.ELLIPSIS); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) group() { let localctx = new GroupContext(this, this._ctx, this.state); this.enterRule(localctx, 280, _PythonParser.RULE_group); try { this.enterOuterAlt(localctx, 1); { this.state = 1634; this.match(_PythonParser.LPAR); this.state = 1637; this._errHandler.sync(this); switch (this._input.LA(1)) { case 40: { this.state = 1635; this.yield_expr(); } break; case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 51: case 52: case 65: case 86: case 89: case 90: case 91: { this.state = 1636; this.named_expression(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 1639; this.match(_PythonParser.RPAR); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) lambdef() { let localctx = new LambdefContext(this, this._ctx, this.state); this.enterRule(localctx, 282, _PythonParser.RULE_lambdef); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1641; this.match(_PythonParser.LAMBDA); this.state = 1643; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 53 || _la === 69 || _la === 89) { { this.state = 1642; this.lambda_params(); } } this.state = 1645; this.match(_PythonParser.COLON); this.state = 1646; this.expression(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) lambda_params() { let localctx = new Lambda_paramsContext(this, this._ctx, this.state); this.enterRule(localctx, 284, _PythonParser.RULE_lambda_params); try { this.enterOuterAlt(localctx, 1); { this.state = 1648; this.lambda_parameters(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) lambda_parameters() { let localctx = new Lambda_parametersContext(this, this._ctx, this.state); this.enterRule(localctx, 286, _PythonParser.RULE_lambda_parameters); let _la; try { let _alt; this.state = 1699; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 208, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1650; this.lambda_slash_no_default(); this.state = 1654; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 198, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1651; this.lambda_param_no_default(); } } } this.state = 1656; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 198, this._ctx); } this.state = 1660; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 89) { { { this.state = 1657; this.lambda_param_with_default(); } } this.state = 1662; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1664; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 53 || _la === 69) { { this.state = 1663; this.lambda_star_etc(); } } } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1666; this.lambda_slash_with_default(); this.state = 1670; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 89) { { { this.state = 1667; this.lambda_param_with_default(); } } this.state = 1672; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1674; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 53 || _la === 69) { { this.state = 1673; this.lambda_star_etc(); } } } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 1677; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 1676; this.lambda_param_no_default(); } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 1679; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 203, this._ctx); } while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER); this.state = 1684; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 89) { { { this.state = 1681; this.lambda_param_with_default(); } } this.state = 1686; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1688; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 53 || _la === 69) { { this.state = 1687; this.lambda_star_etc(); } } } break; case 4: this.enterOuterAlt(localctx, 4); { this.state = 1691; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 1690; this.lambda_param_with_default(); } } this.state = 1693; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === 89); this.state = 1696; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 53 || _la === 69) { { this.state = 1695; this.lambda_star_etc(); } } } break; case 5: this.enterOuterAlt(localctx, 5); { this.state = 1698; this.lambda_star_etc(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) lambda_slash_no_default() { let localctx = new Lambda_slash_no_defaultContext(this, this._ctx, this.state); this.enterRule(localctx, 288, _PythonParser.RULE_lambda_slash_no_default); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1702; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 1701; this.lambda_param_no_default(); } } this.state = 1704; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === 89); this.state = 1706; this.match(_PythonParser.SLASH); this.state = 1708; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1707; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) lambda_slash_with_default() { let localctx = new Lambda_slash_with_defaultContext(this, this._ctx, this.state); this.enterRule(localctx, 290, _PythonParser.RULE_lambda_slash_with_default); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1713; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 211, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1710; this.lambda_param_no_default(); } } } this.state = 1715; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 211, this._ctx); } this.state = 1717; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 1716; this.lambda_param_with_default(); } } this.state = 1719; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === 89); this.state = 1721; this.match(_PythonParser.SLASH); this.state = 1723; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1722; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) lambda_star_etc() { let localctx = new Lambda_star_etcContext(this, this._ctx, this.state); this.enterRule(localctx, 292, _PythonParser.RULE_lambda_star_etc); let _la; try { this.state = 1747; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 218, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1725; this.match(_PythonParser.STAR); this.state = 1726; this.lambda_param_no_default(); this.state = 1730; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 89) { { { this.state = 1727; this.lambda_param_maybe_default(); } } this.state = 1732; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1734; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 69) { { this.state = 1733; this.lambda_kwds(); } } } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1736; this.match(_PythonParser.STAR); this.state = 1737; this.match(_PythonParser.COMMA); this.state = 1739; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 1738; this.lambda_param_maybe_default(); } } this.state = 1741; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === 89); this.state = 1744; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 69) { { this.state = 1743; this.lambda_kwds(); } } } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 1746; this.lambda_kwds(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) lambda_kwds() { let localctx = new Lambda_kwdsContext(this, this._ctx, this.state); this.enterRule(localctx, 294, _PythonParser.RULE_lambda_kwds); try { this.enterOuterAlt(localctx, 1); { this.state = 1749; this.match(_PythonParser.DOUBLESTAR); this.state = 1750; this.lambda_param_no_default(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) lambda_param_no_default() { let localctx = new Lambda_param_no_defaultContext(this, this._ctx, this.state); this.enterRule(localctx, 296, _PythonParser.RULE_lambda_param_no_default); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1752; this.lambda_param(); this.state = 1754; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1753; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) lambda_param_with_default() { let localctx = new Lambda_param_with_defaultContext(this, this._ctx, this.state); this.enterRule(localctx, 298, _PythonParser.RULE_lambda_param_with_default); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1756; this.lambda_param(); this.state = 1757; this.default_assignment(); this.state = 1759; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1758; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) lambda_param_maybe_default() { let localctx = new Lambda_param_maybe_defaultContext(this, this._ctx, this.state); this.enterRule(localctx, 300, _PythonParser.RULE_lambda_param_maybe_default); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1761; this.lambda_param(); this.state = 1763; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 59) { { this.state = 1762; this.default_assignment(); } } this.state = 1766; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1765; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) lambda_param() { let localctx = new Lambda_paramContext(this, this._ctx, this.state); this.enterRule(localctx, 302, _PythonParser.RULE_lambda_param); try { this.enterOuterAlt(localctx, 1); { this.state = 1768; this.match(_PythonParser.NAME); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) fstring_middle() { let localctx = new Fstring_middleContext(this, this._ctx, this.state); this.enterRule(localctx, 304, _PythonParser.RULE_fstring_middle); try { this.state = 1772; this._errHandler.sync(this); switch (this._input.LA(1)) { case 43: this.enterOuterAlt(localctx, 1); { this.state = 1770; this.fstring_replacement_field(); } break; case 4: this.enterOuterAlt(localctx, 2); { this.state = 1771; this.match(_PythonParser.FSTRING_MIDDLE); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) fstring_replacement_field() { let localctx = new Fstring_replacement_fieldContext(this, this._ctx, this.state); this.enterRule(localctx, 306, _PythonParser.RULE_fstring_replacement_field); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1774; this.match(_PythonParser.LBRACE); this.state = 1777; this._errHandler.sync(this); switch (this._input.LA(1)) { case 40: { this.state = 1775; this.yield_expr(); } break; case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 51: case 52: case 53: case 65: case 86: case 89: case 90: case 91: { this.state = 1776; this.star_expressions(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 1780; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 59) { { this.state = 1779; this.match(_PythonParser.EQUAL); } } this.state = 1783; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 88) { { this.state = 1782; this.fstring_conversion(); } } this.state = 1786; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 48) { { this.state = 1785; this.fstring_full_format_spec(); } } this.state = 1788; this.match(_PythonParser.RBRACE); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) fstring_conversion() { let localctx = new Fstring_conversionContext(this, this._ctx, this.state); this.enterRule(localctx, 308, _PythonParser.RULE_fstring_conversion); try { this.enterOuterAlt(localctx, 1); { this.state = 1790; this.match(_PythonParser.EXCLAMATION); this.state = 1791; this.match(_PythonParser.NAME); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) fstring_full_format_spec() { let localctx = new Fstring_full_format_specContext(this, this._ctx, this.state); this.enterRule(localctx, 310, _PythonParser.RULE_fstring_full_format_spec); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1793; this.match(_PythonParser.COLON); this.state = 1797; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 4 || _la === 43) { { { this.state = 1794; this.fstring_format_spec(); } } this.state = 1799; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) fstring_format_spec() { let localctx = new Fstring_format_specContext(this, this._ctx, this.state); this.enterRule(localctx, 312, _PythonParser.RULE_fstring_format_spec); try { this.state = 1802; this._errHandler.sync(this); switch (this._input.LA(1)) { case 4: this.enterOuterAlt(localctx, 1); { this.state = 1800; this.match(_PythonParser.FSTRING_MIDDLE); } break; case 43: this.enterOuterAlt(localctx, 2); { this.state = 1801; this.fstring_replacement_field(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) fstring() { let localctx = new FstringContext(this, this._ctx, this.state); this.enterRule(localctx, 314, _PythonParser.RULE_fstring); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1804; this.match(_PythonParser.FSTRING_START); this.state = 1808; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 4 || _la === 43) { { { this.state = 1805; this.fstring_middle(); } } this.state = 1810; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1811; this.match(_PythonParser.FSTRING_END); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) string_() { let localctx = new StringContext(this, this._ctx, this.state); this.enterRule(localctx, 316, _PythonParser.RULE_string); try { this.enterOuterAlt(localctx, 1); { this.state = 1813; this.match(_PythonParser.STRING); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) strings() { let localctx = new StringsContext(this, this._ctx, this.state); this.enterRule(localctx, 318, _PythonParser.RULE_strings); try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1817; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { this.state = 1817; this._errHandler.sync(this); switch (this._input.LA(1)) { case 3: { this.state = 1815; this.fstring(); } break; case 91: { this.state = 1816; this.string_(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 1819; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 232, this._ctx); } while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) list() { let localctx = new ListContext(this, this._ctx, this.state); this.enterRule(localctx, 320, _PythonParser.RULE_list); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1821; this.match(_PythonParser.LSQB); this.state = 1823; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2148402049) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 1822; this.star_named_expressions(); } } this.state = 1825; this.match(_PythonParser.RSQB); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) tuple() { let localctx = new TupleContext(this, this._ctx, this.state); this.enterRule(localctx, 322, _PythonParser.RULE_tuple); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1827; this.match(_PythonParser.LPAR); this.state = 1833; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2148402049) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 1828; this.star_named_expression(); this.state = 1829; this.match(_PythonParser.COMMA); this.state = 1831; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2148402049) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 1830; this.star_named_expressions(); } } } } this.state = 1835; this.match(_PythonParser.RPAR); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) set_() { let localctx = new SetContext(this, this._ctx, this.state); this.enterRule(localctx, 324, _PythonParser.RULE_set); try { this.enterOuterAlt(localctx, 1); { this.state = 1837; this.match(_PythonParser.LBRACE); this.state = 1838; this.star_named_expressions(); this.state = 1839; this.match(_PythonParser.RBRACE); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) dict() { let localctx = new DictContext(this, this._ctx, this.state); this.enterRule(localctx, 326, _PythonParser.RULE_dict); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1841; this.match(_PythonParser.LBRACE); this.state = 1843; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2147877761) !== 0 || (_la - 69 & ~31) === 0 && (1 << _la - 69 & 7471105) !== 0) { { this.state = 1842; this.double_starred_kvpairs(); } } this.state = 1845; this.match(_PythonParser.RBRACE); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) double_starred_kvpairs() { let localctx = new Double_starred_kvpairsContext(this, this._ctx, this.state); this.enterRule(localctx, 328, _PythonParser.RULE_double_starred_kvpairs); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1847; this.double_starred_kvpair(); this.state = 1852; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 237, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1848; this.match(_PythonParser.COMMA); this.state = 1849; this.double_starred_kvpair(); } } } this.state = 1854; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 237, this._ctx); } this.state = 1856; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1855; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) double_starred_kvpair() { let localctx = new Double_starred_kvpairContext(this, this._ctx, this.state); this.enterRule(localctx, 330, _PythonParser.RULE_double_starred_kvpair); try { this.state = 1861; this._errHandler.sync(this); switch (this._input.LA(1)) { case 69: this.enterOuterAlt(localctx, 1); { this.state = 1858; this.match(_PythonParser.DOUBLESTAR); this.state = 1859; this.bitwise_or(0); } break; case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 51: case 52: case 65: case 86: case 89: case 90: case 91: this.enterOuterAlt(localctx, 2); { this.state = 1860; this.kvpair(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) kvpair() { let localctx = new KvpairContext(this, this._ctx, this.state); this.enterRule(localctx, 332, _PythonParser.RULE_kvpair); try { this.enterOuterAlt(localctx, 1); { this.state = 1863; this.expression(); this.state = 1864; this.match(_PythonParser.COLON); this.state = 1865; this.expression(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) for_if_clauses() { let localctx = new For_if_clausesContext(this, this._ctx, this.state); this.enterRule(localctx, 334, _PythonParser.RULE_for_if_clauses); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1868; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 1867; this.for_if_clause(); } } this.state = 1870; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === 23 || _la === 36); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) for_if_clause() { let localctx = new For_if_clauseContext(this, this._ctx, this.state); this.enterRule(localctx, 336, _PythonParser.RULE_for_if_clause); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1873; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 36) { { this.state = 1872; this.match(_PythonParser.ASYNC); } } this.state = 1875; this.match(_PythonParser.FOR); this.state = 1876; this.star_targets(); this.state = 1877; this.match(_PythonParser.IN); this.state = 1878; this.disjunction(); this.state = 1883; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === 38) { { { this.state = 1879; this.match(_PythonParser.IF); this.state = 1880; this.disjunction(); } } this.state = 1885; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) listcomp() { let localctx = new ListcompContext(this, this._ctx, this.state); this.enterRule(localctx, 338, _PythonParser.RULE_listcomp); try { this.enterOuterAlt(localctx, 1); { this.state = 1886; this.match(_PythonParser.LSQB); this.state = 1887; this.named_expression(); this.state = 1888; this.for_if_clauses(); this.state = 1889; this.match(_PythonParser.RSQB); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) setcomp() { let localctx = new SetcompContext(this, this._ctx, this.state); this.enterRule(localctx, 340, _PythonParser.RULE_setcomp); try { this.enterOuterAlt(localctx, 1); { this.state = 1891; this.match(_PythonParser.LBRACE); this.state = 1892; this.named_expression(); this.state = 1893; this.for_if_clauses(); this.state = 1894; this.match(_PythonParser.RBRACE); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) genexp() { let localctx = new GenexpContext(this, this._ctx, this.state); this.enterRule(localctx, 342, _PythonParser.RULE_genexp); try { this.enterOuterAlt(localctx, 1); { this.state = 1896; this.match(_PythonParser.LPAR); this.state = 1899; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 243, this._ctx)) { case 1: { this.state = 1897; this.assignment_expression(); } break; case 2: { this.state = 1898; this.expression(); } break; } this.state = 1901; this.for_if_clauses(); this.state = 1902; this.match(_PythonParser.RPAR); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) dictcomp() { let localctx = new DictcompContext(this, this._ctx, this.state); this.enterRule(localctx, 344, _PythonParser.RULE_dictcomp); try { this.enterOuterAlt(localctx, 1); { this.state = 1904; this.match(_PythonParser.LBRACE); this.state = 1905; this.kvpair(); this.state = 1906; this.for_if_clauses(); this.state = 1907; this.match(_PythonParser.RBRACE); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) arguments() { let localctx = new ArgumentsContext(this, this._ctx, this.state); this.enterRule(localctx, 346, _PythonParser.RULE_arguments); let _la; try { this.enterOuterAlt(localctx, 1); { this.state = 1909; this.args(); this.state = 1911; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1910; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) args() { let localctx = new ArgsContext(this, this._ctx, this.state); this.enterRule(localctx, 348, _PythonParser.RULE_args); try { let _alt; this.state = 1938; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 251, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1918; this._errHandler.sync(this); switch (this._input.LA(1)) { case 53: { this.state = 1913; this.starred_expression(); } break; case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 51: case 52: case 65: case 86: case 89: case 90: case 91: { this.state = 1916; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 245, this._ctx)) { case 1: { this.state = 1914; this.assignment_expression(); } break; case 2: { this.state = 1915; this.expression(); } break; } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 1930; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 249, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1920; this.match(_PythonParser.COMMA); this.state = 1926; this._errHandler.sync(this); switch (this._input.LA(1)) { case 53: { this.state = 1921; this.starred_expression(); } break; case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 51: case 52: case 65: case 86: case 89: case 90: case 91: { this.state = 1924; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 247, this._ctx)) { case 1: { this.state = 1922; this.assignment_expression(); } break; case 2: { this.state = 1923; this.expression(); } break; } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } } } this.state = 1932; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 249, this._ctx); } this.state = 1935; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 250, this._ctx)) { case 1: { this.state = 1933; this.match(_PythonParser.COMMA); this.state = 1934; this.kwargs(); } break; } } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1937; this.kwargs(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) kwargs() { let localctx = new KwargsContext(this, this._ctx, this.state); this.enterRule(localctx, 350, _PythonParser.RULE_kwargs); try { let _alt; this.state = 1967; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 256, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 1940; this.kwarg_or_starred(); this.state = 1945; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 252, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1941; this.match(_PythonParser.COMMA); this.state = 1942; this.kwarg_or_starred(); } } } this.state = 1947; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 252, this._ctx); } this.state = 1957; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 254, this._ctx)) { case 1: { this.state = 1948; this.match(_PythonParser.COMMA); this.state = 1949; this.kwarg_or_double_starred(); this.state = 1954; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 253, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1950; this.match(_PythonParser.COMMA); this.state = 1951; this.kwarg_or_double_starred(); } } } this.state = 1956; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 253, this._ctx); } } break; } } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 1959; this.kwarg_or_double_starred(); this.state = 1964; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 255, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1960; this.match(_PythonParser.COMMA); this.state = 1961; this.kwarg_or_double_starred(); } } } this.state = 1966; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 255, this._ctx); } } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) starred_expression() { let localctx = new Starred_expressionContext(this, this._ctx, this.state); this.enterRule(localctx, 352, _PythonParser.RULE_starred_expression); try { this.enterOuterAlt(localctx, 1); { this.state = 1969; this.match(_PythonParser.STAR); this.state = 1970; this.expression(); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) kwarg_or_starred() { let localctx = new Kwarg_or_starredContext(this, this._ctx, this.state); this.enterRule(localctx, 354, _PythonParser.RULE_kwarg_or_starred); try { this.state = 1976; this._errHandler.sync(this); switch (this._input.LA(1)) { case 89: this.enterOuterAlt(localctx, 1); { this.state = 1972; this.match(_PythonParser.NAME); this.state = 1973; this.match(_PythonParser.EQUAL); this.state = 1974; this.expression(); } break; case 53: this.enterOuterAlt(localctx, 2); { this.state = 1975; this.starred_expression(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) kwarg_or_double_starred() { let localctx = new Kwarg_or_double_starredContext(this, this._ctx, this.state); this.enterRule(localctx, 356, _PythonParser.RULE_kwarg_or_double_starred); try { this.state = 1983; this._errHandler.sync(this); switch (this._input.LA(1)) { case 89: this.enterOuterAlt(localctx, 1); { this.state = 1978; this.match(_PythonParser.NAME); this.state = 1979; this.match(_PythonParser.EQUAL); this.state = 1980; this.expression(); } break; case 69: this.enterOuterAlt(localctx, 2); { this.state = 1981; this.match(_PythonParser.DOUBLESTAR); this.state = 1982; this.expression(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) star_targets() { let localctx = new Star_targetsContext(this, this._ctx, this.state); this.enterRule(localctx, 358, _PythonParser.RULE_star_targets); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1985; this.star_target(); this.state = 1990; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 259, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1986; this.match(_PythonParser.COMMA); this.state = 1987; this.star_target(); } } } this.state = 1992; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 259, this._ctx); } this.state = 1994; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 1993; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) star_targets_list_seq() { let localctx = new Star_targets_list_seqContext(this, this._ctx, this.state); this.enterRule(localctx, 360, _PythonParser.RULE_star_targets_list_seq); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 1996; this.star_target(); this.state = 1999; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 1997; this.match(_PythonParser.COMMA); this.state = 1998; this.star_target(); } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 2001; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 261, this._ctx); } while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER); this.state = 2004; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 2003; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) star_targets_tuple_seq() { let localctx = new Star_targets_tuple_seqContext(this, this._ctx, this.state); this.enterRule(localctx, 362, _PythonParser.RULE_star_targets_tuple_seq); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 2006; this.star_target(); this.state = 2017; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 265, this._ctx)) { case 1: { this.state = 2007; this.match(_PythonParser.COMMA); } break; case 2: { this.state = 2010; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 2008; this.match(_PythonParser.COMMA); this.state = 2009; this.star_target(); } } break; default: throw new (0, _antlr4.NoViableAltException)(this); } this.state = 2012; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 263, this._ctx); } while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER); this.state = 2015; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 2014; this.match(_PythonParser.COMMA); } } } break; } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) star_target() { let localctx = new Star_targetContext(this, this._ctx, this.state); this.enterRule(localctx, 364, _PythonParser.RULE_star_target); try { this.state = 2022; this._errHandler.sync(this); switch (this._input.LA(1)) { case 53: this.enterOuterAlt(localctx, 1); { this.state = 2019; this.match(_PythonParser.STAR); { this.state = 2020; this.star_target(); } } break; case 3: case 6: case 11: case 16: case 41: case 42: case 43: case 86: case 89: case 90: case 91: this.enterOuterAlt(localctx, 2); { this.state = 2021; this.target_with_star_atom(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) target_with_star_atom() { let localctx = new Target_with_star_atomContext(this, this._ctx, this.state); this.enterRule(localctx, 366, _PythonParser.RULE_target_with_star_atom); try { this.state = 2034; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 268, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 2024; this.t_primary(0); this.state = 2031; this._errHandler.sync(this); switch (this._input.LA(1)) { case 47: { this.state = 2025; this.match(_PythonParser.DOT); this.state = 2026; this.match(_PythonParser.NAME); } break; case 42: { this.state = 2027; this.match(_PythonParser.LSQB); this.state = 2028; this.slices(); this.state = 2029; this.match(_PythonParser.RSQB); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 2033; this.star_atom(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) star_atom() { let localctx = new Star_atomContext(this, this._ctx, this.state); this.enterRule(localctx, 368, _PythonParser.RULE_star_atom); let _la; try { this.state = 2051; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 271, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 2036; this.match(_PythonParser.NAME); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 2037; this.match(_PythonParser.LPAR); this.state = 2038; this.target_with_star_atom(); this.state = 2039; this.match(_PythonParser.RPAR); } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 2041; this.match(_PythonParser.LPAR); this.state = 2043; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 67656) !== 0 || (_la - 41 & ~31) === 0 && (1 << _la - 41 & 4103) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 2042; this.star_targets_tuple_seq(); } } this.state = 2045; this.match(_PythonParser.RPAR); } break; case 4: this.enterOuterAlt(localctx, 4); { this.state = 2046; this.match(_PythonParser.LSQB); this.state = 2048; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 67656) !== 0 || (_la - 41 & ~31) === 0 && (1 << _la - 41 & 4103) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 2047; this.star_targets_list_seq(); } } this.state = 2050; this.match(_PythonParser.RSQB); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) single_target() { let localctx = new Single_targetContext(this, this._ctx, this.state); this.enterRule(localctx, 370, _PythonParser.RULE_single_target); try { this.state = 2059; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 272, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 2053; this.single_subscript_attribute_target(); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 2054; this.match(_PythonParser.NAME); } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 2055; this.match(_PythonParser.LPAR); this.state = 2056; this.single_target(); this.state = 2057; this.match(_PythonParser.RPAR); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) single_subscript_attribute_target() { let localctx = new Single_subscript_attribute_targetContext(this, this._ctx, this.state); this.enterRule(localctx, 372, _PythonParser.RULE_single_subscript_attribute_target); try { this.enterOuterAlt(localctx, 1); { this.state = 2061; this.t_primary(0); this.state = 2068; this._errHandler.sync(this); switch (this._input.LA(1)) { case 47: { this.state = 2062; this.match(_PythonParser.DOT); this.state = 2063; this.match(_PythonParser.NAME); } break; case 42: { this.state = 2064; this.match(_PythonParser.LSQB); this.state = 2065; this.slices(); this.state = 2066; this.match(_PythonParser.RSQB); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) t_primary(_p) { if (_p === void 0) { _p = 0; } let _parentctx = this._ctx; let _parentState = this.state; let localctx = new T_primaryContext(this, this._ctx, _parentState); let _prevctx = localctx; let _startState = 374; this.enterRecursionRule(localctx, 374, _PythonParser.RULE_t_primary, _p); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { { this.state = 2071; this.atom(); } this._ctx.stop = this._input.LT(-1); this.state = 2090; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 276, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners != null) { this.triggerExitRuleEvent(); } _prevctx = localctx; { { localctx = new T_primaryContext(this, _parentctx, _parentState); this.pushNewRecursionContext(localctx, _startState, _PythonParser.RULE_t_primary); this.state = 2073; if (!this.precpred(this._ctx, 2)) { throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); } this.state = 2086; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 275, this._ctx)) { case 1: { this.state = 2074; this.match(_PythonParser.DOT); this.state = 2075; this.match(_PythonParser.NAME); } break; case 2: { this.state = 2076; this.match(_PythonParser.LSQB); this.state = 2077; this.slices(); this.state = 2078; this.match(_PythonParser.RSQB); } break; case 3: { this.state = 2080; this.genexp(); } break; case 4: { this.state = 2081; this.match(_PythonParser.LPAR); this.state = 2083; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 16845e3) !== 0 || (_la - 34 & ~31) === 0 && (1 << _la - 34 & 2148402049) !== 0 || (_la - 69 & ~31) === 0 && (1 << _la - 69 & 7471105) !== 0) { { this.state = 2082; this.arguments(); } } this.state = 2085; this.match(_PythonParser.RPAR); } break; } } } } this.state = 2092; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 276, this._ctx); } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.unrollRecursionContexts(_parentctx); } return localctx; } // @RuleVersion(0) del_targets() { let localctx = new Del_targetsContext(this, this._ctx, this.state); this.enterRule(localctx, 376, _PythonParser.RULE_del_targets); let _la; try { let _alt; this.enterOuterAlt(localctx, 1); { this.state = 2093; this.del_target(); this.state = 2098; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 277, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 2094; this.match(_PythonParser.COMMA); this.state = 2095; this.del_target(); } } } this.state = 2100; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 277, this._ctx); } this.state = 2102; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 2101; this.match(_PythonParser.COMMA); } } } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) del_target() { let localctx = new Del_targetContext(this, this._ctx, this.state); this.enterRule(localctx, 378, _PythonParser.RULE_del_target); try { this.state = 2114; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 280, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 2104; this.t_primary(0); this.state = 2111; this._errHandler.sync(this); switch (this._input.LA(1)) { case 47: { this.state = 2105; this.match(_PythonParser.DOT); this.state = 2106; this.match(_PythonParser.NAME); } break; case 42: { this.state = 2107; this.match(_PythonParser.LSQB); this.state = 2108; this.slices(); this.state = 2109; this.match(_PythonParser.RSQB); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 2113; this.del_t_atom(); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) del_t_atom() { let localctx = new Del_t_atomContext(this, this._ctx, this.state); this.enterRule(localctx, 380, _PythonParser.RULE_del_t_atom); let _la; try { this.state = 2131; this._errHandler.sync(this); switch (this._interp.adaptivePredict(this._input, 283, this._ctx)) { case 1: this.enterOuterAlt(localctx, 1); { this.state = 2116; this.match(_PythonParser.NAME); } break; case 2: this.enterOuterAlt(localctx, 2); { this.state = 2117; this.match(_PythonParser.LPAR); this.state = 2118; this.del_target(); this.state = 2119; this.match(_PythonParser.RPAR); } break; case 3: this.enterOuterAlt(localctx, 3); { this.state = 2121; this.match(_PythonParser.LPAR); this.state = 2123; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 67656) !== 0 || (_la - 41 & ~31) === 0 && (1 << _la - 41 & 7) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 2122; this.del_targets(); } } this.state = 2125; this.match(_PythonParser.RPAR); } break; case 4: this.enterOuterAlt(localctx, 4); { this.state = 2126; this.match(_PythonParser.LSQB); this.state = 2128; this._errHandler.sync(this); _la = this._input.LA(1); if ((_la & ~31) === 0 && (1 << _la & 67656) !== 0 || (_la - 41 & ~31) === 0 && (1 << _la - 41 & 7) !== 0 || (_la - 86 & ~31) === 0 && (1 << _la - 86 & 57) !== 0) { { this.state = 2127; this.del_targets(); } } this.state = 2130; this.match(_PythonParser.RSQB); } break; } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) type_expressions() { let localctx = new Type_expressionsContext(this, this._ctx, this.state); this.enterRule(localctx, 382, _PythonParser.RULE_type_expressions); let _la; try { let _alt; this.state = 2164; this._errHandler.sync(this); switch (this._input.LA(1)) { case 3: case 6: case 7: case 11: case 16: case 24: case 34: case 41: case 42: case 43: case 51: case 52: case 65: case 86: case 89: case 90: case 91: this.enterOuterAlt(localctx, 1); { this.state = 2133; this.expression(); this.state = 2138; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 284, this._ctx); while (_alt !== 2 && _alt !== _antlr4.ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 2134; this.match(_PythonParser.COMMA); this.state = 2135; this.expression(); } } } this.state = 2140; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 284, this._ctx); } this.state = 2153; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 2141; this.match(_PythonParser.COMMA); this.state = 2151; this._errHandler.sync(this); switch (this._input.LA(1)) { case 53: { this.state = 2142; this.match(_PythonParser.STAR); this.state = 2143; this.expression(); this.state = 2147; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 2144; this.match(_PythonParser.COMMA); this.state = 2145; this.match(_PythonParser.DOUBLESTAR); this.state = 2146; this.expression(); } } } break; case 69: { this.state = 2149; this.match(_PythonParser.DOUBLESTAR); this.state = 2150; this.expression(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } } } break; case 53: this.enterOuterAlt(localctx, 2); { this.state = 2155; this.match(_PythonParser.STAR); this.state = 2156; this.expression(); this.state = 2160; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === 49) { { this.state = 2157; this.match(_PythonParser.COMMA); this.state = 2158; this.match(_PythonParser.DOUBLESTAR); this.state = 2159; this.expression(); } } } break; case 69: this.enterOuterAlt(localctx, 3); { this.state = 2162; this.match(_PythonParser.DOUBLESTAR); this.state = 2163; this.expression(); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) func_type_comment() { let localctx = new Func_type_commentContext(this, this._ctx, this.state); this.enterRule(localctx, 384, _PythonParser.RULE_func_type_comment); try { this.state = 2169; this._errHandler.sync(this); switch (this._input.LA(1)) { case 93: this.enterOuterAlt(localctx, 1); { this.state = 2166; this.match(_PythonParser.NEWLINE); this.state = 2167; this.match(_PythonParser.TYPE_COMMENT); } break; case 92: this.enterOuterAlt(localctx, 2); { this.state = 2168; this.match(_PythonParser.TYPE_COMMENT); } break; default: throw new (0, _antlr4.NoViableAltException)(this); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) soft_kw_type() { let localctx = new Soft_kw_typeContext(this, this._ctx, this.state); this.enterRule(localctx, 386, _PythonParser.RULE_soft_kw_type); try { this.enterOuterAlt(localctx, 1); { this.state = 2171; if (!this.isEqualToCurrentTokenText("type")) { throw this.createFailedPredicateException('this.isEqualToCurrentTokenText("type")'); } this.state = 2172; this.match(_PythonParser.NAME); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) soft_kw_match() { let localctx = new Soft_kw_matchContext(this, this._ctx, this.state); this.enterRule(localctx, 388, _PythonParser.RULE_soft_kw_match); try { this.enterOuterAlt(localctx, 1); { this.state = 2174; if (!this.isEqualToCurrentTokenText("match")) { throw this.createFailedPredicateException('this.isEqualToCurrentTokenText("match")'); } this.state = 2175; this.match(_PythonParser.NAME); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) soft_kw_case() { let localctx = new Soft_kw_caseContext(this, this._ctx, this.state); this.enterRule(localctx, 390, _PythonParser.RULE_soft_kw_case); try { this.enterOuterAlt(localctx, 1); { this.state = 2177; if (!this.isEqualToCurrentTokenText("case")) { throw this.createFailedPredicateException('this.isEqualToCurrentTokenText("case")'); } this.state = 2178; this.match(_PythonParser.NAME); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) soft_kw_wildcard() { let localctx = new Soft_kw_wildcardContext(this, this._ctx, this.state); this.enterRule(localctx, 392, _PythonParser.RULE_soft_kw_wildcard); try { this.enterOuterAlt(localctx, 1); { this.state = 2180; if (!this.isEqualToCurrentTokenText("_")) { throw this.createFailedPredicateException('this.isEqualToCurrentTokenText("_")'); } this.state = 2181; this.match(_PythonParser.NAME); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } // @RuleVersion(0) soft_kw__not__wildcard() { let localctx = new Soft_kw__not__wildcardContext(this, this._ctx, this.state); this.enterRule(localctx, 394, _PythonParser.RULE_soft_kw__not__wildcard); try { this.enterOuterAlt(localctx, 1); { this.state = 2183; if (!this.isnotEqualToCurrentTokenText("_")) { throw this.createFailedPredicateException('this.isnotEqualToCurrentTokenText("_")'); } this.state = 2184; this.match(_PythonParser.NAME); } } catch (re) { if (re instanceof _antlr4.RecognitionException) { localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return localctx; } sempred(localctx, ruleIndex, predIndex) { switch (ruleIndex) { case 29: return this.dotted_name_sempred(localctx, predIndex); case 127: return this.bitwise_or_sempred(localctx, predIndex); case 128: return this.bitwise_xor_sempred(localctx, predIndex); case 129: return this.bitwise_and_sempred(localctx, predIndex); case 130: return this.shift_expr_sempred(localctx, predIndex); case 131: return this.sum_sempred(localctx, predIndex); case 132: return this.term_sempred(localctx, predIndex); case 136: return this.primary_sempred(localctx, predIndex); case 187: return this.t_primary_sempred(localctx, predIndex); case 193: return this.soft_kw_type_sempred(localctx, predIndex); case 194: return this.soft_kw_match_sempred(localctx, predIndex); case 195: return this.soft_kw_case_sempred(localctx, predIndex); case 196: return this.soft_kw_wildcard_sempred(localctx, predIndex); case 197: return this.soft_kw__not__wildcard_sempred(localctx, predIndex); } return true; } dotted_name_sempred(localctx, predIndex) { switch (predIndex) { case 0: return this.precpred(this._ctx, 2); } return true; } bitwise_or_sempred(localctx, predIndex) { switch (predIndex) { case 1: return this.precpred(this._ctx, 2); } return true; } bitwise_xor_sempred(localctx, predIndex) { switch (predIndex) { case 2: return this.precpred(this._ctx, 2); } return true; } bitwise_and_sempred(localctx, predIndex) { switch (predIndex) { case 3: return this.precpred(this._ctx, 2); } return true; } shift_expr_sempred(localctx, predIndex) { switch (predIndex) { case 4: return this.precpred(this._ctx, 2); } return true; } sum_sempred(localctx, predIndex) { switch (predIndex) { case 5: return this.precpred(this._ctx, 2); } return true; } term_sempred(localctx, predIndex) { switch (predIndex) { case 6: return this.precpred(this._ctx, 2); } return true; } primary_sempred(localctx, predIndex) { switch (predIndex) { case 7: return this.precpred(this._ctx, 2); } return true; } t_primary_sempred(localctx, predIndex) { switch (predIndex) { case 8: return this.precpred(this._ctx, 2); } return true; } soft_kw_type_sempred(localctx, predIndex) { switch (predIndex) { case 9: return this.isEqualToCurrentTokenText("type"); } return true; } soft_kw_match_sempred(localctx, predIndex) { switch (predIndex) { case 10: return this.isEqualToCurrentTokenText("match"); } return true; } soft_kw_case_sempred(localctx, predIndex) { switch (predIndex) { case 11: return this.isEqualToCurrentTokenText("case"); } return true; } soft_kw_wildcard_sempred(localctx, predIndex) { switch (predIndex) { case 12: return this.isEqualToCurrentTokenText("_"); } return true; } soft_kw__not__wildcard_sempred(localctx, predIndex) { switch (predIndex) { case 13: return this.isnotEqualToCurrentTokenText("_"); } return true; } static __initStatic308() {this._serializedATN = [ 4, 1, 97, 2187, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, 160, 2, 161, 7, 161, 2, 162, 7, 162, 2, 163, 7, 163, 2, 164, 7, 164, 2, 165, 7, 165, 2, 166, 7, 166, 2, 167, 7, 167, 2, 168, 7, 168, 2, 169, 7, 169, 2, 170, 7, 170, 2, 171, 7, 171, 2, 172, 7, 172, 2, 173, 7, 173, 2, 174, 7, 174, 2, 175, 7, 175, 2, 176, 7, 176, 2, 177, 7, 177, 2, 178, 7, 178, 2, 179, 7, 179, 2, 180, 7, 180, 2, 181, 7, 181, 2, 182, 7, 182, 2, 183, 7, 183, 2, 184, 7, 184, 2, 185, 7, 185, 2, 186, 7, 186, 2, 187, 7, 187, 2, 188, 7, 188, 2, 189, 7, 189, 2, 190, 7, 190, 2, 191, 7, 191, 2, 192, 7, 192, 2, 193, 7, 193, 2, 194, 7, 194, 2, 195, 7, 195, 2, 196, 7, 196, 2, 197, 7, 197, 1, 0, 3, 0, 398, 8, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 5, 2, 406, 8, 2, 10, 2, 12, 2, 409, 9, 2, 1, 2, 1, 2, 1, 3, 1, 3, 3, 3, 415, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 5, 3, 421, 8, 3, 10, 3, 12, 3, 424, 9, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 4, 5, 431, 8, 5, 11, 5, 12, 5, 432, 1, 6, 1, 6, 3, 6, 437, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 445, 8, 7, 1, 8, 1, 8, 1, 8, 5, 8, 450, 8, 8, 10, 8, 12, 8, 453, 9, 8, 1, 8, 3, 8, 456, 8, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 474, 8, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 484, 8, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 491, 8, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 498, 8, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 504, 8, 11, 1, 11, 1, 11, 1, 11, 4, 11, 509, 8, 11, 11, 11, 12, 11, 510, 1, 11, 1, 11, 3, 11, 515, 8, 11, 1, 11, 3, 11, 518, 8, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 524, 8, 11, 3, 11, 526, 8, 11, 1, 12, 1, 12, 3, 12, 530, 8, 12, 1, 13, 1, 13, 1, 14, 1, 14, 3, 14, 536, 8, 14, 1, 15, 1, 15, 1, 15, 1, 15, 3, 15, 542, 8, 15, 3, 15, 544, 8, 15, 1, 16, 1, 16, 1, 16, 1, 16, 5, 16, 550, 8, 16, 10, 16, 12, 16, 553, 9, 16, 1, 17, 1, 17, 1, 17, 1, 17, 5, 17, 559, 8, 17, 10, 17, 12, 17, 562, 9, 17, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 573, 8, 20, 1, 21, 1, 21, 3, 21, 577, 8, 21, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 5, 23, 584, 8, 23, 10, 23, 12, 23, 587, 9, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 4, 23, 595, 8, 23, 11, 23, 12, 23, 596, 1, 23, 1, 23, 3, 23, 601, 8, 23, 1, 24, 1, 24, 1, 24, 3, 24, 606, 8, 24, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24, 612, 8, 24, 1, 25, 1, 25, 1, 25, 5, 25, 617, 8, 25, 10, 25, 12, 25, 620, 9, 25, 1, 26, 1, 26, 1, 26, 3, 26, 625, 8, 26, 1, 27, 1, 27, 1, 27, 5, 27, 630, 8, 27, 10, 27, 12, 27, 633, 9, 27, 1, 28, 1, 28, 1, 28, 3, 28, 638, 8, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 5, 29, 646, 8, 29, 10, 29, 12, 29, 649, 9, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 3, 30, 657, 8, 30, 1, 31, 1, 31, 1, 31, 1, 31, 4, 31, 663, 8, 31, 11, 31, 12, 31, 664, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 671, 8, 32, 1, 33, 1, 33, 1, 33, 3, 33, 676, 8, 33, 1, 33, 1, 33, 3, 33, 680, 8, 33, 1, 33, 3, 33, 683, 8, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 692, 8, 34, 1, 35, 1, 35, 1, 35, 3, 35, 697, 8, 35, 1, 35, 1, 35, 3, 35, 701, 8, 35, 1, 35, 1, 35, 1, 35, 3, 35, 706, 8, 35, 1, 35, 1, 35, 3, 35, 710, 8, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 3, 35, 717, 8, 35, 1, 35, 1, 35, 3, 35, 721, 8, 35, 1, 35, 1, 35, 1, 35, 3, 35, 726, 8, 35, 1, 35, 1, 35, 3, 35, 730, 8, 35, 1, 35, 3, 35, 733, 8, 35, 1, 36, 1, 36, 1, 37, 1, 37, 5, 37, 739, 8, 37, 10, 37, 12, 37, 742, 9, 37, 1, 37, 5, 37, 745, 8, 37, 10, 37, 12, 37, 748, 9, 37, 1, 37, 3, 37, 751, 8, 37, 1, 37, 1, 37, 5, 37, 755, 8, 37, 10, 37, 12, 37, 758, 9, 37, 1, 37, 3, 37, 761, 8, 37, 1, 37, 4, 37, 764, 8, 37, 11, 37, 12, 37, 765, 1, 37, 5, 37, 769, 8, 37, 10, 37, 12, 37, 772, 9, 37, 1, 37, 3, 37, 775, 8, 37, 1, 37, 4, 37, 778, 8, 37, 11, 37, 12, 37, 779, 1, 37, 3, 37, 783, 8, 37, 1, 37, 3, 37, 786, 8, 37, 1, 38, 4, 38, 789, 8, 38, 11, 38, 12, 38, 790, 1, 38, 1, 38, 3, 38, 795, 8, 38, 1, 39, 5, 39, 798, 8, 39, 10, 39, 12, 39, 801, 9, 39, 1, 39, 4, 39, 804, 8, 39, 11, 39, 12, 39, 805, 1, 39, 1, 39, 3, 39, 810, 8, 39, 1, 40, 1, 40, 1, 40, 5, 40, 815, 8, 40, 10, 40, 12, 40, 818, 9, 40, 1, 40, 3, 40, 821, 8, 40, 1, 40, 1, 40, 1, 40, 5, 40, 826, 8, 40, 10, 40, 12, 40, 829, 9, 40, 1, 40, 3, 40, 832, 8, 40, 1, 40, 1, 40, 1, 40, 4, 40, 837, 8, 40, 11, 40, 12, 40, 838, 1, 40, 3, 40, 842, 8, 40, 1, 40, 3, 40, 845, 8, 40, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 3, 42, 852, 8, 42, 1, 42, 3, 42, 855, 8, 42, 1, 43, 1, 43, 3, 43, 859, 8, 43, 1, 43, 3, 43, 862, 8, 43, 1, 44, 1, 44, 1, 44, 3, 44, 867, 8, 44, 1, 44, 3, 44, 870, 8, 44, 1, 45, 1, 45, 3, 45, 874, 8, 45, 1, 45, 3, 45, 877, 8, 45, 1, 45, 3, 45, 880, 8, 45, 1, 46, 1, 46, 3, 46, 884, 8, 46, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 3, 51, 904, 8, 51, 3, 51, 906, 8, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 3, 52, 914, 8, 52, 3, 52, 916, 8, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 927, 8, 54, 1, 55, 3, 55, 930, 8, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 3, 55, 938, 8, 55, 1, 55, 1, 55, 3, 55, 942, 8, 55, 1, 56, 3, 56, 945, 8, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 952, 8, 56, 10, 56, 12, 56, 955, 9, 56, 1, 56, 3, 56, 958, 8, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 5, 56, 966, 8, 56, 10, 56, 12, 56, 969, 9, 56, 1, 56, 1, 56, 3, 56, 973, 8, 56, 3, 56, 975, 8, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 3, 57, 982, 8, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 4, 58, 993, 8, 58, 11, 58, 12, 58, 994, 1, 58, 3, 58, 998, 8, 58, 1, 58, 3, 58, 1001, 8, 58, 1, 58, 1, 58, 1, 58, 1, 58, 4, 58, 1007, 8, 58, 11, 58, 12, 58, 1008, 1, 58, 3, 58, 1012, 8, 58, 1, 58, 3, 58, 1015, 8, 58, 3, 58, 1017, 8, 58, 1, 59, 1, 59, 1, 59, 1, 59, 3, 59, 1023, 8, 59, 3, 59, 1025, 8, 59, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 3, 60, 1035, 8, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 4, 62, 1050, 8, 62, 11, 62, 12, 62, 1051, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 3, 63, 1059, 8, 63, 1, 63, 3, 63, 1062, 8, 63, 1, 64, 1, 64, 1, 64, 3, 64, 1067, 8, 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 3, 66, 1077, 8, 66, 1, 67, 1, 67, 3, 67, 1081, 8, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 5, 69, 1090, 8, 69, 10, 69, 12, 69, 1093, 9, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 3, 70, 1103, 8, 70, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 3, 71, 1111, 8, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 3, 72, 1119, 8, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 74, 3, 74, 1126, 8, 74, 1, 74, 1, 74, 1, 75, 3, 75, 1131, 8, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 77, 1, 77, 1, 78, 1, 78, 1, 79, 1, 79, 1, 80, 1, 80, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 4, 82, 1150, 8, 82, 11, 82, 12, 82, 1151, 1, 83, 1, 83, 1, 83, 5, 83, 1157, 8, 83, 10, 83, 12, 83, 1160, 9, 83, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 3, 85, 1168, 8, 85, 1, 85, 1, 85, 1, 85, 3, 85, 1173, 8, 85, 1, 85, 3, 85, 1176, 8, 85, 1, 86, 1, 86, 1, 86, 3, 86, 1181, 8, 86, 1, 87, 1, 87, 1, 87, 5, 87, 1186, 8, 87, 10, 87, 12, 87, 1189, 9, 87, 1, 87, 3, 87, 1192, 8, 87, 1, 88, 1, 88, 3, 88, 1196, 8, 88, 1, 89, 1, 89, 1, 89, 1, 89, 3, 89, 1202, 8, 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 3, 90, 1209, 8, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 3, 90, 1217, 8, 90, 1, 90, 3, 90, 1220, 8, 90, 1, 90, 1, 90, 3, 90, 1224, 8, 90, 1, 91, 1, 91, 1, 91, 5, 91, 1229, 8, 91, 10, 91, 12, 91, 1232, 9, 91, 1, 92, 1, 92, 3, 92, 1236, 8, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 3, 94, 1249, 8, 94, 1, 94, 3, 94, 1252, 8, 94, 1, 94, 3, 94, 1255, 8, 94, 3, 94, 1257, 8, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 5, 95, 1264, 8, 95, 10, 95, 12, 95, 1267, 9, 95, 1, 96, 1, 96, 1, 96, 5, 96, 1272, 8, 96, 10, 96, 12, 96, 1275, 9, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 3, 98, 1284, 8, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 5, 100, 1296, 8, 100, 10, 100, 12, 100, 1299, 9, 100, 1, 100, 3, 100, 1302, 8, 100, 1, 101, 1, 101, 3, 101, 1306, 8, 101, 1, 101, 1, 101, 1, 101, 1, 101, 3, 101, 1312, 8, 101, 1, 101, 1, 101, 1, 101, 1, 101, 3, 101, 1318, 8, 101, 3, 101, 1320, 8, 101, 1, 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, 5, 103, 1328, 8, 103, 10, 103, 12, 103, 1331, 9, 103, 1, 103, 3, 103, 1334, 8, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 3, 104, 1342, 8, 104, 1, 104, 3, 104, 1345, 8, 104, 1, 105, 1, 105, 1, 105, 1, 105, 3, 105, 1351, 8, 105, 3, 105, 1353, 8, 105, 1, 106, 1, 106, 1, 106, 5, 106, 1358, 8, 106, 10, 106, 12, 106, 1361, 9, 106, 1, 106, 3, 106, 1364, 8, 106, 1, 107, 1, 107, 1, 107, 3, 107, 1369, 8, 107, 1, 108, 1, 108, 1, 108, 5, 108, 1374, 8, 108, 10, 108, 12, 108, 1377, 9, 108, 1, 108, 3, 108, 1380, 8, 108, 1, 109, 1, 109, 1, 109, 3, 109, 1385, 8, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 3, 111, 1393, 8, 111, 1, 112, 1, 112, 1, 112, 5, 112, 1398, 8, 112, 10, 112, 12, 112, 1401, 9, 112, 1, 113, 1, 113, 1, 113, 5, 113, 1406, 8, 113, 10, 113, 12, 113, 1409, 9, 113, 1, 114, 1, 114, 1, 114, 3, 114, 1414, 8, 114, 1, 115, 1, 115, 5, 115, 1418, 8, 115, 10, 115, 12, 115, 1421, 9, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 3, 116, 1433, 8, 116, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 5, 127, 1473, 8, 127, 10, 127, 12, 127, 1476, 9, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 5, 128, 1484, 8, 128, 10, 128, 12, 128, 1487, 9, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 5, 129, 1495, 8, 129, 10, 129, 12, 129, 1498, 9, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 5, 130, 1506, 8, 130, 10, 130, 12, 130, 1509, 9, 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 5, 131, 1517, 8, 131, 10, 131, 12, 131, 1520, 9, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 5, 132, 1528, 8, 132, 10, 132, 12, 132, 1531, 9, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 3, 133, 1540, 8, 133, 1, 134, 1, 134, 1, 134, 3, 134, 1545, 8, 134, 1, 135, 1, 135, 1, 135, 3, 135, 1550, 8, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 3, 136, 1561, 8, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 3, 136, 1568, 8, 136, 5, 136, 1570, 8, 136, 10, 136, 12, 136, 1573, 9, 136, 1, 137, 1, 137, 1, 137, 3, 137, 1578, 8, 137, 1, 137, 1, 137, 1, 137, 3, 137, 1583, 8, 137, 5, 137, 1585, 8, 137, 10, 137, 12, 137, 1588, 9, 137, 1, 137, 3, 137, 1591, 8, 137, 3, 137, 1593, 8, 137, 1, 138, 3, 138, 1596, 8, 138, 1, 138, 1, 138, 3, 138, 1600, 8, 138, 1, 138, 1, 138, 3, 138, 1604, 8, 138, 3, 138, 1606, 8, 138, 1, 138, 3, 138, 1609, 8, 138, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 3, 139, 1620, 8, 139, 1, 139, 1, 139, 3, 139, 1624, 8, 139, 1, 139, 1, 139, 1, 139, 1, 139, 3, 139, 1630, 8, 139, 1, 139, 3, 139, 1633, 8, 139, 1, 140, 1, 140, 1, 140, 3, 140, 1638, 8, 140, 1, 140, 1, 140, 1, 141, 1, 141, 3, 141, 1644, 8, 141, 1, 141, 1, 141, 1, 141, 1, 142, 1, 142, 1, 143, 1, 143, 5, 143, 1653, 8, 143, 10, 143, 12, 143, 1656, 9, 143, 1, 143, 5, 143, 1659, 8, 143, 10, 143, 12, 143, 1662, 9, 143, 1, 143, 3, 143, 1665, 8, 143, 1, 143, 1, 143, 5, 143, 1669, 8, 143, 10, 143, 12, 143, 1672, 9, 143, 1, 143, 3, 143, 1675, 8, 143, 1, 143, 4, 143, 1678, 8, 143, 11, 143, 12, 143, 1679, 1, 143, 5, 143, 1683, 8, 143, 10, 143, 12, 143, 1686, 9, 143, 1, 143, 3, 143, 1689, 8, 143, 1, 143, 4, 143, 1692, 8, 143, 11, 143, 12, 143, 1693, 1, 143, 3, 143, 1697, 8, 143, 1, 143, 3, 143, 1700, 8, 143, 1, 144, 4, 144, 1703, 8, 144, 11, 144, 12, 144, 1704, 1, 144, 1, 144, 3, 144, 1709, 8, 144, 1, 145, 5, 145, 1712, 8, 145, 10, 145, 12, 145, 1715, 9, 145, 1, 145, 4, 145, 1718, 8, 145, 11, 145, 12, 145, 1719, 1, 145, 1, 145, 3, 145, 1724, 8, 145, 1, 146, 1, 146, 1, 146, 5, 146, 1729, 8, 146, 10, 146, 12, 146, 1732, 9, 146, 1, 146, 3, 146, 1735, 8, 146, 1, 146, 1, 146, 1, 146, 4, 146, 1740, 8, 146, 11, 146, 12, 146, 1741, 1, 146, 3, 146, 1745, 8, 146, 1, 146, 3, 146, 1748, 8, 146, 1, 147, 1, 147, 1, 147, 1, 148, 1, 148, 3, 148, 1755, 8, 148, 1, 149, 1, 149, 1, 149, 3, 149, 1760, 8, 149, 1, 150, 1, 150, 3, 150, 1764, 8, 150, 1, 150, 3, 150, 1767, 8, 150, 1, 151, 1, 151, 1, 152, 1, 152, 3, 152, 1773, 8, 152, 1, 153, 1, 153, 1, 153, 3, 153, 1778, 8, 153, 1, 153, 3, 153, 1781, 8, 153, 1, 153, 3, 153, 1784, 8, 153, 1, 153, 3, 153, 1787, 8, 153, 1, 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 155, 1, 155, 5, 155, 1796, 8, 155, 10, 155, 12, 155, 1799, 9, 155, 1, 156, 1, 156, 3, 156, 1803, 8, 156, 1, 157, 1, 157, 5, 157, 1807, 8, 157, 10, 157, 12, 157, 1810, 9, 157, 1, 157, 1, 157, 1, 158, 1, 158, 1, 159, 1, 159, 4, 159, 1818, 8, 159, 11, 159, 12, 159, 1819, 1, 160, 1, 160, 3, 160, 1824, 8, 160, 1, 160, 1, 160, 1, 161, 1, 161, 1, 161, 1, 161, 3, 161, 1832, 8, 161, 3, 161, 1834, 8, 161, 1, 161, 1, 161, 1, 162, 1, 162, 1, 162, 1, 162, 1, 163, 1, 163, 3, 163, 1844, 8, 163, 1, 163, 1, 163, 1, 164, 1, 164, 1, 164, 5, 164, 1851, 8, 164, 10, 164, 12, 164, 1854, 9, 164, 1, 164, 3, 164, 1857, 8, 164, 1, 165, 1, 165, 1, 165, 3, 165, 1862, 8, 165, 1, 166, 1, 166, 1, 166, 1, 166, 1, 167, 4, 167, 1869, 8, 167, 11, 167, 12, 167, 1870, 1, 168, 3, 168, 1874, 8, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 5, 168, 1882, 8, 168, 10, 168, 12, 168, 1885, 9, 168, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 171, 1, 171, 1, 171, 3, 171, 1900, 8, 171, 1, 171, 1, 171, 1, 171, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 173, 1, 173, 3, 173, 1912, 8, 173, 1, 174, 1, 174, 1, 174, 3, 174, 1917, 8, 174, 3, 174, 1919, 8, 174, 1, 174, 1, 174, 1, 174, 1, 174, 3, 174, 1925, 8, 174, 3, 174, 1927, 8, 174, 5, 174, 1929, 8, 174, 10, 174, 12, 174, 1932, 9, 174, 1, 174, 1, 174, 3, 174, 1936, 8, 174, 1, 174, 3, 174, 1939, 8, 174, 1, 175, 1, 175, 1, 175, 5, 175, 1944, 8, 175, 10, 175, 12, 175, 1947, 9, 175, 1, 175, 1, 175, 1, 175, 1, 175, 5, 175, 1953, 8, 175, 10, 175, 12, 175, 1956, 9, 175, 3, 175, 1958, 8, 175, 1, 175, 1, 175, 1, 175, 5, 175, 1963, 8, 175, 10, 175, 12, 175, 1966, 9, 175, 3, 175, 1968, 8, 175, 1, 176, 1, 176, 1, 176, 1, 177, 1, 177, 1, 177, 1, 177, 3, 177, 1977, 8, 177, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 3, 178, 1984, 8, 178, 1, 179, 1, 179, 1, 179, 5, 179, 1989, 8, 179, 10, 179, 12, 179, 1992, 9, 179, 1, 179, 3, 179, 1995, 8, 179, 1, 180, 1, 180, 1, 180, 4, 180, 2e3, 8, 180, 11, 180, 12, 180, 2001, 1, 180, 3, 180, 2005, 8, 180, 1, 181, 1, 181, 1, 181, 1, 181, 4, 181, 2011, 8, 181, 11, 181, 12, 181, 2012, 1, 181, 3, 181, 2016, 8, 181, 3, 181, 2018, 8, 181, 1, 182, 1, 182, 1, 182, 3, 182, 2023, 8, 182, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 3, 183, 2032, 8, 183, 1, 183, 3, 183, 2035, 8, 183, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 3, 184, 2044, 8, 184, 1, 184, 1, 184, 1, 184, 3, 184, 2049, 8, 184, 1, 184, 3, 184, 2052, 8, 184, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 3, 185, 2060, 8, 185, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 3, 186, 2069, 8, 186, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 3, 187, 2084, 8, 187, 1, 187, 3, 187, 2087, 8, 187, 5, 187, 2089, 8, 187, 10, 187, 12, 187, 2092, 9, 187, 1, 188, 1, 188, 1, 188, 5, 188, 2097, 8, 188, 10, 188, 12, 188, 2100, 9, 188, 1, 188, 3, 188, 2103, 8, 188, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 3, 189, 2112, 8, 189, 1, 189, 3, 189, 2115, 8, 189, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 3, 190, 2124, 8, 190, 1, 190, 1, 190, 1, 190, 3, 190, 2129, 8, 190, 1, 190, 3, 190, 2132, 8, 190, 1, 191, 1, 191, 1, 191, 5, 191, 2137, 8, 191, 10, 191, 12, 191, 2140, 9, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 3, 191, 2148, 8, 191, 1, 191, 1, 191, 3, 191, 2152, 8, 191, 3, 191, 2154, 8, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 3, 191, 2161, 8, 191, 1, 191, 1, 191, 3, 191, 2165, 8, 191, 1, 192, 1, 192, 1, 192, 3, 192, 2170, 8, 192, 1, 193, 1, 193, 1, 193, 1, 194, 1, 194, 1, 194, 1, 195, 1, 195, 1, 195, 1, 196, 1, 196, 1, 196, 1, 197, 1, 197, 1, 197, 1, 197, 0, 9, 58, 254, 256, 258, 260, 262, 264, 272, 374, 198, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344, 346, 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, 372, 374, 376, 378, 380, 382, 384, 386, 388, 390, 392, 394, 0, 5, 3, 0, 70, 80, 82, 82, 84, 84, 2, 0, 47, 47, 86, 86, 1, 0, 51, 52, 1, 0, 67, 68, 4, 0, 53, 54, 60, 60, 81, 81, 83, 83, 2359, 0, 397, 1, 0, 0, 0, 2, 401, 1, 0, 0, 0, 4, 403, 1, 0, 0, 0, 6, 412, 1, 0, 0, 0, 8, 427, 1, 0, 0, 0, 10, 430, 1, 0, 0, 0, 12, 436, 1, 0, 0, 0, 14, 444, 1, 0, 0, 0, 16, 446, 1, 0, 0, 0, 18, 473, 1, 0, 0, 0, 20, 483, 1, 0, 0, 0, 22, 525, 1, 0, 0, 0, 24, 529, 1, 0, 0, 0, 26, 531, 1, 0, 0, 0, 28, 533, 1, 0, 0, 0, 30, 537, 1, 0, 0, 0, 32, 545, 1, 0, 0, 0, 34, 554, 1, 0, 0, 0, 36, 563, 1, 0, 0, 0, 38, 566, 1, 0, 0, 0, 40, 568, 1, 0, 0, 0, 42, 576, 1, 0, 0, 0, 44, 578, 1, 0, 0, 0, 46, 600, 1, 0, 0, 0, 48, 611, 1, 0, 0, 0, 50, 613, 1, 0, 0, 0, 52, 621, 1, 0, 0, 0, 54, 626, 1, 0, 0, 0, 56, 634, 1, 0, 0, 0, 58, 639, 1, 0, 0, 0, 60, 656, 1, 0, 0, 0, 62, 662, 1, 0, 0, 0, 64, 670, 1, 0, 0, 0, 66, 672, 1, 0, 0, 0, 68, 691, 1, 0, 0, 0, 70, 732, 1, 0, 0, 0, 72, 734, 1, 0, 0, 0, 74, 785, 1, 0, 0, 0, 76, 788, 1, 0, 0, 0, 78, 799, 1, 0, 0, 0, 80, 844, 1, 0, 0, 0, 82, 846, 1, 0, 0, 0, 84, 849, 1, 0, 0, 0, 86, 856, 1, 0, 0, 0, 88, 863, 1, 0, 0, 0, 90, 871, 1, 0, 0, 0, 92, 881, 1, 0, 0, 0, 94, 885, 1, 0, 0, 0, 96, 888, 1, 0, 0, 0, 98, 891, 1, 0, 0, 0, 100, 894, 1, 0, 0, 0, 102, 897, 1, 0, 0, 0, 104, 907, 1, 0, 0, 0, 106, 917, 1, 0, 0, 0, 108, 921, 1, 0, 0, 0, 110, 929, 1, 0, 0, 0, 112, 944, 1, 0, 0, 0, 114, 978, 1, 0, 0, 0, 116, 1016, 1, 0, 0, 0, 118, 1018, 1, 0, 0, 0, 120, 1029, 1, 0, 0, 0, 122, 1039, 1, 0, 0, 0, 124, 1043, 1, 0, 0, 0, 126, 1061, 1, 0, 0, 0, 128, 1063, 1, 0, 0, 0, 130, 1071, 1, 0, 0, 0, 132, 1076, 1, 0, 0, 0, 134, 1080, 1, 0, 0, 0, 136, 1082, 1, 0, 0, 0, 138, 1086, 1, 0, 0, 0, 140, 1102, 1, 0, 0, 0, 142, 1110, 1, 0, 0, 0, 144, 1118, 1, 0, 0, 0, 146, 1120, 1, 0, 0, 0, 148, 1125, 1, 0, 0, 0, 150, 1130, 1, 0, 0, 0, 152, 1134, 1, 0, 0, 0, 154, 1136, 1, 0, 0, 0, 156, 1138, 1, 0, 0, 0, 158, 1140, 1, 0, 0, 0, 160, 1142, 1, 0, 0, 0, 162, 1144, 1, 0, 0, 0, 164, 1146, 1, 0, 0, 0, 166, 1153, 1, 0, 0, 0, 168, 1161, 1, 0, 0, 0, 170, 1175, 1, 0, 0, 0, 172, 1177, 1, 0, 0, 0, 174, 1182, 1, 0, 0, 0, 176, 1195, 1, 0, 0, 0, 178, 1201, 1, 0, 0, 0, 180, 1223, 1, 0, 0, 0, 182, 1225, 1, 0, 0, 0, 184, 1235, 1, 0, 0, 0, 186, 1240, 1, 0, 0, 0, 188, 1243, 1, 0, 0, 0, 190, 1260, 1, 0, 0, 0, 192, 1268, 1, 0, 0, 0, 194, 1276, 1, 0, 0, 0, 196, 1280, 1, 0, 0, 0, 198, 1288, 1, 0, 0, 0, 200, 1292, 1, 0, 0, 0, 202, 1319, 1, 0, 0, 0, 204, 1321, 1, 0, 0, 0, 206, 1324, 1, 0, 0, 0, 208, 1344, 1, 0, 0, 0, 210, 1346, 1, 0, 0, 0, 212, 1354, 1, 0, 0, 0, 214, 1368, 1, 0, 0, 0, 216, 1370, 1, 0, 0, 0, 218, 1384, 1, 0, 0, 0, 220, 1386, 1, 0, 0, 0, 222, 1392, 1, 0, 0, 0, 224, 1394, 1, 0, 0, 0, 226, 1402, 1, 0, 0, 0, 228, 1413, 1, 0, 0, 0, 230, 1415, 1, 0, 0, 0, 232, 1432, 1, 0, 0, 0, 234, 1434, 1, 0, 0, 0, 236, 1437, 1, 0, 0, 0, 238, 1440, 1, 0, 0, 0, 240, 1443, 1, 0, 0, 0, 242, 1446, 1, 0, 0, 0, 244, 1449, 1, 0, 0, 0, 246, 1452, 1, 0, 0, 0, 248, 1456, 1, 0, 0, 0, 250, 1459, 1, 0, 0, 0, 252, 1463, 1, 0, 0, 0, 254, 1466, 1, 0, 0, 0, 256, 1477, 1, 0, 0, 0, 258, 1488, 1, 0, 0, 0, 260, 1499, 1, 0, 0, 0, 262, 1510, 1, 0, 0, 0, 264, 1521, 1, 0, 0, 0, 266, 1539, 1, 0, 0, 0, 268, 1541, 1, 0, 0, 0, 270, 1549, 1, 0, 0, 0, 272, 1551, 1, 0, 0, 0, 274, 1592, 1, 0, 0, 0, 276, 1608, 1, 0, 0, 0, 278, 1632, 1, 0, 0, 0, 280, 1634, 1, 0, 0, 0, 282, 1641, 1, 0, 0, 0, 284, 1648, 1, 0, 0, 0, 286, 1699, 1, 0, 0, 0, 288, 1702, 1, 0, 0, 0, 290, 1713, 1, 0, 0, 0, 292, 1747, 1, 0, 0, 0, 294, 1749, 1, 0, 0, 0, 296, 1752, 1, 0, 0, 0, 298, 1756, 1, 0, 0, 0, 300, 1761, 1, 0, 0, 0, 302, 1768, 1, 0, 0, 0, 304, 1772, 1, 0, 0, 0, 306, 1774, 1, 0, 0, 0, 308, 1790, 1, 0, 0, 0, 310, 1793, 1, 0, 0, 0, 312, 1802, 1, 0, 0, 0, 314, 1804, 1, 0, 0, 0, 316, 1813, 1, 0, 0, 0, 318, 1817, 1, 0, 0, 0, 320, 1821, 1, 0, 0, 0, 322, 1827, 1, 0, 0, 0, 324, 1837, 1, 0, 0, 0, 326, 1841, 1, 0, 0, 0, 328, 1847, 1, 0, 0, 0, 330, 1861, 1, 0, 0, 0, 332, 1863, 1, 0, 0, 0, 334, 1868, 1, 0, 0, 0, 336, 1873, 1, 0, 0, 0, 338, 1886, 1, 0, 0, 0, 340, 1891, 1, 0, 0, 0, 342, 1896, 1, 0, 0, 0, 344, 1904, 1, 0, 0, 0, 346, 1909, 1, 0, 0, 0, 348, 1938, 1, 0, 0, 0, 350, 1967, 1, 0, 0, 0, 352, 1969, 1, 0, 0, 0, 354, 1976, 1, 0, 0, 0, 356, 1983, 1, 0, 0, 0, 358, 1985, 1, 0, 0, 0, 360, 1996, 1, 0, 0, 0, 362, 2006, 1, 0, 0, 0, 364, 2022, 1, 0, 0, 0, 366, 2034, 1, 0, 0, 0, 368, 2051, 1, 0, 0, 0, 370, 2059, 1, 0, 0, 0, 372, 2061, 1, 0, 0, 0, 374, 2070, 1, 0, 0, 0, 376, 2093, 1, 0, 0, 0, 378, 2114, 1, 0, 0, 0, 380, 2131, 1, 0, 0, 0, 382, 2164, 1, 0, 0, 0, 384, 2169, 1, 0, 0, 0, 386, 2171, 1, 0, 0, 0, 388, 2174, 1, 0, 0, 0, 390, 2177, 1, 0, 0, 0, 392, 2180, 1, 0, 0, 0, 394, 2183, 1, 0, 0, 0, 396, 398, 3, 10, 5, 0, 397, 396, 1, 0, 0, 0, 397, 398, 1, 0, 0, 0, 398, 399, 1, 0, 0, 0, 399, 400, 5, 0, 0, 1, 400, 1, 1, 0, 0, 0, 401, 402, 3, 14, 7, 0, 402, 3, 1, 0, 0, 0, 403, 407, 3, 206, 103, 0, 404, 406, 5, 93, 0, 0, 405, 404, 1, 0, 0, 0, 406, 409, 1, 0, 0, 0, 407, 405, 1, 0, 0, 0, 407, 408, 1, 0, 0, 0, 408, 410, 1, 0, 0, 0, 409, 407, 1, 0, 0, 0, 410, 411, 5, 0, 0, 1, 411, 5, 1, 0, 0, 0, 412, 414, 5, 41, 0, 0, 413, 415, 3, 382, 191, 0, 414, 413, 1, 0, 0, 0, 414, 415, 1, 0, 0, 0, 415, 416, 1, 0, 0, 0, 416, 417, 5, 44, 0, 0, 417, 418, 5, 85, 0, 0, 418, 422, 3, 208, 104, 0, 419, 421, 5, 93, 0, 0, 420, 419, 1, 0, 0, 0, 421, 424, 1, 0, 0, 0, 422, 420, 1, 0, 0, 0, 422, 423, 1, 0, 0, 0, 423, 425, 1, 0, 0, 0, 424, 422, 1, 0, 0, 0, 425, 426, 5, 0, 0, 1, 426, 7, 1, 0, 0, 0, 427, 428, 3, 212, 106, 0, 428, 9, 1, 0, 0, 0, 429, 431, 3, 12, 6, 0, 430, 429, 1, 0, 0, 0, 431, 432, 1, 0, 0, 0, 432, 430, 1, 0, 0, 0, 432, 433, 1, 0, 0, 0, 433, 11, 1, 0, 0, 0, 434, 437, 3, 20, 10, 0, 435, 437, 3, 16, 8, 0, 436, 434, 1, 0, 0, 0, 436, 435, 1, 0, 0, 0, 437, 13, 1, 0, 0, 0, 438, 439, 3, 20, 10, 0, 439, 440, 5, 93, 0, 0, 440, 445, 1, 0, 0, 0, 441, 445, 3, 16, 8, 0, 442, 445, 5, 93, 0, 0, 443, 445, 5, 0, 0, 1, 444, 438, 1, 0, 0, 0, 444, 441, 1, 0, 0, 0, 444, 442, 1, 0, 0, 0, 444, 443, 1, 0, 0, 0, 445, 15, 1, 0, 0, 0, 446, 451, 3, 18, 9, 0, 447, 448, 5, 50, 0, 0, 448, 450, 3, 18, 9, 0, 449, 447, 1, 0, 0, 0, 450, 453, 1, 0, 0, 0, 451, 449, 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 455, 1, 0, 0, 0, 453, 451, 1, 0, 0, 0, 454, 456, 5, 50, 0, 0, 455, 454, 1, 0, 0, 0, 455, 456, 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457, 458, 5, 93, 0, 0, 458, 17, 1, 0, 0, 0, 459, 474, 3, 22, 11, 0, 460, 474, 3, 196, 98, 0, 461, 474, 3, 212, 106, 0, 462, 474, 3, 28, 14, 0, 463, 474, 3, 42, 21, 0, 464, 474, 3, 30, 15, 0, 465, 474, 5, 10, 0, 0, 466, 474, 3, 36, 18, 0, 467, 474, 3, 38, 19, 0, 468, 474, 3, 40, 20, 0, 469, 474, 5, 12, 0, 0, 470, 474, 5, 22, 0, 0, 471, 474, 3, 32, 16, 0, 472, 474, 3, 34, 17, 0, 473, 459, 1, 0, 0, 0, 473, 460, 1, 0, 0, 0, 473, 461, 1, 0, 0, 0, 473, 462, 1, 0, 0, 0, 473, 463, 1, 0, 0, 0, 473, 464, 1, 0, 0, 0, 473, 465, 1, 0, 0, 0, 473, 466, 1, 0, 0, 0, 473, 467, 1, 0, 0, 0, 473, 468, 1, 0, 0, 0, 473, 469, 1, 0, 0, 0, 473, 470, 1, 0, 0, 0, 473, 471, 1, 0, 0, 0, 473, 472, 1, 0, 0, 0, 474, 19, 1, 0, 0, 0, 475, 484, 3, 68, 34, 0, 476, 484, 3, 102, 51, 0, 477, 484, 3, 64, 32, 0, 478, 484, 3, 112, 56, 0, 479, 484, 3, 110, 55, 0, 480, 484, 3, 116, 58, 0, 481, 484, 3, 108, 54, 0, 482, 484, 3, 124, 62, 0, 483, 475, 1, 0, 0, 0, 483, 476, 1, 0, 0, 0, 483, 477, 1, 0, 0, 0, 483, 478, 1, 0, 0, 0, 483, 479, 1, 0, 0, 0, 483, 480, 1, 0, 0, 0, 483, 481, 1, 0, 0, 0, 483, 482, 1, 0, 0, 0, 484, 21, 1, 0, 0, 0, 485, 486, 5, 89, 0, 0, 486, 487, 5, 48, 0, 0, 487, 490, 3, 208, 104, 0, 488, 489, 5, 59, 0, 0, 489, 491, 3, 24, 12, 0, 490, 488, 1, 0, 0, 0, 490, 491, 1, 0, 0, 0, 491, 526, 1, 0, 0, 0, 492, 493, 5, 41, 0, 0, 493, 494, 3, 370, 185, 0, 494, 495, 5, 44, 0, 0, 495, 498, 1, 0, 0, 0, 496, 498, 3, 372, 186, 0, 497, 492, 1, 0, 0, 0, 497, 496, 1, 0, 0, 0, 498, 499, 1, 0, 0, 0, 499, 500, 5, 48, 0, 0, 500, 503, 3, 208, 104, 0, 501, 502, 5, 59, 0, 0, 502, 504, 3, 24, 12, 0, 503, 501, 1, 0, 0, 0, 503, 504, 1, 0, 0, 0, 504, 526, 1, 0, 0, 0, 505, 506, 3, 358, 179, 0, 506, 507, 5, 59, 0, 0, 507, 509, 1, 0, 0, 0, 508, 505, 1, 0, 0, 0, 509, 510, 1, 0, 0, 0, 510, 508, 1, 0, 0, 0, 510, 511, 1, 0, 0, 0, 511, 514, 1, 0, 0, 0, 512, 515, 3, 210, 105, 0, 513, 515, 3, 212, 106, 0, 514, 512, 1, 0, 0, 0, 514, 513, 1, 0, 0, 0, 515, 517, 1, 0, 0, 0, 516, 518, 5, 92, 0, 0, 517, 516, 1, 0, 0, 0, 517, 518, 1, 0, 0, 0, 518, 526, 1, 0, 0, 0, 519, 520, 3, 370, 185, 0, 520, 523, 3, 26, 13, 0, 521, 524, 3, 210, 105, 0, 522, 524, 3, 212, 106, 0, 523, 521, 1, 0, 0, 0, 523, 522, 1, 0, 0, 0, 524, 526, 1, 0, 0, 0, 525, 485, 1, 0, 0, 0, 525, 497, 1, 0, 0, 0, 525, 508, 1, 0, 0, 0, 525, 519, 1, 0, 0, 0, 526, 23, 1, 0, 0, 0, 527, 530, 3, 210, 105, 0, 528, 530, 3, 212, 106, 0, 529, 527, 1, 0, 0, 0, 529, 528, 1, 0, 0, 0, 530, 25, 1, 0, 0, 0, 531, 532, 7, 0, 0, 0, 532, 27, 1, 0, 0, 0, 533, 535, 5, 20, 0, 0, 534, 536, 3, 212, 106, 0, 535, 534, 1, 0, 0, 0, 535, 536, 1, 0, 0, 0, 536, 29, 1, 0, 0, 0, 537, 543, 5, 15, 0, 0, 538, 541, 3, 208, 104, 0, 539, 540, 5, 28, 0, 0, 540, 542, 3, 208, 104, 0, 541, 539, 1, 0, 0, 0, 541, 542, 1, 0, 0, 0, 542, 544, 1, 0, 0, 0, 543, 538, 1, 0, 0, 0, 543, 544, 1, 0, 0, 0, 544, 31, 1, 0, 0, 0, 545, 546, 5, 33, 0, 0, 546, 551, 5, 89, 0, 0, 547, 548, 5, 49, 0, 0, 548, 550, 5, 89, 0, 0, 549, 547, 1, 0, 0, 0, 550, 553, 1, 0, 0, 0, 551, 549, 1, 0, 0, 0, 551, 552, 1, 0, 0, 0, 552, 33, 1, 0, 0, 0, 553, 551, 1, 0, 0, 0, 554, 555, 5, 29, 0, 0, 555, 560, 5, 89, 0, 0, 556, 557, 5, 49, 0, 0, 557, 559, 5, 89, 0, 0, 558, 556, 1, 0, 0, 0, 559, 562, 1, 0, 0, 0, 560, 558, 1, 0, 0, 0, 560, 561, 1, 0, 0, 0, 561, 35, 1, 0, 0, 0, 562, 560, 1, 0, 0, 0, 563, 564, 5, 32, 0, 0, 564, 565, 3, 376, 188, 0, 565, 37, 1, 0, 0, 0, 566, 567, 3, 210, 105, 0, 567, 39, 1, 0, 0, 0, 568, 569, 5, 31, 0, 0, 569, 572, 3, 208, 104, 0, 570, 571, 5, 49, 0, 0, 571, 573, 3, 208, 104, 0, 572, 570, 1, 0, 0, 0, 572, 573, 1, 0, 0, 0, 573, 41, 1, 0, 0, 0, 574, 577, 3, 44, 22, 0, 575, 577, 3, 46, 23, 0, 576, 574, 1, 0, 0, 0, 576, 575, 1, 0, 0, 0, 577, 43, 1, 0, 0, 0, 578, 579, 5, 9, 0, 0, 579, 580, 3, 54, 27, 0, 580, 45, 1, 0, 0, 0, 581, 585, 5, 28, 0, 0, 582, 584, 7, 1, 0, 0, 583, 582, 1, 0, 0, 0, 584, 587, 1, 0, 0, 0, 585, 583, 1, 0, 0, 0, 585, 586, 1, 0, 0, 0, 586, 588, 1, 0, 0, 0, 587, 585, 1, 0, 0, 0, 588, 589, 3, 58, 29, 0, 589, 590, 5, 9, 0, 0, 590, 591, 3, 48, 24, 0, 591, 601, 1, 0, 0, 0, 592, 594, 5, 28, 0, 0, 593, 595, 7, 1, 0, 0, 594, 593, 1, 0, 0, 0, 595, 596, 1, 0, 0, 0, 596, 594, 1, 0, 0, 0, 596, 597, 1, 0, 0, 0, 597, 598, 1, 0, 0, 0, 598, 599, 5, 9, 0, 0, 599, 601, 3, 48, 24, 0, 600, 581, 1, 0, 0, 0, 600, 592, 1, 0, 0, 0, 601, 47, 1, 0, 0, 0, 602, 603, 5, 41, 0, 0, 603, 605, 3, 50, 25, 0, 604, 606, 5, 49, 0, 0, 605, 604, 1, 0, 0, 0, 605, 606, 1, 0, 0, 0, 606, 607, 1, 0, 0, 0, 607, 608, 5, 44, 0, 0, 608, 612, 1, 0, 0, 0, 609, 612, 3, 50, 25, 0, 610, 612, 5, 53, 0, 0, 611, 602, 1, 0, 0, 0, 611, 609, 1, 0, 0, 0, 611, 610, 1, 0, 0, 0, 612, 49, 1, 0, 0, 0, 613, 618, 3, 52, 26, 0, 614, 615, 5, 49, 0, 0, 615, 617, 3, 52, 26, 0, 616, 614, 1, 0, 0, 0, 617, 620, 1, 0, 0, 0, 618, 616, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 51, 1, 0, 0, 0, 620, 618, 1, 0, 0, 0, 621, 624, 5, 89, 0, 0, 622, 623, 5, 26, 0, 0, 623, 625, 5, 89, 0, 0, 624, 622, 1, 0, 0, 0, 624, 625, 1, 0, 0, 0, 625, 53, 1, 0, 0, 0, 626, 631, 3, 56, 28, 0, 627, 628, 5, 49, 0, 0, 628, 630, 3, 56, 28, 0, 629, 627, 1, 0, 0, 0, 630, 633, 1, 0, 0, 0, 631, 629, 1, 0, 0, 0, 631, 632, 1, 0, 0, 0, 632, 55, 1, 0, 0, 0, 633, 631, 1, 0, 0, 0, 634, 637, 3, 58, 29, 0, 635, 636, 5, 26, 0, 0, 636, 638, 5, 89, 0, 0, 637, 635, 1, 0, 0, 0, 637, 638, 1, 0, 0, 0, 638, 57, 1, 0, 0, 0, 639, 640, 6, 29, -1, 0, 640, 641, 5, 89, 0, 0, 641, 647, 1, 0, 0, 0, 642, 643, 10, 2, 0, 0, 643, 644, 5, 47, 0, 0, 644, 646, 5, 89, 0, 0, 645, 642, 1, 0, 0, 0, 646, 649, 1, 0, 0, 0, 647, 645, 1, 0, 0, 0, 647, 648, 1, 0, 0, 0, 648, 59, 1, 0, 0, 0, 649, 647, 1, 0, 0, 0, 650, 651, 5, 93, 0, 0, 651, 652, 5, 1, 0, 0, 652, 653, 3, 10, 5, 0, 653, 654, 5, 2, 0, 0, 654, 657, 1, 0, 0, 0, 655, 657, 3, 16, 8, 0, 656, 650, 1, 0, 0, 0, 656, 655, 1, 0, 0, 0, 657, 61, 1, 0, 0, 0, 658, 659, 5, 83, 0, 0, 659, 660, 3, 222, 111, 0, 660, 661, 5, 93, 0, 0, 661, 663, 1, 0, 0, 0, 662, 658, 1, 0, 0, 0, 663, 664, 1, 0, 0, 0, 664, 662, 1, 0, 0, 0, 664, 665, 1, 0, 0, 0, 665, 63, 1, 0, 0, 0, 666, 667, 3, 62, 31, 0, 667, 668, 3, 66, 33, 0, 668, 671, 1, 0, 0, 0, 669, 671, 3, 66, 33, 0, 670, 666, 1, 0, 0, 0, 670, 669, 1, 0, 0, 0, 671, 65, 1, 0, 0, 0, 672, 673, 5, 17, 0, 0, 673, 675, 5, 89, 0, 0, 674, 676, 3, 198, 99, 0, 675, 674, 1, 0, 0, 0, 675, 676, 1, 0, 0, 0, 676, 682, 1, 0, 0, 0, 677, 679, 5, 41, 0, 0, 678, 680, 3, 346, 173, 0, 679, 678, 1, 0, 0, 0, 679, 680, 1, 0, 0, 0, 680, 681, 1, 0, 0, 0, 681, 683, 5, 44, 0, 0, 682, 677, 1, 0, 0, 0, 682, 683, 1, 0, 0, 0, 683, 684, 1, 0, 0, 0, 684, 685, 5, 48, 0, 0, 685, 686, 3, 60, 30, 0, 686, 67, 1, 0, 0, 0, 687, 688, 3, 62, 31, 0, 688, 689, 3, 70, 35, 0, 689, 692, 1, 0, 0, 0, 690, 692, 3, 70, 35, 0, 691, 687, 1, 0, 0, 0, 691, 690, 1, 0, 0, 0, 692, 69, 1, 0, 0, 0, 693, 694, 5, 27, 0, 0, 694, 696, 5, 89, 0, 0, 695, 697, 3, 198, 99, 0, 696, 695, 1, 0, 0, 0, 696, 697, 1, 0, 0, 0, 697, 698, 1, 0, 0, 0, 698, 700, 5, 41, 0, 0, 699, 701, 3, 72, 36, 0, 700, 699, 1, 0, 0, 0, 700, 701, 1, 0, 0, 0, 701, 702, 1, 0, 0, 0, 702, 705, 5, 44, 0, 0, 703, 704, 5, 85, 0, 0, 704, 706, 3, 208, 104, 0, 705, 703, 1, 0, 0, 0, 705, 706, 1, 0, 0, 0, 706, 707, 1, 0, 0, 0, 707, 709, 5, 48, 0, 0, 708, 710, 3, 384, 192, 0, 709, 708, 1, 0, 0, 0, 709, 710, 1, 0, 0, 0, 710, 711, 1, 0, 0, 0, 711, 733, 3, 60, 30, 0, 712, 713, 5, 36, 0, 0, 713, 714, 5, 27, 0, 0, 714, 716, 5, 89, 0, 0, 715, 717, 3, 198, 99, 0, 716, 715, 1, 0, 0, 0, 716, 717, 1, 0, 0, 0, 717, 718, 1, 0, 0, 0, 718, 720, 5, 41, 0, 0, 719, 721, 3, 72, 36, 0, 720, 719, 1, 0, 0, 0, 720, 721, 1, 0, 0, 0, 721, 722, 1, 0, 0, 0, 722, 725, 5, 44, 0, 0, 723, 724, 5, 85, 0, 0, 724, 726, 3, 208, 104, 0, 725, 723, 1, 0, 0, 0, 725, 726, 1, 0, 0, 0, 726, 727, 1, 0, 0, 0, 727, 729, 5, 48, 0, 0, 728, 730, 3, 384, 192, 0, 729, 728, 1, 0, 0, 0, 729, 730, 1, 0, 0, 0, 730, 731, 1, 0, 0, 0, 731, 733, 3, 60, 30, 0, 732, 693, 1, 0, 0, 0, 732, 712, 1, 0, 0, 0, 733, 71, 1, 0, 0, 0, 734, 735, 3, 74, 37, 0, 735, 73, 1, 0, 0, 0, 736, 740, 3, 76, 38, 0, 737, 739, 3, 84, 42, 0, 738, 737, 1, 0, 0, 0, 739, 742, 1, 0, 0, 0, 740, 738, 1, 0, 0, 0, 740, 741, 1, 0, 0, 0, 741, 746, 1, 0, 0, 0, 742, 740, 1, 0, 0, 0, 743, 745, 3, 88, 44, 0, 744, 743, 1, 0, 0, 0, 745, 748, 1, 0, 0, 0, 746, 744, 1, 0, 0, 0, 746, 747, 1, 0, 0, 0, 747, 750, 1, 0, 0, 0, 748, 746, 1, 0, 0, 0, 749, 751, 3, 80, 40, 0, 750, 749, 1, 0, 0, 0, 750, 751, 1, 0, 0, 0, 751, 786, 1, 0, 0, 0, 752, 756, 3, 78, 39, 0, 753, 755, 3, 88, 44, 0, 754, 753, 1, 0, 0, 0, 755, 758, 1, 0, 0, 0, 756, 754, 1, 0, 0, 0, 756, 757, 1, 0, 0, 0, 757, 760, 1, 0, 0, 0, 758, 756, 1, 0, 0, 0, 759, 761, 3, 80, 40, 0, 760, 759, 1, 0, 0, 0, 760, 761, 1, 0, 0, 0, 761, 786, 1, 0, 0, 0, 762, 764, 3, 84, 42, 0, 763, 762, 1, 0, 0, 0, 764, 765, 1, 0, 0, 0, 765, 763, 1, 0, 0, 0, 765, 766, 1, 0, 0, 0, 766, 770, 1, 0, 0, 0, 767, 769, 3, 88, 44, 0, 768, 767, 1, 0, 0, 0, 769, 772, 1, 0, 0, 0, 770, 768, 1, 0, 0, 0, 770, 771, 1, 0, 0, 0, 771, 774, 1, 0, 0, 0, 772, 770, 1, 0, 0, 0, 773, 775, 3, 80, 40, 0, 774, 773, 1, 0, 0, 0, 774, 775, 1, 0, 0, 0, 775, 786, 1, 0, 0, 0, 776, 778, 3, 88, 44, 0, 777, 776, 1, 0, 0, 0, 778, 779, 1, 0, 0, 0, 779, 777, 1, 0, 0, 0, 779, 780, 1, 0, 0, 0, 780, 782, 1, 0, 0, 0, 781, 783, 3, 80, 40, 0, 782, 781, 1, 0, 0, 0, 782, 783, 1, 0, 0, 0, 783, 786, 1, 0, 0, 0, 784, 786, 3, 80, 40, 0, 785, 736, 1, 0, 0, 0, 785, 752, 1, 0, 0, 0, 785, 763, 1, 0, 0, 0, 785, 777, 1, 0, 0, 0, 785, 784, 1, 0, 0, 0, 786, 75, 1, 0, 0, 0, 787, 789, 3, 84, 42, 0, 788, 787, 1, 0, 0, 0, 789, 790, 1, 0, 0, 0, 790, 788, 1, 0, 0, 0, 790, 791, 1, 0, 0, 0, 791, 792, 1, 0, 0, 0, 792, 794, 5, 54, 0, 0, 793, 795, 5, 49, 0, 0, 794, 793, 1, 0, 0, 0, 794, 795, 1, 0, 0, 0, 795, 77, 1, 0, 0, 0, 796, 798, 3, 84, 42, 0, 797, 796, 1, 0, 0, 0, 798, 801, 1, 0, 0, 0, 799, 797, 1, 0, 0, 0, 799, 800, 1, 0, 0, 0, 800, 803, 1, 0, 0, 0, 801, 799, 1, 0, 0, 0, 802, 804, 3, 88, 44, 0, 803, 802, 1, 0, 0, 0, 804, 805, 1, 0, 0, 0, 805, 803, 1, 0, 0, 0, 805, 806, 1, 0, 0, 0, 806, 807, 1, 0, 0, 0, 807, 809, 5, 54, 0, 0, 808, 810, 5, 49, 0, 0, 809, 808, 1, 0, 0, 0, 809, 810, 1, 0, 0, 0, 810, 79, 1, 0, 0, 0, 811, 812, 5, 53, 0, 0, 812, 816, 3, 84, 42, 0, 813, 815, 3, 90, 45, 0, 814, 813, 1, 0, 0, 0, 815, 818, 1, 0, 0, 0, 816, 814, 1, 0, 0, 0, 816, 817, 1, 0, 0, 0, 817, 820, 1, 0, 0, 0, 818, 816, 1, 0, 0, 0, 819, 821, 3, 82, 41, 0, 820, 819, 1, 0, 0, 0, 820, 821, 1, 0, 0, 0, 821, 845, 1, 0, 0, 0, 822, 823, 5, 53, 0, 0, 823, 827, 3, 86, 43, 0, 824, 826, 3, 90, 45, 0, 825, 824, 1, 0, 0, 0, 826, 829, 1, 0, 0, 0, 827, 825, 1, 0, 0, 0, 827, 828, 1, 0, 0, 0, 828, 831, 1, 0, 0, 0, 829, 827, 1, 0, 0, 0, 830, 832, 3, 82, 41, 0, 831, 830, 1, 0, 0, 0, 831, 832, 1, 0, 0, 0, 832, 845, 1, 0, 0, 0, 833, 834, 5, 53, 0, 0, 834, 836, 5, 49, 0, 0, 835, 837, 3, 90, 45, 0, 836, 835, 1, 0, 0, 0, 837, 838, 1, 0, 0, 0, 838, 836, 1, 0, 0, 0, 838, 839, 1, 0, 0, 0, 839, 841, 1, 0, 0, 0, 840, 842, 3, 82, 41, 0, 841, 840, 1, 0, 0, 0, 841, 842, 1, 0, 0, 0, 842, 845, 1, 0, 0, 0, 843, 845, 3, 82, 41, 0, 844, 811, 1, 0, 0, 0, 844, 822, 1, 0, 0, 0, 844, 833, 1, 0, 0, 0, 844, 843, 1, 0, 0, 0, 845, 81, 1, 0, 0, 0, 846, 847, 5, 69, 0, 0, 847, 848, 3, 84, 42, 0, 848, 83, 1, 0, 0, 0, 849, 851, 3, 92, 46, 0, 850, 852, 5, 49, 0, 0, 851, 850, 1, 0, 0, 0, 851, 852, 1, 0, 0, 0, 852, 854, 1, 0, 0, 0, 853, 855, 5, 92, 0, 0, 854, 853, 1, 0, 0, 0, 854, 855, 1, 0, 0, 0, 855, 85, 1, 0, 0, 0, 856, 858, 3, 94, 47, 0, 857, 859, 5, 49, 0, 0, 858, 857, 1, 0, 0, 0, 858, 859, 1, 0, 0, 0, 859, 861, 1, 0, 0, 0, 860, 862, 5, 92, 0, 0, 861, 860, 1, 0, 0, 0, 861, 862, 1, 0, 0, 0, 862, 87, 1, 0, 0, 0, 863, 864, 3, 92, 46, 0, 864, 866, 3, 100, 50, 0, 865, 867, 5, 49, 0, 0, 866, 865, 1, 0, 0, 0, 866, 867, 1, 0, 0, 0, 867, 869, 1, 0, 0, 0, 868, 870, 5, 92, 0, 0, 869, 868, 1, 0, 0, 0, 869, 870, 1, 0, 0, 0, 870, 89, 1, 0, 0, 0, 871, 873, 3, 92, 46, 0, 872, 874, 3, 100, 50, 0, 873, 872, 1, 0, 0, 0, 873, 874, 1, 0, 0, 0, 874, 876, 1, 0, 0, 0, 875, 877, 5, 49, 0, 0, 876, 875, 1, 0, 0, 0, 876, 877, 1, 0, 0, 0, 877, 879, 1, 0, 0, 0, 878, 880, 5, 92, 0, 0, 879, 878, 1, 0, 0, 0, 879, 880, 1, 0, 0, 0, 880, 91, 1, 0, 0, 0, 881, 883, 5, 89, 0, 0, 882, 884, 3, 96, 48, 0, 883, 882, 1, 0, 0, 0, 883, 884, 1, 0, 0, 0, 884, 93, 1, 0, 0, 0, 885, 886, 5, 89, 0, 0, 886, 887, 3, 98, 49, 0, 887, 95, 1, 0, 0, 0, 888, 889, 5, 48, 0, 0, 889, 890, 3, 208, 104, 0, 890, 97, 1, 0, 0, 0, 891, 892, 5, 48, 0, 0, 892, 893, 3, 214, 107, 0, 893, 99, 1, 0, 0, 0, 894, 895, 5, 59, 0, 0, 895, 896, 3, 208, 104, 0, 896, 101, 1, 0, 0, 0, 897, 898, 5, 38, 0, 0, 898, 899, 3, 222, 111, 0, 899, 900, 5, 48, 0, 0, 900, 905, 3, 60, 30, 0, 901, 906, 3, 104, 52, 0, 902, 904, 3, 106, 53, 0, 903, 902, 1, 0, 0, 0, 903, 904, 1, 0, 0, 0, 904, 906, 1, 0, 0, 0, 905, 901, 1, 0, 0, 0, 905, 903, 1, 0, 0, 0, 906, 103, 1, 0, 0, 0, 907, 908, 5, 37, 0, 0, 908, 909, 3, 222, 111, 0, 909, 910, 5, 48, 0, 0, 910, 915, 3, 60, 30, 0, 911, 916, 3, 104, 52, 0, 912, 914, 3, 106, 53, 0, 913, 912, 1, 0, 0, 0, 913, 914, 1, 0, 0, 0, 914, 916, 1, 0, 0, 0, 915, 911, 1, 0, 0, 0, 915, 913, 1, 0, 0, 0, 916, 105, 1, 0, 0, 0, 917, 918, 5, 8, 0, 0, 918, 919, 5, 48, 0, 0, 919, 920, 3, 60, 30, 0, 920, 107, 1, 0, 0, 0, 921, 922, 5, 30, 0, 0, 922, 923, 3, 222, 111, 0, 923, 924, 5, 48, 0, 0, 924, 926, 3, 60, 30, 0, 925, 927, 3, 106, 53, 0, 926, 925, 1, 0, 0, 0, 926, 927, 1, 0, 0, 0, 927, 109, 1, 0, 0, 0, 928, 930, 5, 36, 0, 0, 929, 928, 1, 0, 0, 0, 929, 930, 1, 0, 0, 0, 930, 931, 1, 0, 0, 0, 931, 932, 5, 23, 0, 0, 932, 933, 3, 358, 179, 0, 933, 934, 5, 14, 0, 0, 934, 935, 3, 212, 106, 0, 935, 937, 5, 48, 0, 0, 936, 938, 5, 92, 0, 0, 937, 936, 1, 0, 0, 0, 937, 938, 1, 0, 0, 0, 938, 939, 1, 0, 0, 0, 939, 941, 3, 60, 30, 0, 940, 942, 3, 106, 53, 0, 941, 940, 1, 0, 0, 0, 941, 942, 1, 0, 0, 0, 942, 111, 1, 0, 0, 0, 943, 945, 5, 36, 0, 0, 944, 943, 1, 0, 0, 0, 944, 945, 1, 0, 0, 0, 945, 946, 1, 0, 0, 0, 946, 974, 5, 35, 0, 0, 947, 948, 5, 41, 0, 0, 948, 953, 3, 114, 57, 0, 949, 950, 5, 49, 0, 0, 950, 952, 3, 114, 57, 0, 951, 949, 1, 0, 0, 0, 952, 955, 1, 0, 0, 0, 953, 951, 1, 0, 0, 0, 953, 954, 1, 0, 0, 0, 954, 957, 1, 0, 0, 0, 955, 953, 1, 0, 0, 0, 956, 958, 5, 49, 0, 0, 957, 956, 1, 0, 0, 0, 957, 958, 1, 0, 0, 0, 958, 959, 1, 0, 0, 0, 959, 960, 5, 44, 0, 0, 960, 961, 5, 48, 0, 0, 961, 975, 1, 0, 0, 0, 962, 967, 3, 114, 57, 0, 963, 964, 5, 49, 0, 0, 964, 966, 3, 114, 57, 0, 965, 963, 1, 0, 0, 0, 966, 969, 1, 0, 0, 0, 967, 965, 1, 0, 0, 0, 967, 968, 1, 0, 0, 0, 968, 970, 1, 0, 0, 0, 969, 967, 1, 0, 0, 0, 970, 972, 5, 48, 0, 0, 971, 973, 5, 92, 0, 0, 972, 971, 1, 0, 0, 0, 972, 973, 1, 0, 0, 0, 973, 975, 1, 0, 0, 0, 974, 947, 1, 0, 0, 0, 974, 962, 1, 0, 0, 0, 975, 976, 1, 0, 0, 0, 976, 977, 3, 60, 30, 0, 977, 113, 1, 0, 0, 0, 978, 981, 3, 208, 104, 0, 979, 980, 5, 26, 0, 0, 980, 982, 3, 364, 182, 0, 981, 979, 1, 0, 0, 0, 981, 982, 1, 0, 0, 0, 982, 115, 1, 0, 0, 0, 983, 984, 5, 25, 0, 0, 984, 985, 5, 48, 0, 0, 985, 986, 3, 60, 30, 0, 986, 987, 3, 122, 61, 0, 987, 1017, 1, 0, 0, 0, 988, 989, 5, 25, 0, 0, 989, 990, 5, 48, 0, 0, 990, 992, 3, 60, 30, 0, 991, 993, 3, 118, 59, 0, 992, 991, 1, 0, 0, 0, 993, 994, 1, 0, 0, 0, 994, 992, 1, 0, 0, 0, 994, 995, 1, 0, 0, 0, 995, 997, 1, 0, 0, 0, 996, 998, 3, 106, 53, 0, 997, 996, 1, 0, 0, 0, 997, 998, 1, 0, 0, 0, 998, 1e3, 1, 0, 0, 0, 999, 1001, 3, 122, 61, 0, 1e3, 999, 1, 0, 0, 0, 1e3, 1001, 1, 0, 0, 0, 1001, 1017, 1, 0, 0, 0, 1002, 1003, 5, 25, 0, 0, 1003, 1004, 5, 48, 0, 0, 1004, 1006, 3, 60, 30, 0, 1005, 1007, 3, 120, 60, 0, 1006, 1005, 1, 0, 0, 0, 1007, 1008, 1, 0, 0, 0, 1008, 1006, 1, 0, 0, 0, 1008, 1009, 1, 0, 0, 0, 1009, 1011, 1, 0, 0, 0, 1010, 1012, 3, 106, 53, 0, 1011, 1010, 1, 0, 0, 0, 1011, 1012, 1, 0, 0, 0, 1012, 1014, 1, 0, 0, 0, 1013, 1015, 3, 122, 61, 0, 1014, 1013, 1, 0, 0, 0, 1014, 1015, 1, 0, 0, 0, 1015, 1017, 1, 0, 0, 0, 1016, 983, 1, 0, 0, 0, 1016, 988, 1, 0, 0, 0, 1016, 1002, 1, 0, 0, 0, 1017, 117, 1, 0, 0, 0, 1018, 1024, 5, 13, 0, 0, 1019, 1022, 3, 208, 104, 0, 1020, 1021, 5, 26, 0, 0, 1021, 1023, 5, 89, 0, 0, 1022, 1020, 1, 0, 0, 0, 1022, 1023, 1, 0, 0, 0, 1023, 1025, 1, 0, 0, 0, 1024, 1019, 1, 0, 0, 0, 1024, 1025, 1, 0, 0, 0, 1025, 1026, 1, 0, 0, 0, 1026, 1027, 5, 48, 0, 0, 1027, 1028, 3, 60, 30, 0, 1028, 119, 1, 0, 0, 0, 1029, 1030, 5, 13, 0, 0, 1030, 1031, 5, 53, 0, 0, 1031, 1034, 3, 208, 104, 0, 1032, 1033, 5, 26, 0, 0, 1033, 1035, 5, 89, 0, 0, 1034, 1032, 1, 0, 0, 0, 1034, 1035, 1, 0, 0, 0, 1035, 1036, 1, 0, 0, 0, 1036, 1037, 5, 48, 0, 0, 1037, 1038, 3, 60, 30, 0, 1038, 121, 1, 0, 0, 0, 1039, 1040, 5, 18, 0, 0, 1040, 1041, 5, 48, 0, 0, 1041, 1042, 3, 60, 30, 0, 1042, 123, 1, 0, 0, 0, 1043, 1044, 3, 388, 194, 0, 1044, 1045, 3, 126, 63, 0, 1045, 1046, 5, 48, 0, 0, 1046, 1047, 5, 93, 0, 0, 1047, 1049, 5, 1, 0, 0, 1048, 1050, 3, 128, 64, 0, 1049, 1048, 1, 0, 0, 0, 1050, 1051, 1, 0, 0, 0, 1051, 1049, 1, 0, 0, 0, 1051, 1052, 1, 0, 0, 0, 1052, 1053, 1, 0, 0, 0, 1053, 1054, 5, 2, 0, 0, 1054, 125, 1, 0, 0, 0, 1055, 1056, 3, 218, 109, 0, 1056, 1058, 5, 49, 0, 0, 1057, 1059, 3, 216, 108, 0, 1058, 1057, 1, 0, 0, 0, 1058, 1059, 1, 0, 0, 0, 1059, 1062, 1, 0, 0, 0, 1060, 1062, 3, 222, 111, 0, 1061, 1055, 1, 0, 0, 0, 1061, 1060, 1, 0, 0, 0, 1062, 127, 1, 0, 0, 0, 1063, 1064, 3, 390, 195, 0, 1064, 1066, 3, 132, 66, 0, 1065, 1067, 3, 130, 65, 0, 1066, 1065, 1, 0, 0, 0, 1066, 1067, 1, 0, 0, 0, 1067, 1068, 1, 0, 0, 0, 1068, 1069, 5, 48, 0, 0, 1069, 1070, 3, 60, 30, 0, 1070, 129, 1, 0, 0, 0, 1071, 1072, 5, 38, 0, 0, 1072, 1073, 3, 222, 111, 0, 1073, 131, 1, 0, 0, 0, 1074, 1077, 3, 172, 86, 0, 1075, 1077, 3, 134, 67, 0, 1076, 1074, 1, 0, 0, 0, 1076, 1075, 1, 0, 0, 0, 1077, 133, 1, 0, 0, 0, 1078, 1081, 3, 136, 68, 0, 1079, 1081, 3, 138, 69, 0, 1080, 1078, 1, 0, 0, 0, 1080, 1079, 1, 0, 0, 0, 1081, 135, 1, 0, 0, 0, 1082, 1083, 3, 138, 69, 0, 1083, 1084, 5, 26, 0, 0, 1084, 1085, 3, 158, 79, 0, 1085, 137, 1, 0, 0, 0, 1086, 1091, 3, 140, 70, 0, 1087, 1088, 5, 55, 0, 0, 1088, 1090, 3, 140, 70, 0, 1089, 1087, 1, 0, 0, 0, 1090, 1093, 1, 0, 0, 0, 1091, 1089, 1, 0, 0, 0, 1091, 1092, 1, 0, 0, 0, 1092, 139, 1, 0, 0, 0, 1093, 1091, 1, 0, 0, 0, 1094, 1103, 3, 142, 71, 0, 1095, 1103, 3, 156, 78, 0, 1096, 1103, 3, 160, 80, 0, 1097, 1103, 3, 162, 81, 0, 1098, 1103, 3, 168, 84, 0, 1099, 1103, 3, 170, 85, 0, 1100, 1103, 3, 180, 90, 0, 1101, 1103, 3, 188, 94, 0, 1102, 1094, 1, 0, 0, 0, 1102, 1095, 1, 0, 0, 0, 1102, 1096, 1, 0, 0, 0, 1102, 1097, 1, 0, 0, 0, 1102, 1098, 1, 0, 0, 0, 1102, 1099, 1, 0, 0, 0, 1102, 1100, 1, 0, 0, 0, 1102, 1101, 1, 0, 0, 0, 1103, 141, 1, 0, 0, 0, 1104, 1111, 3, 148, 74, 0, 1105, 1111, 3, 146, 73, 0, 1106, 1111, 3, 318, 159, 0, 1107, 1111, 5, 11, 0, 0, 1108, 1111, 5, 16, 0, 0, 1109, 1111, 5, 6, 0, 0, 1110, 1104, 1, 0, 0, 0, 1110, 1105, 1, 0, 0, 0, 1110, 1106, 1, 0, 0, 0, 1110, 1107, 1, 0, 0, 0, 1110, 1108, 1, 0, 0, 0, 1110, 1109, 1, 0, 0, 0, 1111, 143, 1, 0, 0, 0, 1112, 1119, 3, 148, 74, 0, 1113, 1119, 3, 146, 73, 0, 1114, 1119, 3, 318, 159, 0, 1115, 1119, 5, 11, 0, 0, 1116, 1119, 5, 16, 0, 0, 1117, 1119, 5, 6, 0, 0, 1118, 1112, 1, 0, 0, 0, 1118, 1113, 1, 0, 0, 0, 1118, 1114, 1, 0, 0, 0, 1118, 1115, 1, 0, 0, 0, 1118, 1116, 1, 0, 0, 0, 1118, 1117, 1, 0, 0, 0, 1119, 145, 1, 0, 0, 0, 1120, 1121, 3, 150, 75, 0, 1121, 1122, 7, 2, 0, 0, 1122, 1123, 3, 154, 77, 0, 1123, 147, 1, 0, 0, 0, 1124, 1126, 5, 52, 0, 0, 1125, 1124, 1, 0, 0, 0, 1125, 1126, 1, 0, 0, 0, 1126, 1127, 1, 0, 0, 0, 1127, 1128, 5, 90, 0, 0, 1128, 149, 1, 0, 0, 0, 1129, 1131, 5, 52, 0, 0, 1130, 1129, 1, 0, 0, 0, 1130, 1131, 1, 0, 0, 0, 1131, 1132, 1, 0, 0, 0, 1132, 1133, 3, 152, 76, 0, 1133, 151, 1, 0, 0, 0, 1134, 1135, 5, 90, 0, 0, 1135, 153, 1, 0, 0, 0, 1136, 1137, 5, 90, 0, 0, 1137, 155, 1, 0, 0, 0, 1138, 1139, 3, 158, 79, 0, 1139, 157, 1, 0, 0, 0, 1140, 1141, 3, 394, 197, 0, 1141, 159, 1, 0, 0, 0, 1142, 1143, 3, 392, 196, 0, 1143, 161, 1, 0, 0, 0, 1144, 1145, 3, 164, 82, 0, 1145, 163, 1, 0, 0, 0, 1146, 1149, 5, 89, 0, 0, 1147, 1148, 5, 47, 0, 0, 1148, 1150, 5, 89, 0, 0, 1149, 1147, 1, 0, 0, 0, 1150, 1151, 1, 0, 0, 0, 1151, 1149, 1, 0, 0, 0, 1151, 1152, 1, 0, 0, 0, 1152, 165, 1, 0, 0, 0, 1153, 1158, 5, 89, 0, 0, 1154, 1155, 5, 47, 0, 0, 1155, 1157, 5, 89, 0, 0, 1156, 1154, 1, 0, 0, 0, 1157, 1160, 1, 0, 0, 0, 1158, 1156, 1, 0, 0, 0, 1158, 1159, 1, 0, 0, 0, 1159, 167, 1, 0, 0, 0, 1160, 1158, 1, 0, 0, 0, 1161, 1162, 5, 41, 0, 0, 1162, 1163, 3, 134, 67, 0, 1163, 1164, 5, 44, 0, 0, 1164, 169, 1, 0, 0, 0, 1165, 1167, 5, 42, 0, 0, 1166, 1168, 3, 174, 87, 0, 1167, 1166, 1, 0, 0, 0, 1167, 1168, 1, 0, 0, 0, 1168, 1169, 1, 0, 0, 0, 1169, 1176, 5, 45, 0, 0, 1170, 1172, 5, 41, 0, 0, 1171, 1173, 3, 172, 86, 0, 1172, 1171, 1, 0, 0, 0, 1172, 1173, 1, 0, 0, 0, 1173, 1174, 1, 0, 0, 0, 1174, 1176, 5, 44, 0, 0, 1175, 1165, 1, 0, 0, 0, 1175, 1170, 1, 0, 0, 0, 1176, 171, 1, 0, 0, 0, 1177, 1178, 3, 176, 88, 0, 1178, 1180, 5, 49, 0, 0, 1179, 1181, 3, 174, 87, 0, 1180, 1179, 1, 0, 0, 0, 1180, 1181, 1, 0, 0, 0, 1181, 173, 1, 0, 0, 0, 1182, 1187, 3, 176, 88, 0, 1183, 1184, 5, 49, 0, 0, 1184, 1186, 3, 176, 88, 0, 1185, 1183, 1, 0, 0, 0, 1186, 1189, 1, 0, 0, 0, 1187, 1185, 1, 0, 0, 0, 1187, 1188, 1, 0, 0, 0, 1188, 1191, 1, 0, 0, 0, 1189, 1187, 1, 0, 0, 0, 1190, 1192, 5, 49, 0, 0, 1191, 1190, 1, 0, 0, 0, 1191, 1192, 1, 0, 0, 0, 1192, 175, 1, 0, 0, 0, 1193, 1196, 3, 178, 89, 0, 1194, 1196, 3, 134, 67, 0, 1195, 1193, 1, 0, 0, 0, 1195, 1194, 1, 0, 0, 0, 1196, 177, 1, 0, 0, 0, 1197, 1198, 5, 53, 0, 0, 1198, 1202, 3, 158, 79, 0, 1199, 1200, 5, 53, 0, 0, 1200, 1202, 3, 160, 80, 0, 1201, 1197, 1, 0, 0, 0, 1201, 1199, 1, 0, 0, 0, 1202, 179, 1, 0, 0, 0, 1203, 1204, 5, 43, 0, 0, 1204, 1224, 5, 46, 0, 0, 1205, 1206, 5, 43, 0, 0, 1206, 1208, 3, 186, 93, 0, 1207, 1209, 5, 49, 0, 0, 1208, 1207, 1, 0, 0, 0, 1208, 1209, 1, 0, 0, 0, 1209, 1210, 1, 0, 0, 0, 1210, 1211, 5, 46, 0, 0, 1211, 1224, 1, 0, 0, 0, 1212, 1213, 5, 43, 0, 0, 1213, 1216, 3, 182, 91, 0, 1214, 1215, 5, 49, 0, 0, 1215, 1217, 3, 186, 93, 0, 1216, 1214, 1, 0, 0, 0, 1216, 1217, 1, 0, 0, 0, 1217, 1219, 1, 0, 0, 0, 1218, 1220, 5, 49, 0, 0, 1219, 1218, 1, 0, 0, 0, 1219, 1220, 1, 0, 0, 0, 1220, 1221, 1, 0, 0, 0, 1221, 1222, 5, 46, 0, 0, 1222, 1224, 1, 0, 0, 0, 1223, 1203, 1, 0, 0, 0, 1223, 1205, 1, 0, 0, 0, 1223, 1212, 1, 0, 0, 0, 1224, 181, 1, 0, 0, 0, 1225, 1230, 3, 184, 92, 0, 1226, 1227, 5, 49, 0, 0, 1227, 1229, 3, 184, 92, 0, 1228, 1226, 1, 0, 0, 0, 1229, 1232, 1, 0, 0, 0, 1230, 1228, 1, 0, 0, 0, 1230, 1231, 1, 0, 0, 0, 1231, 183, 1, 0, 0, 0, 1232, 1230, 1, 0, 0, 0, 1233, 1236, 3, 144, 72, 0, 1234, 1236, 3, 164, 82, 0, 1235, 1233, 1, 0, 0, 0, 1235, 1234, 1, 0, 0, 0, 1236, 1237, 1, 0, 0, 0, 1237, 1238, 5, 48, 0, 0, 1238, 1239, 3, 134, 67, 0, 1239, 185, 1, 0, 0, 0, 1240, 1241, 5, 69, 0, 0, 1241, 1242, 3, 158, 79, 0, 1242, 187, 1, 0, 0, 0, 1243, 1244, 3, 166, 83, 0, 1244, 1256, 5, 41, 0, 0, 1245, 1248, 3, 190, 95, 0, 1246, 1247, 5, 49, 0, 0, 1247, 1249, 3, 192, 96, 0, 1248, 1246, 1, 0, 0, 0, 1248, 1249, 1, 0, 0, 0, 1249, 1252, 1, 0, 0, 0, 1250, 1252, 3, 192, 96, 0, 1251, 1245, 1, 0, 0, 0, 1251, 1250, 1, 0, 0, 0, 1252, 1254, 1, 0, 0, 0, 1253, 1255, 5, 49, 0, 0, 1254, 1253, 1, 0, 0, 0, 1254, 1255, 1, 0, 0, 0, 1255, 1257, 1, 0, 0, 0, 1256, 1251, 1, 0, 0, 0, 1256, 1257, 1, 0, 0, 0, 1257, 1258, 1, 0, 0, 0, 1258, 1259, 5, 44, 0, 0, 1259, 189, 1, 0, 0, 0, 1260, 1265, 3, 134, 67, 0, 1261, 1262, 5, 49, 0, 0, 1262, 1264, 3, 134, 67, 0, 1263, 1261, 1, 0, 0, 0, 1264, 1267, 1, 0, 0, 0, 1265, 1263, 1, 0, 0, 0, 1265, 1266, 1, 0, 0, 0, 1266, 191, 1, 0, 0, 0, 1267, 1265, 1, 0, 0, 0, 1268, 1273, 3, 194, 97, 0, 1269, 1270, 5, 49, 0, 0, 1270, 1272, 3, 194, 97, 0, 1271, 1269, 1, 0, 0, 0, 1272, 1275, 1, 0, 0, 0, 1273, 1271, 1, 0, 0, 0, 1273, 1274, 1, 0, 0, 0, 1274, 193, 1, 0, 0, 0, 1275, 1273, 1, 0, 0, 0, 1276, 1277, 5, 89, 0, 0, 1277, 1278, 5, 59, 0, 0, 1278, 1279, 3, 134, 67, 0, 1279, 195, 1, 0, 0, 0, 1280, 1281, 3, 386, 193, 0, 1281, 1283, 5, 89, 0, 0, 1282, 1284, 3, 198, 99, 0, 1283, 1282, 1, 0, 0, 0, 1283, 1284, 1, 0, 0, 0, 1284, 1285, 1, 0, 0, 0, 1285, 1286, 5, 59, 0, 0, 1286, 1287, 3, 208, 104, 0, 1287, 197, 1, 0, 0, 0, 1288, 1289, 5, 42, 0, 0, 1289, 1290, 3, 200, 100, 0, 1290, 1291, 5, 45, 0, 0, 1291, 199, 1, 0, 0, 0, 1292, 1297, 3, 202, 101, 0, 1293, 1294, 5, 49, 0, 0, 1294, 1296, 3, 202, 101, 0, 1295, 1293, 1, 0, 0, 0, 1296, 1299, 1, 0, 0, 0, 1297, 1295, 1, 0, 0, 0, 1297, 1298, 1, 0, 0, 0, 1298, 1301, 1, 0, 0, 0, 1299, 1297, 1, 0, 0, 0, 1300, 1302, 5, 49, 0, 0, 1301, 1300, 1, 0, 0, 0, 1301, 1302, 1, 0, 0, 0, 1302, 201, 1, 0, 0, 0, 1303, 1305, 5, 89, 0, 0, 1304, 1306, 3, 204, 102, 0, 1305, 1304, 1, 0, 0, 0, 1305, 1306, 1, 0, 0, 0, 1306, 1320, 1, 0, 0, 0, 1307, 1308, 5, 53, 0, 0, 1308, 1311, 5, 89, 0, 0, 1309, 1310, 5, 48, 0, 0, 1310, 1312, 3, 208, 104, 0, 1311, 1309, 1, 0, 0, 0, 1311, 1312, 1, 0, 0, 0, 1312, 1320, 1, 0, 0, 0, 1313, 1314, 5, 69, 0, 0, 1314, 1317, 5, 89, 0, 0, 1315, 1316, 5, 48, 0, 0, 1316, 1318, 3, 208, 104, 0, 1317, 1315, 1, 0, 0, 0, 1317, 1318, 1, 0, 0, 0, 1318, 1320, 1, 0, 0, 0, 1319, 1303, 1, 0, 0, 0, 1319, 1307, 1, 0, 0, 0, 1319, 1313, 1, 0, 0, 0, 1320, 203, 1, 0, 0, 0, 1321, 1322, 5, 48, 0, 0, 1322, 1323, 3, 208, 104, 0, 1323, 205, 1, 0, 0, 0, 1324, 1329, 3, 208, 104, 0, 1325, 1326, 5, 49, 0, 0, 1326, 1328, 3, 208, 104, 0, 1327, 1325, 1, 0, 0, 0, 1328, 1331, 1, 0, 0, 0, 1329, 1327, 1, 0, 0, 0, 1329, 1330, 1, 0, 0, 0, 1330, 1333, 1, 0, 0, 0, 1331, 1329, 1, 0, 0, 0, 1332, 1334, 5, 49, 0, 0, 1333, 1332, 1, 0, 0, 0, 1333, 1334, 1, 0, 0, 0, 1334, 207, 1, 0, 0, 0, 1335, 1341, 3, 224, 112, 0, 1336, 1337, 5, 38, 0, 0, 1337, 1338, 3, 224, 112, 0, 1338, 1339, 5, 8, 0, 0, 1339, 1340, 3, 208, 104, 0, 1340, 1342, 1, 0, 0, 0, 1341, 1336, 1, 0, 0, 0, 1341, 1342, 1, 0, 0, 0, 1342, 1345, 1, 0, 0, 0, 1343, 1345, 3, 282, 141, 0, 1344, 1335, 1, 0, 0, 0, 1344, 1343, 1, 0, 0, 0, 1345, 209, 1, 0, 0, 0, 1346, 1352, 5, 40, 0, 0, 1347, 1348, 5, 28, 0, 0, 1348, 1353, 3, 208, 104, 0, 1349, 1351, 3, 212, 106, 0, 1350, 1349, 1, 0, 0, 0, 1350, 1351, 1, 0, 0, 0, 1351, 1353, 1, 0, 0, 0, 1352, 1347, 1, 0, 0, 0, 1352, 1350, 1, 0, 0, 0, 1353, 211, 1, 0, 0, 0, 1354, 1359, 3, 214, 107, 0, 1355, 1356, 5, 49, 0, 0, 1356, 1358, 3, 214, 107, 0, 1357, 1355, 1, 0, 0, 0, 1358, 1361, 1, 0, 0, 0, 1359, 1357, 1, 0, 0, 0, 1359, 1360, 1, 0, 0, 0, 1360, 1363, 1, 0, 0, 0, 1361, 1359, 1, 0, 0, 0, 1362, 1364, 5, 49, 0, 0, 1363, 1362, 1, 0, 0, 0, 1363, 1364, 1, 0, 0, 0, 1364, 213, 1, 0, 0, 0, 1365, 1366, 5, 53, 0, 0, 1366, 1369, 3, 254, 127, 0, 1367, 1369, 3, 208, 104, 0, 1368, 1365, 1, 0, 0, 0, 1368, 1367, 1, 0, 0, 0, 1369, 215, 1, 0, 0, 0, 1370, 1375, 3, 218, 109, 0, 1371, 1372, 5, 49, 0, 0, 1372, 1374, 3, 218, 109, 0, 1373, 1371, 1, 0, 0, 0, 1374, 1377, 1, 0, 0, 0, 1375, 1373, 1, 0, 0, 0, 1375, 1376, 1, 0, 0, 0, 1376, 1379, 1, 0, 0, 0, 1377, 1375, 1, 0, 0, 0, 1378, 1380, 5, 49, 0, 0, 1379, 1378, 1, 0, 0, 0, 1379, 1380, 1, 0, 0, 0, 1380, 217, 1, 0, 0, 0, 1381, 1382, 5, 53, 0, 0, 1382, 1385, 3, 254, 127, 0, 1383, 1385, 3, 222, 111, 0, 1384, 1381, 1, 0, 0, 0, 1384, 1383, 1, 0, 0, 0, 1385, 219, 1, 0, 0, 0, 1386, 1387, 5, 89, 0, 0, 1387, 1388, 5, 87, 0, 0, 1388, 1389, 3, 208, 104, 0, 1389, 221, 1, 0, 0, 0, 1390, 1393, 3, 220, 110, 0, 1391, 1393, 3, 208, 104, 0, 1392, 1390, 1, 0, 0, 0, 1392, 1391, 1, 0, 0, 0, 1393, 223, 1, 0, 0, 0, 1394, 1399, 3, 226, 113, 0, 1395, 1396, 5, 39, 0, 0, 1396, 1398, 3, 226, 113, 0, 1397, 1395, 1, 0, 0, 0, 1398, 1401, 1, 0, 0, 0, 1399, 1397, 1, 0, 0, 0, 1399, 1400, 1, 0, 0, 0, 1400, 225, 1, 0, 0, 0, 1401, 1399, 1, 0, 0, 0, 1402, 1407, 3, 228, 114, 0, 1403, 1404, 5, 21, 0, 0, 1404, 1406, 3, 228, 114, 0, 1405, 1403, 1, 0, 0, 0, 1406, 1409, 1, 0, 0, 0, 1407, 1405, 1, 0, 0, 0, 1407, 1408, 1, 0, 0, 0, 1408, 227, 1, 0, 0, 0, 1409, 1407, 1, 0, 0, 0, 1410, 1411, 5, 34, 0, 0, 1411, 1414, 3, 228, 114, 0, 1412, 1414, 3, 230, 115, 0, 1413, 1410, 1, 0, 0, 0, 1413, 1412, 1, 0, 0, 0, 1414, 229, 1, 0, 0, 0, 1415, 1419, 3, 254, 127, 0, 1416, 1418, 3, 232, 116, 0, 1417, 1416, 1, 0, 0, 0, 1418, 1421, 1, 0, 0, 0, 1419, 1417, 1, 0, 0, 0, 1419, 1420, 1, 0, 0, 0, 1420, 231, 1, 0, 0, 0, 1421, 1419, 1, 0, 0, 0, 1422, 1433, 3, 234, 117, 0, 1423, 1433, 3, 236, 118, 0, 1424, 1433, 3, 238, 119, 0, 1425, 1433, 3, 240, 120, 0, 1426, 1433, 3, 242, 121, 0, 1427, 1433, 3, 244, 122, 0, 1428, 1433, 3, 246, 123, 0, 1429, 1433, 3, 248, 124, 0, 1430, 1433, 3, 250, 125, 0, 1431, 1433, 3, 252, 126, 0, 1432, 1422, 1, 0, 0, 0, 1432, 1423, 1, 0, 0, 0, 1432, 1424, 1, 0, 0, 0, 1432, 1425, 1, 0, 0, 0, 1432, 1426, 1, 0, 0, 0, 1432, 1427, 1, 0, 0, 0, 1432, 1428, 1, 0, 0, 0, 1432, 1429, 1, 0, 0, 0, 1432, 1430, 1, 0, 0, 0, 1432, 1431, 1, 0, 0, 0, 1433, 233, 1, 0, 0, 0, 1434, 1435, 5, 61, 0, 0, 1435, 1436, 3, 254, 127, 0, 1436, 235, 1, 0, 0, 0, 1437, 1438, 5, 62, 0, 0, 1438, 1439, 3, 254, 127, 0, 1439, 237, 1, 0, 0, 0, 1440, 1441, 5, 63, 0, 0, 1441, 1442, 3, 254, 127, 0, 1442, 239, 1, 0, 0, 0, 1443, 1444, 5, 57, 0, 0, 1444, 1445, 3, 254, 127, 0, 1445, 241, 1, 0, 0, 0, 1446, 1447, 5, 64, 0, 0, 1447, 1448, 3, 254, 127, 0, 1448, 243, 1, 0, 0, 0, 1449, 1450, 5, 58, 0, 0, 1450, 1451, 3, 254, 127, 0, 1451, 245, 1, 0, 0, 0, 1452, 1453, 5, 34, 0, 0, 1453, 1454, 5, 14, 0, 0, 1454, 1455, 3, 254, 127, 0, 1455, 247, 1, 0, 0, 0, 1456, 1457, 5, 14, 0, 0, 1457, 1458, 3, 254, 127, 0, 1458, 249, 1, 0, 0, 0, 1459, 1460, 5, 19, 0, 0, 1460, 1461, 5, 34, 0, 0, 1461, 1462, 3, 254, 127, 0, 1462, 251, 1, 0, 0, 0, 1463, 1464, 5, 19, 0, 0, 1464, 1465, 3, 254, 127, 0, 1465, 253, 1, 0, 0, 0, 1466, 1467, 6, 127, -1, 0, 1467, 1468, 3, 256, 128, 0, 1468, 1474, 1, 0, 0, 0, 1469, 1470, 10, 2, 0, 0, 1470, 1471, 5, 55, 0, 0, 1471, 1473, 3, 256, 128, 0, 1472, 1469, 1, 0, 0, 0, 1473, 1476, 1, 0, 0, 0, 1474, 1472, 1, 0, 0, 0, 1474, 1475, 1, 0, 0, 0, 1475, 255, 1, 0, 0, 0, 1476, 1474, 1, 0, 0, 0, 1477, 1478, 6, 128, -1, 0, 1478, 1479, 3, 258, 129, 0, 1479, 1485, 1, 0, 0, 0, 1480, 1481, 10, 2, 0, 0, 1481, 1482, 5, 66, 0, 0, 1482, 1484, 3, 258, 129, 0, 1483, 1480, 1, 0, 0, 0, 1484, 1487, 1, 0, 0, 0, 1485, 1483, 1, 0, 0, 0, 1485, 1486, 1, 0, 0, 0, 1486, 257, 1, 0, 0, 0, 1487, 1485, 1, 0, 0, 0, 1488, 1489, 6, 129, -1, 0, 1489, 1490, 3, 260, 130, 0, 1490, 1496, 1, 0, 0, 0, 1491, 1492, 10, 2, 0, 0, 1492, 1493, 5, 56, 0, 0, 1493, 1495, 3, 260, 130, 0, 1494, 1491, 1, 0, 0, 0, 1495, 1498, 1, 0, 0, 0, 1496, 1494, 1, 0, 0, 0, 1496, 1497, 1, 0, 0, 0, 1497, 259, 1, 0, 0, 0, 1498, 1496, 1, 0, 0, 0, 1499, 1500, 6, 130, -1, 0, 1500, 1501, 3, 262, 131, 0, 1501, 1507, 1, 0, 0, 0, 1502, 1503, 10, 2, 0, 0, 1503, 1504, 7, 3, 0, 0, 1504, 1506, 3, 262, 131, 0, 1505, 1502, 1, 0, 0, 0, 1506, 1509, 1, 0, 0, 0, 1507, 1505, 1, 0, 0, 0, 1507, 1508, 1, 0, 0, 0, 1508, 261, 1, 0, 0, 0, 1509, 1507, 1, 0, 0, 0, 1510, 1511, 6, 131, -1, 0, 1511, 1512, 3, 264, 132, 0, 1512, 1518, 1, 0, 0, 0, 1513, 1514, 10, 2, 0, 0, 1514, 1515, 7, 2, 0, 0, 1515, 1517, 3, 264, 132, 0, 1516, 1513, 1, 0, 0, 0, 1517, 1520, 1, 0, 0, 0, 1518, 1516, 1, 0, 0, 0, 1518, 1519, 1, 0, 0, 0, 1519, 263, 1, 0, 0, 0, 1520, 1518, 1, 0, 0, 0, 1521, 1522, 6, 132, -1, 0, 1522, 1523, 3, 266, 133, 0, 1523, 1529, 1, 0, 0, 0, 1524, 1525, 10, 2, 0, 0, 1525, 1526, 7, 4, 0, 0, 1526, 1528, 3, 266, 133, 0, 1527, 1524, 1, 0, 0, 0, 1528, 1531, 1, 0, 0, 0, 1529, 1527, 1, 0, 0, 0, 1529, 1530, 1, 0, 0, 0, 1530, 265, 1, 0, 0, 0, 1531, 1529, 1, 0, 0, 0, 1532, 1533, 5, 51, 0, 0, 1533, 1540, 3, 266, 133, 0, 1534, 1535, 5, 52, 0, 0, 1535, 1540, 3, 266, 133, 0, 1536, 1537, 5, 65, 0, 0, 1537, 1540, 3, 266, 133, 0, 1538, 1540, 3, 268, 134, 0, 1539, 1532, 1, 0, 0, 0, 1539, 1534, 1, 0, 0, 0, 1539, 1536, 1, 0, 0, 0, 1539, 1538, 1, 0, 0, 0, 1540, 267, 1, 0, 0, 0, 1541, 1544, 3, 270, 135, 0, 1542, 1543, 5, 69, 0, 0, 1543, 1545, 3, 266, 133, 0, 1544, 1542, 1, 0, 0, 0, 1544, 1545, 1, 0, 0, 0, 1545, 269, 1, 0, 0, 0, 1546, 1547, 5, 7, 0, 0, 1547, 1550, 3, 272, 136, 0, 1548, 1550, 3, 272, 136, 0, 1549, 1546, 1, 0, 0, 0, 1549, 1548, 1, 0, 0, 0, 1550, 271, 1, 0, 0, 0, 1551, 1552, 6, 136, -1, 0, 1552, 1553, 3, 278, 139, 0, 1553, 1571, 1, 0, 0, 0, 1554, 1567, 10, 2, 0, 0, 1555, 1556, 5, 47, 0, 0, 1556, 1568, 5, 89, 0, 0, 1557, 1568, 3, 342, 171, 0, 1558, 1560, 5, 41, 0, 0, 1559, 1561, 3, 346, 173, 0, 1560, 1559, 1, 0, 0, 0, 1560, 1561, 1, 0, 0, 0, 1561, 1562, 1, 0, 0, 0, 1562, 1568, 5, 44, 0, 0, 1563, 1564, 5, 42, 0, 0, 1564, 1565, 3, 274, 137, 0, 1565, 1566, 5, 45, 0, 0, 1566, 1568, 1, 0, 0, 0, 1567, 1555, 1, 0, 0, 0, 1567, 1557, 1, 0, 0, 0, 1567, 1558, 1, 0, 0, 0, 1567, 1563, 1, 0, 0, 0, 1568, 1570, 1, 0, 0, 0, 1569, 1554, 1, 0, 0, 0, 1570, 1573, 1, 0, 0, 0, 1571, 1569, 1, 0, 0, 0, 1571, 1572, 1, 0, 0, 0, 1572, 273, 1, 0, 0, 0, 1573, 1571, 1, 0, 0, 0, 1574, 1593, 3, 276, 138, 0, 1575, 1578, 3, 276, 138, 0, 1576, 1578, 3, 352, 176, 0, 1577, 1575, 1, 0, 0, 0, 1577, 1576, 1, 0, 0, 0, 1578, 1586, 1, 0, 0, 0, 1579, 1582, 5, 49, 0, 0, 1580, 1583, 3, 276, 138, 0, 1581, 1583, 3, 352, 176, 0, 1582, 1580, 1, 0, 0, 0, 1582, 1581, 1, 0, 0, 0, 1583, 1585, 1, 0, 0, 0, 1584, 1579, 1, 0, 0, 0, 1585, 1588, 1, 0, 0, 0, 1586, 1584, 1, 0, 0, 0, 1586, 1587, 1, 0, 0, 0, 1587, 1590, 1, 0, 0, 0, 1588, 1586, 1, 0, 0, 0, 1589, 1591, 5, 49, 0, 0, 1590, 1589, 1, 0, 0, 0, 1590, 1591, 1, 0, 0, 0, 1591, 1593, 1, 0, 0, 0, 1592, 1574, 1, 0, 0, 0, 1592, 1577, 1, 0, 0, 0, 1593, 275, 1, 0, 0, 0, 1594, 1596, 3, 208, 104, 0, 1595, 1594, 1, 0, 0, 0, 1595, 1596, 1, 0, 0, 0, 1596, 1597, 1, 0, 0, 0, 1597, 1599, 5, 48, 0, 0, 1598, 1600, 3, 208, 104, 0, 1599, 1598, 1, 0, 0, 0, 1599, 1600, 1, 0, 0, 0, 1600, 1605, 1, 0, 0, 0, 1601, 1603, 5, 48, 0, 0, 1602, 1604, 3, 208, 104, 0, 1603, 1602, 1, 0, 0, 0, 1603, 1604, 1, 0, 0, 0, 1604, 1606, 1, 0, 0, 0, 1605, 1601, 1, 0, 0, 0, 1605, 1606, 1, 0, 0, 0, 1606, 1609, 1, 0, 0, 0, 1607, 1609, 3, 222, 111, 0, 1608, 1595, 1, 0, 0, 0, 1608, 1607, 1, 0, 0, 0, 1609, 277, 1, 0, 0, 0, 1610, 1633, 5, 89, 0, 0, 1611, 1633, 5, 16, 0, 0, 1612, 1633, 5, 6, 0, 0, 1613, 1633, 5, 11, 0, 0, 1614, 1633, 3, 318, 159, 0, 1615, 1633, 5, 90, 0, 0, 1616, 1620, 3, 322, 161, 0, 1617, 1620, 3, 280, 140, 0, 1618, 1620, 3, 342, 171, 0, 1619, 1616, 1, 0, 0, 0, 1619, 1617, 1, 0, 0, 0, 1619, 1618, 1, 0, 0, 0, 1620, 1633, 1, 0, 0, 0, 1621, 1624, 3, 320, 160, 0, 1622, 1624, 3, 338, 169, 0, 1623, 1621, 1, 0, 0, 0, 1623, 1622, 1, 0, 0, 0, 1624, 1633, 1, 0, 0, 0, 1625, 1630, 3, 326, 163, 0, 1626, 1630, 3, 324, 162, 0, 1627, 1630, 3, 344, 172, 0, 1628, 1630, 3, 340, 170, 0, 1629, 1625, 1, 0, 0, 0, 1629, 1626, 1, 0, 0, 0, 1629, 1627, 1, 0, 0, 0, 1629, 1628, 1, 0, 0, 0, 1630, 1633, 1, 0, 0, 0, 1631, 1633, 5, 86, 0, 0, 1632, 1610, 1, 0, 0, 0, 1632, 1611, 1, 0, 0, 0, 1632, 1612, 1, 0, 0, 0, 1632, 1613, 1, 0, 0, 0, 1632, 1614, 1, 0, 0, 0, 1632, 1615, 1, 0, 0, 0, 1632, 1619, 1, 0, 0, 0, 1632, 1623, 1, 0, 0, 0, 1632, 1629, 1, 0, 0, 0, 1632, 1631, 1, 0, 0, 0, 1633, 279, 1, 0, 0, 0, 1634, 1637, 5, 41, 0, 0, 1635, 1638, 3, 210, 105, 0, 1636, 1638, 3, 222, 111, 0, 1637, 1635, 1, 0, 0, 0, 1637, 1636, 1, 0, 0, 0, 1638, 1639, 1, 0, 0, 0, 1639, 1640, 5, 44, 0, 0, 1640, 281, 1, 0, 0, 0, 1641, 1643, 5, 24, 0, 0, 1642, 1644, 3, 284, 142, 0, 1643, 1642, 1, 0, 0, 0, 1643, 1644, 1, 0, 0, 0, 1644, 1645, 1, 0, 0, 0, 1645, 1646, 5, 48, 0, 0, 1646, 1647, 3, 208, 104, 0, 1647, 283, 1, 0, 0, 0, 1648, 1649, 3, 286, 143, 0, 1649, 285, 1, 0, 0, 0, 1650, 1654, 3, 288, 144, 0, 1651, 1653, 3, 296, 148, 0, 1652, 1651, 1, 0, 0, 0, 1653, 1656, 1, 0, 0, 0, 1654, 1652, 1, 0, 0, 0, 1654, 1655, 1, 0, 0, 0, 1655, 1660, 1, 0, 0, 0, 1656, 1654, 1, 0, 0, 0, 1657, 1659, 3, 298, 149, 0, 1658, 1657, 1, 0, 0, 0, 1659, 1662, 1, 0, 0, 0, 1660, 1658, 1, 0, 0, 0, 1660, 1661, 1, 0, 0, 0, 1661, 1664, 1, 0, 0, 0, 1662, 1660, 1, 0, 0, 0, 1663, 1665, 3, 292, 146, 0, 1664, 1663, 1, 0, 0, 0, 1664, 1665, 1, 0, 0, 0, 1665, 1700, 1, 0, 0, 0, 1666, 1670, 3, 290, 145, 0, 1667, 1669, 3, 298, 149, 0, 1668, 1667, 1, 0, 0, 0, 1669, 1672, 1, 0, 0, 0, 1670, 1668, 1, 0, 0, 0, 1670, 1671, 1, 0, 0, 0, 1671, 1674, 1, 0, 0, 0, 1672, 1670, 1, 0, 0, 0, 1673, 1675, 3, 292, 146, 0, 1674, 1673, 1, 0, 0, 0, 1674, 1675, 1, 0, 0, 0, 1675, 1700, 1, 0, 0, 0, 1676, 1678, 3, 296, 148, 0, 1677, 1676, 1, 0, 0, 0, 1678, 1679, 1, 0, 0, 0, 1679, 1677, 1, 0, 0, 0, 1679, 1680, 1, 0, 0, 0, 1680, 1684, 1, 0, 0, 0, 1681, 1683, 3, 298, 149, 0, 1682, 1681, 1, 0, 0, 0, 1683, 1686, 1, 0, 0, 0, 1684, 1682, 1, 0, 0, 0, 1684, 1685, 1, 0, 0, 0, 1685, 1688, 1, 0, 0, 0, 1686, 1684, 1, 0, 0, 0, 1687, 1689, 3, 292, 146, 0, 1688, 1687, 1, 0, 0, 0, 1688, 1689, 1, 0, 0, 0, 1689, 1700, 1, 0, 0, 0, 1690, 1692, 3, 298, 149, 0, 1691, 1690, 1, 0, 0, 0, 1692, 1693, 1, 0, 0, 0, 1693, 1691, 1, 0, 0, 0, 1693, 1694, 1, 0, 0, 0, 1694, 1696, 1, 0, 0, 0, 1695, 1697, 3, 292, 146, 0, 1696, 1695, 1, 0, 0, 0, 1696, 1697, 1, 0, 0, 0, 1697, 1700, 1, 0, 0, 0, 1698, 1700, 3, 292, 146, 0, 1699, 1650, 1, 0, 0, 0, 1699, 1666, 1, 0, 0, 0, 1699, 1677, 1, 0, 0, 0, 1699, 1691, 1, 0, 0, 0, 1699, 1698, 1, 0, 0, 0, 1700, 287, 1, 0, 0, 0, 1701, 1703, 3, 296, 148, 0, 1702, 1701, 1, 0, 0, 0, 1703, 1704, 1, 0, 0, 0, 1704, 1702, 1, 0, 0, 0, 1704, 1705, 1, 0, 0, 0, 1705, 1706, 1, 0, 0, 0, 1706, 1708, 5, 54, 0, 0, 1707, 1709, 5, 49, 0, 0, 1708, 1707, 1, 0, 0, 0, 1708, 1709, 1, 0, 0, 0, 1709, 289, 1, 0, 0, 0, 1710, 1712, 3, 296, 148, 0, 1711, 1710, 1, 0, 0, 0, 1712, 1715, 1, 0, 0, 0, 1713, 1711, 1, 0, 0, 0, 1713, 1714, 1, 0, 0, 0, 1714, 1717, 1, 0, 0, 0, 1715, 1713, 1, 0, 0, 0, 1716, 1718, 3, 298, 149, 0, 1717, 1716, 1, 0, 0, 0, 1718, 1719, 1, 0, 0, 0, 1719, 1717, 1, 0, 0, 0, 1719, 1720, 1, 0, 0, 0, 1720, 1721, 1, 0, 0, 0, 1721, 1723, 5, 54, 0, 0, 1722, 1724, 5, 49, 0, 0, 1723, 1722, 1, 0, 0, 0, 1723, 1724, 1, 0, 0, 0, 1724, 291, 1, 0, 0, 0, 1725, 1726, 5, 53, 0, 0, 1726, 1730, 3, 296, 148, 0, 1727, 1729, 3, 300, 150, 0, 1728, 1727, 1, 0, 0, 0, 1729, 1732, 1, 0, 0, 0, 1730, 1728, 1, 0, 0, 0, 1730, 1731, 1, 0, 0, 0, 1731, 1734, 1, 0, 0, 0, 1732, 1730, 1, 0, 0, 0, 1733, 1735, 3, 294, 147, 0, 1734, 1733, 1, 0, 0, 0, 1734, 1735, 1, 0, 0, 0, 1735, 1748, 1, 0, 0, 0, 1736, 1737, 5, 53, 0, 0, 1737, 1739, 5, 49, 0, 0, 1738, 1740, 3, 300, 150, 0, 1739, 1738, 1, 0, 0, 0, 1740, 1741, 1, 0, 0, 0, 1741, 1739, 1, 0, 0, 0, 1741, 1742, 1, 0, 0, 0, 1742, 1744, 1, 0, 0, 0, 1743, 1745, 3, 294, 147, 0, 1744, 1743, 1, 0, 0, 0, 1744, 1745, 1, 0, 0, 0, 1745, 1748, 1, 0, 0, 0, 1746, 1748, 3, 294, 147, 0, 1747, 1725, 1, 0, 0, 0, 1747, 1736, 1, 0, 0, 0, 1747, 1746, 1, 0, 0, 0, 1748, 293, 1, 0, 0, 0, 1749, 1750, 5, 69, 0, 0, 1750, 1751, 3, 296, 148, 0, 1751, 295, 1, 0, 0, 0, 1752, 1754, 3, 302, 151, 0, 1753, 1755, 5, 49, 0, 0, 1754, 1753, 1, 0, 0, 0, 1754, 1755, 1, 0, 0, 0, 1755, 297, 1, 0, 0, 0, 1756, 1757, 3, 302, 151, 0, 1757, 1759, 3, 100, 50, 0, 1758, 1760, 5, 49, 0, 0, 1759, 1758, 1, 0, 0, 0, 1759, 1760, 1, 0, 0, 0, 1760, 299, 1, 0, 0, 0, 1761, 1763, 3, 302, 151, 0, 1762, 1764, 3, 100, 50, 0, 1763, 1762, 1, 0, 0, 0, 1763, 1764, 1, 0, 0, 0, 1764, 1766, 1, 0, 0, 0, 1765, 1767, 5, 49, 0, 0, 1766, 1765, 1, 0, 0, 0, 1766, 1767, 1, 0, 0, 0, 1767, 301, 1, 0, 0, 0, 1768, 1769, 5, 89, 0, 0, 1769, 303, 1, 0, 0, 0, 1770, 1773, 3, 306, 153, 0, 1771, 1773, 5, 4, 0, 0, 1772, 1770, 1, 0, 0, 0, 1772, 1771, 1, 0, 0, 0, 1773, 305, 1, 0, 0, 0, 1774, 1777, 5, 43, 0, 0, 1775, 1778, 3, 210, 105, 0, 1776, 1778, 3, 212, 106, 0, 1777, 1775, 1, 0, 0, 0, 1777, 1776, 1, 0, 0, 0, 1778, 1780, 1, 0, 0, 0, 1779, 1781, 5, 59, 0, 0, 1780, 1779, 1, 0, 0, 0, 1780, 1781, 1, 0, 0, 0, 1781, 1783, 1, 0, 0, 0, 1782, 1784, 3, 308, 154, 0, 1783, 1782, 1, 0, 0, 0, 1783, 1784, 1, 0, 0, 0, 1784, 1786, 1, 0, 0, 0, 1785, 1787, 3, 310, 155, 0, 1786, 1785, 1, 0, 0, 0, 1786, 1787, 1, 0, 0, 0, 1787, 1788, 1, 0, 0, 0, 1788, 1789, 5, 46, 0, 0, 1789, 307, 1, 0, 0, 0, 1790, 1791, 5, 88, 0, 0, 1791, 1792, 5, 89, 0, 0, 1792, 309, 1, 0, 0, 0, 1793, 1797, 5, 48, 0, 0, 1794, 1796, 3, 312, 156, 0, 1795, 1794, 1, 0, 0, 0, 1796, 1799, 1, 0, 0, 0, 1797, 1795, 1, 0, 0, 0, 1797, 1798, 1, 0, 0, 0, 1798, 311, 1, 0, 0, 0, 1799, 1797, 1, 0, 0, 0, 1800, 1803, 5, 4, 0, 0, 1801, 1803, 3, 306, 153, 0, 1802, 1800, 1, 0, 0, 0, 1802, 1801, 1, 0, 0, 0, 1803, 313, 1, 0, 0, 0, 1804, 1808, 5, 3, 0, 0, 1805, 1807, 3, 304, 152, 0, 1806, 1805, 1, 0, 0, 0, 1807, 1810, 1, 0, 0, 0, 1808, 1806, 1, 0, 0, 0, 1808, 1809, 1, 0, 0, 0, 1809, 1811, 1, 0, 0, 0, 1810, 1808, 1, 0, 0, 0, 1811, 1812, 5, 5, 0, 0, 1812, 315, 1, 0, 0, 0, 1813, 1814, 5, 91, 0, 0, 1814, 317, 1, 0, 0, 0, 1815, 1818, 3, 314, 157, 0, 1816, 1818, 3, 316, 158, 0, 1817, 1815, 1, 0, 0, 0, 1817, 1816, 1, 0, 0, 0, 1818, 1819, 1, 0, 0, 0, 1819, 1817, 1, 0, 0, 0, 1819, 1820, 1, 0, 0, 0, 1820, 319, 1, 0, 0, 0, 1821, 1823, 5, 42, 0, 0, 1822, 1824, 3, 216, 108, 0, 1823, 1822, 1, 0, 0, 0, 1823, 1824, 1, 0, 0, 0, 1824, 1825, 1, 0, 0, 0, 1825, 1826, 5, 45, 0, 0, 1826, 321, 1, 0, 0, 0, 1827, 1833, 5, 41, 0, 0, 1828, 1829, 3, 218, 109, 0, 1829, 1831, 5, 49, 0, 0, 1830, 1832, 3, 216, 108, 0, 1831, 1830, 1, 0, 0, 0, 1831, 1832, 1, 0, 0, 0, 1832, 1834, 1, 0, 0, 0, 1833, 1828, 1, 0, 0, 0, 1833, 1834, 1, 0, 0, 0, 1834, 1835, 1, 0, 0, 0, 1835, 1836, 5, 44, 0, 0, 1836, 323, 1, 0, 0, 0, 1837, 1838, 5, 43, 0, 0, 1838, 1839, 3, 216, 108, 0, 1839, 1840, 5, 46, 0, 0, 1840, 325, 1, 0, 0, 0, 1841, 1843, 5, 43, 0, 0, 1842, 1844, 3, 328, 164, 0, 1843, 1842, 1, 0, 0, 0, 1843, 1844, 1, 0, 0, 0, 1844, 1845, 1, 0, 0, 0, 1845, 1846, 5, 46, 0, 0, 1846, 327, 1, 0, 0, 0, 1847, 1852, 3, 330, 165, 0, 1848, 1849, 5, 49, 0, 0, 1849, 1851, 3, 330, 165, 0, 1850, 1848, 1, 0, 0, 0, 1851, 1854, 1, 0, 0, 0, 1852, 1850, 1, 0, 0, 0, 1852, 1853, 1, 0, 0, 0, 1853, 1856, 1, 0, 0, 0, 1854, 1852, 1, 0, 0, 0, 1855, 1857, 5, 49, 0, 0, 1856, 1855, 1, 0, 0, 0, 1856, 1857, 1, 0, 0, 0, 1857, 329, 1, 0, 0, 0, 1858, 1859, 5, 69, 0, 0, 1859, 1862, 3, 254, 127, 0, 1860, 1862, 3, 332, 166, 0, 1861, 1858, 1, 0, 0, 0, 1861, 1860, 1, 0, 0, 0, 1862, 331, 1, 0, 0, 0, 1863, 1864, 3, 208, 104, 0, 1864, 1865, 5, 48, 0, 0, 1865, 1866, 3, 208, 104, 0, 1866, 333, 1, 0, 0, 0, 1867, 1869, 3, 336, 168, 0, 1868, 1867, 1, 0, 0, 0, 1869, 1870, 1, 0, 0, 0, 1870, 1868, 1, 0, 0, 0, 1870, 1871, 1, 0, 0, 0, 1871, 335, 1, 0, 0, 0, 1872, 1874, 5, 36, 0, 0, 1873, 1872, 1, 0, 0, 0, 1873, 1874, 1, 0, 0, 0, 1874, 1875, 1, 0, 0, 0, 1875, 1876, 5, 23, 0, 0, 1876, 1877, 3, 358, 179, 0, 1877, 1878, 5, 14, 0, 0, 1878, 1883, 3, 224, 112, 0, 1879, 1880, 5, 38, 0, 0, 1880, 1882, 3, 224, 112, 0, 1881, 1879, 1, 0, 0, 0, 1882, 1885, 1, 0, 0, 0, 1883, 1881, 1, 0, 0, 0, 1883, 1884, 1, 0, 0, 0, 1884, 337, 1, 0, 0, 0, 1885, 1883, 1, 0, 0, 0, 1886, 1887, 5, 42, 0, 0, 1887, 1888, 3, 222, 111, 0, 1888, 1889, 3, 334, 167, 0, 1889, 1890, 5, 45, 0, 0, 1890, 339, 1, 0, 0, 0, 1891, 1892, 5, 43, 0, 0, 1892, 1893, 3, 222, 111, 0, 1893, 1894, 3, 334, 167, 0, 1894, 1895, 5, 46, 0, 0, 1895, 341, 1, 0, 0, 0, 1896, 1899, 5, 41, 0, 0, 1897, 1900, 3, 220, 110, 0, 1898, 1900, 3, 208, 104, 0, 1899, 1897, 1, 0, 0, 0, 1899, 1898, 1, 0, 0, 0, 1900, 1901, 1, 0, 0, 0, 1901, 1902, 3, 334, 167, 0, 1902, 1903, 5, 44, 0, 0, 1903, 343, 1, 0, 0, 0, 1904, 1905, 5, 43, 0, 0, 1905, 1906, 3, 332, 166, 0, 1906, 1907, 3, 334, 167, 0, 1907, 1908, 5, 46, 0, 0, 1908, 345, 1, 0, 0, 0, 1909, 1911, 3, 348, 174, 0, 1910, 1912, 5, 49, 0, 0, 1911, 1910, 1, 0, 0, 0, 1911, 1912, 1, 0, 0, 0, 1912, 347, 1, 0, 0, 0, 1913, 1919, 3, 352, 176, 0, 1914, 1917, 3, 220, 110, 0, 1915, 1917, 3, 208, 104, 0, 1916, 1914, 1, 0, 0, 0, 1916, 1915, 1, 0, 0, 0, 1917, 1919, 1, 0, 0, 0, 1918, 1913, 1, 0, 0, 0, 1918, 1916, 1, 0, 0, 0, 1919, 1930, 1, 0, 0, 0, 1920, 1926, 5, 49, 0, 0, 1921, 1927, 3, 352, 176, 0, 1922, 1925, 3, 220, 110, 0, 1923, 1925, 3, 208, 104, 0, 1924, 1922, 1, 0, 0, 0, 1924, 1923, 1, 0, 0, 0, 1925, 1927, 1, 0, 0, 0, 1926, 1921, 1, 0, 0, 0, 1926, 1924, 1, 0, 0, 0, 1927, 1929, 1, 0, 0, 0, 1928, 1920, 1, 0, 0, 0, 1929, 1932, 1, 0, 0, 0, 1930, 1928, 1, 0, 0, 0, 1930, 1931, 1, 0, 0, 0, 1931, 1935, 1, 0, 0, 0, 1932, 1930, 1, 0, 0, 0, 1933, 1934, 5, 49, 0, 0, 1934, 1936, 3, 350, 175, 0, 1935, 1933, 1, 0, 0, 0, 1935, 1936, 1, 0, 0, 0, 1936, 1939, 1, 0, 0, 0, 1937, 1939, 3, 350, 175, 0, 1938, 1918, 1, 0, 0, 0, 1938, 1937, 1, 0, 0, 0, 1939, 349, 1, 0, 0, 0, 1940, 1945, 3, 354, 177, 0, 1941, 1942, 5, 49, 0, 0, 1942, 1944, 3, 354, 177, 0, 1943, 1941, 1, 0, 0, 0, 1944, 1947, 1, 0, 0, 0, 1945, 1943, 1, 0, 0, 0, 1945, 1946, 1, 0, 0, 0, 1946, 1957, 1, 0, 0, 0, 1947, 1945, 1, 0, 0, 0, 1948, 1949, 5, 49, 0, 0, 1949, 1954, 3, 356, 178, 0, 1950, 1951, 5, 49, 0, 0, 1951, 1953, 3, 356, 178, 0, 1952, 1950, 1, 0, 0, 0, 1953, 1956, 1, 0, 0, 0, 1954, 1952, 1, 0, 0, 0, 1954, 1955, 1, 0, 0, 0, 1955, 1958, 1, 0, 0, 0, 1956, 1954, 1, 0, 0, 0, 1957, 1948, 1, 0, 0, 0, 1957, 1958, 1, 0, 0, 0, 1958, 1968, 1, 0, 0, 0, 1959, 1964, 3, 356, 178, 0, 1960, 1961, 5, 49, 0, 0, 1961, 1963, 3, 356, 178, 0, 1962, 1960, 1, 0, 0, 0, 1963, 1966, 1, 0, 0, 0, 1964, 1962, 1, 0, 0, 0, 1964, 1965, 1, 0, 0, 0, 1965, 1968, 1, 0, 0, 0, 1966, 1964, 1, 0, 0, 0, 1967, 1940, 1, 0, 0, 0, 1967, 1959, 1, 0, 0, 0, 1968, 351, 1, 0, 0, 0, 1969, 1970, 5, 53, 0, 0, 1970, 1971, 3, 208, 104, 0, 1971, 353, 1, 0, 0, 0, 1972, 1973, 5, 89, 0, 0, 1973, 1974, 5, 59, 0, 0, 1974, 1977, 3, 208, 104, 0, 1975, 1977, 3, 352, 176, 0, 1976, 1972, 1, 0, 0, 0, 1976, 1975, 1, 0, 0, 0, 1977, 355, 1, 0, 0, 0, 1978, 1979, 5, 89, 0, 0, 1979, 1980, 5, 59, 0, 0, 1980, 1984, 3, 208, 104, 0, 1981, 1982, 5, 69, 0, 0, 1982, 1984, 3, 208, 104, 0, 1983, 1978, 1, 0, 0, 0, 1983, 1981, 1, 0, 0, 0, 1984, 357, 1, 0, 0, 0, 1985, 1990, 3, 364, 182, 0, 1986, 1987, 5, 49, 0, 0, 1987, 1989, 3, 364, 182, 0, 1988, 1986, 1, 0, 0, 0, 1989, 1992, 1, 0, 0, 0, 1990, 1988, 1, 0, 0, 0, 1990, 1991, 1, 0, 0, 0, 1991, 1994, 1, 0, 0, 0, 1992, 1990, 1, 0, 0, 0, 1993, 1995, 5, 49, 0, 0, 1994, 1993, 1, 0, 0, 0, 1994, 1995, 1, 0, 0, 0, 1995, 359, 1, 0, 0, 0, 1996, 1999, 3, 364, 182, 0, 1997, 1998, 5, 49, 0, 0, 1998, 2e3, 3, 364, 182, 0, 1999, 1997, 1, 0, 0, 0, 2e3, 2001, 1, 0, 0, 0, 2001, 1999, 1, 0, 0, 0, 2001, 2002, 1, 0, 0, 0, 2002, 2004, 1, 0, 0, 0, 2003, 2005, 5, 49, 0, 0, 2004, 2003, 1, 0, 0, 0, 2004, 2005, 1, 0, 0, 0, 2005, 361, 1, 0, 0, 0, 2006, 2017, 3, 364, 182, 0, 2007, 2018, 5, 49, 0, 0, 2008, 2009, 5, 49, 0, 0, 2009, 2011, 3, 364, 182, 0, 2010, 2008, 1, 0, 0, 0, 2011, 2012, 1, 0, 0, 0, 2012, 2010, 1, 0, 0, 0, 2012, 2013, 1, 0, 0, 0, 2013, 2015, 1, 0, 0, 0, 2014, 2016, 5, 49, 0, 0, 2015, 2014, 1, 0, 0, 0, 2015, 2016, 1, 0, 0, 0, 2016, 2018, 1, 0, 0, 0, 2017, 2007, 1, 0, 0, 0, 2017, 2010, 1, 0, 0, 0, 2018, 363, 1, 0, 0, 0, 2019, 2020, 5, 53, 0, 0, 2020, 2023, 3, 364, 182, 0, 2021, 2023, 3, 366, 183, 0, 2022, 2019, 1, 0, 0, 0, 2022, 2021, 1, 0, 0, 0, 2023, 365, 1, 0, 0, 0, 2024, 2031, 3, 374, 187, 0, 2025, 2026, 5, 47, 0, 0, 2026, 2032, 5, 89, 0, 0, 2027, 2028, 5, 42, 0, 0, 2028, 2029, 3, 274, 137, 0, 2029, 2030, 5, 45, 0, 0, 2030, 2032, 1, 0, 0, 0, 2031, 2025, 1, 0, 0, 0, 2031, 2027, 1, 0, 0, 0, 2032, 2035, 1, 0, 0, 0, 2033, 2035, 3, 368, 184, 0, 2034, 2024, 1, 0, 0, 0, 2034, 2033, 1, 0, 0, 0, 2035, 367, 1, 0, 0, 0, 2036, 2052, 5, 89, 0, 0, 2037, 2038, 5, 41, 0, 0, 2038, 2039, 3, 366, 183, 0, 2039, 2040, 5, 44, 0, 0, 2040, 2052, 1, 0, 0, 0, 2041, 2043, 5, 41, 0, 0, 2042, 2044, 3, 362, 181, 0, 2043, 2042, 1, 0, 0, 0, 2043, 2044, 1, 0, 0, 0, 2044, 2045, 1, 0, 0, 0, 2045, 2052, 5, 44, 0, 0, 2046, 2048, 5, 42, 0, 0, 2047, 2049, 3, 360, 180, 0, 2048, 2047, 1, 0, 0, 0, 2048, 2049, 1, 0, 0, 0, 2049, 2050, 1, 0, 0, 0, 2050, 2052, 5, 45, 0, 0, 2051, 2036, 1, 0, 0, 0, 2051, 2037, 1, 0, 0, 0, 2051, 2041, 1, 0, 0, 0, 2051, 2046, 1, 0, 0, 0, 2052, 369, 1, 0, 0, 0, 2053, 2060, 3, 372, 186, 0, 2054, 2060, 5, 89, 0, 0, 2055, 2056, 5, 41, 0, 0, 2056, 2057, 3, 370, 185, 0, 2057, 2058, 5, 44, 0, 0, 2058, 2060, 1, 0, 0, 0, 2059, 2053, 1, 0, 0, 0, 2059, 2054, 1, 0, 0, 0, 2059, 2055, 1, 0, 0, 0, 2060, 371, 1, 0, 0, 0, 2061, 2068, 3, 374, 187, 0, 2062, 2063, 5, 47, 0, 0, 2063, 2069, 5, 89, 0, 0, 2064, 2065, 5, 42, 0, 0, 2065, 2066, 3, 274, 137, 0, 2066, 2067, 5, 45, 0, 0, 2067, 2069, 1, 0, 0, 0, 2068, 2062, 1, 0, 0, 0, 2068, 2064, 1, 0, 0, 0, 2069, 373, 1, 0, 0, 0, 2070, 2071, 6, 187, -1, 0, 2071, 2072, 3, 278, 139, 0, 2072, 2090, 1, 0, 0, 0, 2073, 2086, 10, 2, 0, 0, 2074, 2075, 5, 47, 0, 0, 2075, 2087, 5, 89, 0, 0, 2076, 2077, 5, 42, 0, 0, 2077, 2078, 3, 274, 137, 0, 2078, 2079, 5, 45, 0, 0, 2079, 2087, 1, 0, 0, 0, 2080, 2087, 3, 342, 171, 0, 2081, 2083, 5, 41, 0, 0, 2082, 2084, 3, 346, 173, 0, 2083, 2082, 1, 0, 0, 0, 2083, 2084, 1, 0, 0, 0, 2084, 2085, 1, 0, 0, 0, 2085, 2087, 5, 44, 0, 0, 2086, 2074, 1, 0, 0, 0, 2086, 2076, 1, 0, 0, 0, 2086, 2080, 1, 0, 0, 0, 2086, 2081, 1, 0, 0, 0, 2087, 2089, 1, 0, 0, 0, 2088, 2073, 1, 0, 0, 0, 2089, 2092, 1, 0, 0, 0, 2090, 2088, 1, 0, 0, 0, 2090, 2091, 1, 0, 0, 0, 2091, 375, 1, 0, 0, 0, 2092, 2090, 1, 0, 0, 0, 2093, 2098, 3, 378, 189, 0, 2094, 2095, 5, 49, 0, 0, 2095, 2097, 3, 378, 189, 0, 2096, 2094, 1, 0, 0, 0, 2097, 2100, 1, 0, 0, 0, 2098, 2096, 1, 0, 0, 0, 2098, 2099, 1, 0, 0, 0, 2099, 2102, 1, 0, 0, 0, 2100, 2098, 1, 0, 0, 0, 2101, 2103, 5, 49, 0, 0, 2102, 2101, 1, 0, 0, 0, 2102, 2103, 1, 0, 0, 0, 2103, 377, 1, 0, 0, 0, 2104, 2111, 3, 374, 187, 0, 2105, 2106, 5, 47, 0, 0, 2106, 2112, 5, 89, 0, 0, 2107, 2108, 5, 42, 0, 0, 2108, 2109, 3, 274, 137, 0, 2109, 2110, 5, 45, 0, 0, 2110, 2112, 1, 0, 0, 0, 2111, 2105, 1, 0, 0, 0, 2111, 2107, 1, 0, 0, 0, 2112, 2115, 1, 0, 0, 0, 2113, 2115, 3, 380, 190, 0, 2114, 2104, 1, 0, 0, 0, 2114, 2113, 1, 0, 0, 0, 2115, 379, 1, 0, 0, 0, 2116, 2132, 5, 89, 0, 0, 2117, 2118, 5, 41, 0, 0, 2118, 2119, 3, 378, 189, 0, 2119, 2120, 5, 44, 0, 0, 2120, 2132, 1, 0, 0, 0, 2121, 2123, 5, 41, 0, 0, 2122, 2124, 3, 376, 188, 0, 2123, 2122, 1, 0, 0, 0, 2123, 2124, 1, 0, 0, 0, 2124, 2125, 1, 0, 0, 0, 2125, 2132, 5, 44, 0, 0, 2126, 2128, 5, 42, 0, 0, 2127, 2129, 3, 376, 188, 0, 2128, 2127, 1, 0, 0, 0, 2128, 2129, 1, 0, 0, 0, 2129, 2130, 1, 0, 0, 0, 2130, 2132, 5, 45, 0, 0, 2131, 2116, 1, 0, 0, 0, 2131, 2117, 1, 0, 0, 0, 2131, 2121, 1, 0, 0, 0, 2131, 2126, 1, 0, 0, 0, 2132, 381, 1, 0, 0, 0, 2133, 2138, 3, 208, 104, 0, 2134, 2135, 5, 49, 0, 0, 2135, 2137, 3, 208, 104, 0, 2136, 2134, 1, 0, 0, 0, 2137, 2140, 1, 0, 0, 0, 2138, 2136, 1, 0, 0, 0, 2138, 2139, 1, 0, 0, 0, 2139, 2153, 1, 0, 0, 0, 2140, 2138, 1, 0, 0, 0, 2141, 2151, 5, 49, 0, 0, 2142, 2143, 5, 53, 0, 0, 2143, 2147, 3, 208, 104, 0, 2144, 2145, 5, 49, 0, 0, 2145, 2146, 5, 69, 0, 0, 2146, 2148, 3, 208, 104, 0, 2147, 2144, 1, 0, 0, 0, 2147, 2148, 1, 0, 0, 0, 2148, 2152, 1, 0, 0, 0, 2149, 2150, 5, 69, 0, 0, 2150, 2152, 3, 208, 104, 0, 2151, 2142, 1, 0, 0, 0, 2151, 2149, 1, 0, 0, 0, 2152, 2154, 1, 0, 0, 0, 2153, 2141, 1, 0, 0, 0, 2153, 2154, 1, 0, 0, 0, 2154, 2165, 1, 0, 0, 0, 2155, 2156, 5, 53, 0, 0, 2156, 2160, 3, 208, 104, 0, 2157, 2158, 5, 49, 0, 0, 2158, 2159, 5, 69, 0, 0, 2159, 2161, 3, 208, 104, 0, 2160, 2157, 1, 0, 0, 0, 2160, 2161, 1, 0, 0, 0, 2161, 2165, 1, 0, 0, 0, 2162, 2163, 5, 69, 0, 0, 2163, 2165, 3, 208, 104, 0, 2164, 2133, 1, 0, 0, 0, 2164, 2155, 1, 0, 0, 0, 2164, 2162, 1, 0, 0, 0, 2165, 383, 1, 0, 0, 0, 2166, 2167, 5, 93, 0, 0, 2167, 2170, 5, 92, 0, 0, 2168, 2170, 5, 92, 0, 0, 2169, 2166, 1, 0, 0, 0, 2169, 2168, 1, 0, 0, 0, 2170, 385, 1, 0, 0, 0, 2171, 2172, 4, 193, 9, 0, 2172, 2173, 5, 89, 0, 0, 2173, 387, 1, 0, 0, 0, 2174, 2175, 4, 194, 10, 0, 2175, 2176, 5, 89, 0, 0, 2176, 389, 1, 0, 0, 0, 2177, 2178, 4, 195, 11, 0, 2178, 2179, 5, 89, 0, 0, 2179, 391, 1, 0, 0, 0, 2180, 2181, 4, 196, 12, 0, 2181, 2182, 5, 89, 0, 0, 2182, 393, 1, 0, 0, 0, 2183, 2184, 4, 197, 13, 0, 2184, 2185, 5, 89, 0, 0, 2185, 395, 1, 0, 0, 0, 291, 397, 407, 414, 422, 432, 436, 444, 451, 455, 473, 483, 490, 497, 503, 510, 514, 517, 523, 525, 529, 535, 541, 543, 551, 560, 572, 576, 585, 596, 600, 605, 611, 618, 624, 631, 637, 647, 656, 664, 670, 675, 679, 682, 691, 696, 700, 705, 709, 716, 720, 725, 729, 732, 740, 746, 750, 756, 760, 765, 770, 774, 779, 782, 785, 790, 794, 799, 805, 809, 816, 820, 827, 831, 838, 841, 844, 851, 854, 858, 861, 866, 869, 873, 876, 879, 883, 903, 905, 913, 915, 926, 929, 937, 941, 944, 953, 957, 967, 972, 974, 981, 994, 997, 1e3, 1008, 1011, 1014, 1016, 1022, 1024, 1034, 1051, 1058, 1061, 1066, 1076, 1080, 1091, 1102, 1110, 1118, 1125, 1130, 1151, 1158, 1167, 1172, 1175, 1180, 1187, 1191, 1195, 1201, 1208, 1216, 1219, 1223, 1230, 1235, 1248, 1251, 1254, 1256, 1265, 1273, 1283, 1297, 1301, 1305, 1311, 1317, 1319, 1329, 1333, 1341, 1344, 1350, 1352, 1359, 1363, 1368, 1375, 1379, 1384, 1392, 1399, 1407, 1413, 1419, 1432, 1474, 1485, 1496, 1507, 1518, 1529, 1539, 1544, 1549, 1560, 1567, 1571, 1577, 1582, 1586, 1590, 1592, 1595, 1599, 1603, 1605, 1608, 1619, 1623, 1629, 1632, 1637, 1643, 1654, 1660, 1664, 1670, 1674, 1679, 1684, 1688, 1693, 1696, 1699, 1704, 1708, 1713, 1719, 1723, 1730, 1734, 1741, 1744, 1747, 1754, 1759, 1763, 1766, 1772, 1777, 1780, 1783, 1786, 1797, 1802, 1808, 1817, 1819, 1823, 1831, 1833, 1843, 1852, 1856, 1861, 1870, 1873, 1883, 1899, 1911, 1916, 1918, 1924, 1926, 1930, 1935, 1938, 1945, 1954, 1957, 1964, 1967, 1976, 1983, 1990, 1994, 2001, 2004, 2012, 2015, 2017, 2022, 2031, 2034, 2043, 2048, 2051, 2059, 2068, 2083, 2086, 2090, 2098, 2102, 2111, 2114, 2123, 2128, 2131, 2138, 2147, 2151, 2153, 2160, 2164, 2169 ]} static get _ATN() { if (!_PythonParser.__ATN) { _PythonParser.__ATN = new (0, _antlr4.ATNDeserializer)().deserialize(_PythonParser._serializedATN); } return _PythonParser.__ATN; } static __initStatic309() {this.DecisionsToDFA = _PythonParser._ATN.decisionToState.map((ds, index) => new (0, _antlr4.DFA)(ds, index))} }, _class2.__initStatic9(), _class2.__initStatic10(), _class2.__initStatic11(), _class2.__initStatic12(), _class2.__initStatic13(), _class2.__initStatic14(), _class2.__initStatic15(), _class2.__initStatic16(), _class2.__initStatic17(), _class2.__initStatic18(), _class2.__initStatic19(), _class2.__initStatic20(), _class2.__initStatic21(), _class2.__initStatic22(), _class2.__initStatic23(), _class2.__initStatic24(), _class2.__initStatic25(), _class2.__initStatic26(), _class2.__initStatic27(), _class2.__initStatic28(), _class2.__initStatic29(), _class2.__initStatic30(), _class2.__initStatic31(), _class2.__initStatic32(), _class2.__initStatic33(), _class2.__initStatic34(), _class2.__initStatic35(), _class2.__initStatic36(), _class2.__initStatic37(), _class2.__initStatic38(), _class2.__initStatic39(), _class2.__initStatic40(), _class2.__initStatic41(), _class2.__initStatic42(), _class2.__initStatic43(), _class2.__initStatic44(), _class2.__initStatic45(), _class2.__initStatic46(), _class2.__initStatic47(), _class2.__initStatic48(), _class2.__initStatic49(), _class2.__initStatic50(), _class2.__initStatic51(), _class2.__initStatic52(), _class2.__initStatic53(), _class2.__initStatic54(), _class2.__initStatic55(), _class2.__initStatic56(), _class2.__initStatic57(), _class2.__initStatic58(), _class2.__initStatic59(), _class2.__initStatic60(), _class2.__initStatic61(), _class2.__initStatic62(), _class2.__initStatic63(), _class2.__initStatic64(), _class2.__initStatic65(), _class2.__initStatic66(), _class2.__initStatic67(), _class2.__initStatic68(), _class2.__initStatic69(), _class2.__initStatic70(), _class2.__initStatic71(), _class2.__initStatic72(), _class2.__initStatic73(), _class2.__initStatic74(), _class2.__initStatic75(), _class2.__initStatic76(), _class2.__initStatic77(), _class2.__initStatic78(), _class2.__initStatic79(), _class2.__initStatic80(), _class2.__initStatic81(), _class2.__initStatic82(), _class2.__initStatic83(), _class2.__initStatic84(), _class2.__initStatic85(), _class2.__initStatic86(), _class2.__initStatic87(), _class2.__initStatic88(), _class2.__initStatic89(), _class2.__initStatic90(), _class2.__initStatic91(), _class2.__initStatic92(), _class2.__initStatic93(), _class2.__initStatic94(), _class2.__initStatic95(), _class2.__initStatic96(), _class2.__initStatic97(), _class2.__initStatic98(), _class2.__initStatic99(), _class2.__initStatic100(), _class2.__initStatic101(), _class2.__initStatic102(), _class2.__initStatic103(), _class2.__initStatic104(), _class2.__initStatic105(), _class2.__initStatic106(), _class2.__initStatic107(), _class2.__initStatic108(), _class2.__initStatic109(), _class2.__initStatic110(), _class2.__initStatic111(), _class2.__initStatic112(), _class2.__initStatic113(), _class2.__initStatic114(), _class2.__initStatic115(), _class2.__initStatic116(), _class2.__initStatic117(), _class2.__initStatic118(), _class2.__initStatic119(), _class2.__initStatic120(), _class2.__initStatic121(), _class2.__initStatic122(), _class2.__initStatic123(), _class2.__initStatic124(), _class2.__initStatic125(), _class2.__initStatic126(), _class2.__initStatic127(), _class2.__initStatic128(), _class2.__initStatic129(), _class2.__initStatic130(), _class2.__initStatic131(), _class2.__initStatic132(), _class2.__initStatic133(), _class2.__initStatic134(), _class2.__initStatic135(), _class2.__initStatic136(), _class2.__initStatic137(), _class2.__initStatic138(), _class2.__initStatic139(), _class2.__initStatic140(), _class2.__initStatic141(), _class2.__initStatic142(), _class2.__initStatic143(), _class2.__initStatic144(), _class2.__initStatic145(), _class2.__initStatic146(), _class2.__initStatic147(), _class2.__initStatic148(), _class2.__initStatic149(), _class2.__initStatic150(), _class2.__initStatic151(), _class2.__initStatic152(), _class2.__initStatic153(), _class2.__initStatic154(), _class2.__initStatic155(), _class2.__initStatic156(), _class2.__initStatic157(), _class2.__initStatic158(), _class2.__initStatic159(), _class2.__initStatic160(), _class2.__initStatic161(), _class2.__initStatic162(), _class2.__initStatic163(), _class2.__initStatic164(), _class2.__initStatic165(), _class2.__initStatic166(), _class2.__initStatic167(), _class2.__initStatic168(), _class2.__initStatic169(), _class2.__initStatic170(), _class2.__initStatic171(), _class2.__initStatic172(), _class2.__initStatic173(), _class2.__initStatic174(), _class2.__initStatic175(), _class2.__initStatic176(), _class2.__initStatic177(), _class2.__initStatic178(), _class2.__initStatic179(), _class2.__initStatic180(), _class2.__initStatic181(), _class2.__initStatic182(), _class2.__initStatic183(), _class2.__initStatic184(), _class2.__initStatic185(), _class2.__initStatic186(), _class2.__initStatic187(), _class2.__initStatic188(), _class2.__initStatic189(), _class2.__initStatic190(), _class2.__initStatic191(), _class2.__initStatic192(), _class2.__initStatic193(), _class2.__initStatic194(), _class2.__initStatic195(), _class2.__initStatic196(), _class2.__initStatic197(), _class2.__initStatic198(), _class2.__initStatic199(), _class2.__initStatic200(), _class2.__initStatic201(), _class2.__initStatic202(), _class2.__initStatic203(), _class2.__initStatic204(), _class2.__initStatic205(), _class2.__initStatic206(), _class2.__initStatic207(), _class2.__initStatic208(), _class2.__initStatic209(), _class2.__initStatic210(), _class2.__initStatic211(), _class2.__initStatic212(), _class2.__initStatic213(), _class2.__initStatic214(), _class2.__initStatic215(), _class2.__initStatic216(), _class2.__initStatic217(), _class2.__initStatic218(), _class2.__initStatic219(), _class2.__initStatic220(), _class2.__initStatic221(), _class2.__initStatic222(), _class2.__initStatic223(), _class2.__initStatic224(), _class2.__initStatic225(), _class2.__initStatic226(), _class2.__initStatic227(), _class2.__initStatic228(), _class2.__initStatic229(), _class2.__initStatic230(), _class2.__initStatic231(), _class2.__initStatic232(), _class2.__initStatic233(), _class2.__initStatic234(), _class2.__initStatic235(), _class2.__initStatic236(), _class2.__initStatic237(), _class2.__initStatic238(), _class2.__initStatic239(), _class2.__initStatic240(), _class2.__initStatic241(), _class2.__initStatic242(), _class2.__initStatic243(), _class2.__initStatic244(), _class2.__initStatic245(), _class2.__initStatic246(), _class2.__initStatic247(), _class2.__initStatic248(), _class2.__initStatic249(), _class2.__initStatic250(), _class2.__initStatic251(), _class2.__initStatic252(), _class2.__initStatic253(), _class2.__initStatic254(), _class2.__initStatic255(), _class2.__initStatic256(), _class2.__initStatic257(), _class2.__initStatic258(), _class2.__initStatic259(), _class2.__initStatic260(), _class2.__initStatic261(), _class2.__initStatic262(), _class2.__initStatic263(), _class2.__initStatic264(), _class2.__initStatic265(), _class2.__initStatic266(), _class2.__initStatic267(), _class2.__initStatic268(), _class2.__initStatic269(), _class2.__initStatic270(), _class2.__initStatic271(), _class2.__initStatic272(), _class2.__initStatic273(), _class2.__initStatic274(), _class2.__initStatic275(), _class2.__initStatic276(), _class2.__initStatic277(), _class2.__initStatic278(), _class2.__initStatic279(), _class2.__initStatic280(), _class2.__initStatic281(), _class2.__initStatic282(), _class2.__initStatic283(), _class2.__initStatic284(), _class2.__initStatic285(), _class2.__initStatic286(), _class2.__initStatic287(), _class2.__initStatic288(), _class2.__initStatic289(), _class2.__initStatic290(), _class2.__initStatic291(), _class2.__initStatic292(), _class2.__initStatic293(), _class2.__initStatic294(), _class2.__initStatic295(), _class2.__initStatic296(), _class2.__initStatic297(), _class2.__initStatic298(), _class2.__initStatic299(), _class2.__initStatic300(), _class2.__initStatic301(), _class2.__initStatic302(), _class2.__initStatic303(), _class2.__initStatic304(), _class2.__initStatic305(), _class2.__initStatic306(), _class2.__initStatic307(), _class2.__initStatic308(), _class2.__initStatic309(), _class2); var File_inputContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } EOF() { return this.getToken(PythonParser.EOF, 0); } statements() { return this.getTypedRuleContext(StatementsContext, 0); } get ruleIndex() { return PythonParser.RULE_file_input; } enterRule(listener) { if (listener.enterFile_input) { listener.enterFile_input(this); } } exitRule(listener) { if (listener.exitFile_input) { listener.exitFile_input(this); } } // @Override accept(visitor) { if (visitor.visitFile_input) { return visitor.visitFile_input(this); } else { return visitor.visitChildren(this); } } }; var InteractiveContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } statement_newline() { return this.getTypedRuleContext(Statement_newlineContext, 0); } get ruleIndex() { return PythonParser.RULE_interactive; } enterRule(listener) { if (listener.enterInteractive) { listener.enterInteractive(this); } } exitRule(listener) { if (listener.exitInteractive) { listener.exitInteractive(this); } } // @Override accept(visitor) { if (visitor.visitInteractive) { return visitor.visitInteractive(this); } else { return visitor.visitChildren(this); } } }; var EvalContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } expressions() { return this.getTypedRuleContext(ExpressionsContext, 0); } EOF() { return this.getToken(PythonParser.EOF, 0); } NEWLINE_list() { return this.getTokens(PythonParser.NEWLINE); } NEWLINE(i) { return this.getToken(PythonParser.NEWLINE, i); } get ruleIndex() { return PythonParser.RULE_eval; } enterRule(listener) { if (listener.enterEval) { listener.enterEval(this); } } exitRule(listener) { if (listener.exitEval) { listener.exitEval(this); } } // @Override accept(visitor) { if (visitor.visitEval) { return visitor.visitEval(this); } else { return visitor.visitChildren(this); } } }; var Func_typeContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LPAR() { return this.getToken(PythonParser.LPAR, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } RARROW() { return this.getToken(PythonParser.RARROW, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } EOF() { return this.getToken(PythonParser.EOF, 0); } type_expressions() { return this.getTypedRuleContext(Type_expressionsContext, 0); } NEWLINE_list() { return this.getTokens(PythonParser.NEWLINE); } NEWLINE(i) { return this.getToken(PythonParser.NEWLINE, i); } get ruleIndex() { return PythonParser.RULE_func_type; } enterRule(listener) { if (listener.enterFunc_type) { listener.enterFunc_type(this); } } exitRule(listener) { if (listener.exitFunc_type) { listener.exitFunc_type(this); } } // @Override accept(visitor) { if (visitor.visitFunc_type) { return visitor.visitFunc_type(this); } else { return visitor.visitChildren(this); } } }; var Fstring_inputContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } star_expressions() { return this.getTypedRuleContext(Star_expressionsContext, 0); } get ruleIndex() { return PythonParser.RULE_fstring_input; } enterRule(listener) { if (listener.enterFstring_input) { listener.enterFstring_input(this); } } exitRule(listener) { if (listener.exitFstring_input) { listener.exitFstring_input(this); } } // @Override accept(visitor) { if (visitor.visitFstring_input) { return visitor.visitFstring_input(this); } else { return visitor.visitChildren(this); } } }; var StatementsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } statement_list() { return this.getTypedRuleContexts(StatementContext); } statement(i) { return this.getTypedRuleContext(StatementContext, i); } get ruleIndex() { return PythonParser.RULE_statements; } enterRule(listener) { if (listener.enterStatements) { listener.enterStatements(this); } } exitRule(listener) { if (listener.exitStatements) { listener.exitStatements(this); } } // @Override accept(visitor) { if (visitor.visitStatements) { return visitor.visitStatements(this); } else { return visitor.visitChildren(this); } } }; var StatementContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } compound_stmt() { return this.getTypedRuleContext(Compound_stmtContext, 0); } simple_stmts() { return this.getTypedRuleContext(Simple_stmtsContext, 0); } get ruleIndex() { return PythonParser.RULE_statement; } enterRule(listener) { if (listener.enterStatement) { listener.enterStatement(this); } } exitRule(listener) { if (listener.exitStatement) { listener.exitStatement(this); } } // @Override accept(visitor) { if (visitor.visitStatement) { return visitor.visitStatement(this); } else { return visitor.visitChildren(this); } } }; var Statement_newlineContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } compound_stmt() { return this.getTypedRuleContext(Compound_stmtContext, 0); } NEWLINE() { return this.getToken(PythonParser.NEWLINE, 0); } simple_stmts() { return this.getTypedRuleContext(Simple_stmtsContext, 0); } EOF() { return this.getToken(PythonParser.EOF, 0); } get ruleIndex() { return PythonParser.RULE_statement_newline; } enterRule(listener) { if (listener.enterStatement_newline) { listener.enterStatement_newline(this); } } exitRule(listener) { if (listener.exitStatement_newline) { listener.exitStatement_newline(this); } } // @Override accept(visitor) { if (visitor.visitStatement_newline) { return visitor.visitStatement_newline(this); } else { return visitor.visitChildren(this); } } }; var Simple_stmtsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } simple_stmt_list() { return this.getTypedRuleContexts(Simple_stmtContext); } simple_stmt(i) { return this.getTypedRuleContext(Simple_stmtContext, i); } NEWLINE() { return this.getToken(PythonParser.NEWLINE, 0); } SEMI_list() { return this.getTokens(PythonParser.SEMI); } SEMI(i) { return this.getToken(PythonParser.SEMI, i); } get ruleIndex() { return PythonParser.RULE_simple_stmts; } enterRule(listener) { if (listener.enterSimple_stmts) { listener.enterSimple_stmts(this); } } exitRule(listener) { if (listener.exitSimple_stmts) { listener.exitSimple_stmts(this); } } // @Override accept(visitor) { if (visitor.visitSimple_stmts) { return visitor.visitSimple_stmts(this); } else { return visitor.visitChildren(this); } } }; var Simple_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } assignment() { return this.getTypedRuleContext(AssignmentContext, 0); } type_alias() { return this.getTypedRuleContext(Type_aliasContext, 0); } star_expressions() { return this.getTypedRuleContext(Star_expressionsContext, 0); } return_stmt() { return this.getTypedRuleContext(Return_stmtContext, 0); } import_stmt() { return this.getTypedRuleContext(Import_stmtContext, 0); } raise_stmt() { return this.getTypedRuleContext(Raise_stmtContext, 0); } PASS() { return this.getToken(PythonParser.PASS, 0); } del_stmt() { return this.getTypedRuleContext(Del_stmtContext, 0); } yield_stmt() { return this.getTypedRuleContext(Yield_stmtContext, 0); } assert_stmt() { return this.getTypedRuleContext(Assert_stmtContext, 0); } BREAK() { return this.getToken(PythonParser.BREAK, 0); } CONTINUE() { return this.getToken(PythonParser.CONTINUE, 0); } global_stmt() { return this.getTypedRuleContext(Global_stmtContext, 0); } nonlocal_stmt() { return this.getTypedRuleContext(Nonlocal_stmtContext, 0); } get ruleIndex() { return PythonParser.RULE_simple_stmt; } enterRule(listener) { if (listener.enterSimple_stmt) { listener.enterSimple_stmt(this); } } exitRule(listener) { if (listener.exitSimple_stmt) { listener.exitSimple_stmt(this); } } // @Override accept(visitor) { if (visitor.visitSimple_stmt) { return visitor.visitSimple_stmt(this); } else { return visitor.visitChildren(this); } } }; var Compound_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } function_def() { return this.getTypedRuleContext(Function_defContext, 0); } if_stmt() { return this.getTypedRuleContext(If_stmtContext, 0); } class_def() { return this.getTypedRuleContext(Class_defContext, 0); } with_stmt() { return this.getTypedRuleContext(With_stmtContext, 0); } for_stmt() { return this.getTypedRuleContext(For_stmtContext, 0); } try_stmt() { return this.getTypedRuleContext(Try_stmtContext, 0); } while_stmt() { return this.getTypedRuleContext(While_stmtContext, 0); } match_stmt() { return this.getTypedRuleContext(Match_stmtContext, 0); } get ruleIndex() { return PythonParser.RULE_compound_stmt; } enterRule(listener) { if (listener.enterCompound_stmt) { listener.enterCompound_stmt(this); } } exitRule(listener) { if (listener.exitCompound_stmt) { listener.exitCompound_stmt(this); } } // @Override accept(visitor) { if (visitor.visitCompound_stmt) { return visitor.visitCompound_stmt(this); } else { return visitor.visitChildren(this); } } }; var AssignmentContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } EQUAL_list() { return this.getTokens(PythonParser.EQUAL); } EQUAL(i) { return this.getToken(PythonParser.EQUAL, i); } annotated_rhs() { return this.getTypedRuleContext(Annotated_rhsContext, 0); } LPAR() { return this.getToken(PythonParser.LPAR, 0); } single_target() { return this.getTypedRuleContext(Single_targetContext, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } single_subscript_attribute_target() { return this.getTypedRuleContext(Single_subscript_attribute_targetContext, 0); } yield_expr() { return this.getTypedRuleContext(Yield_exprContext, 0); } star_expressions() { return this.getTypedRuleContext(Star_expressionsContext, 0); } star_targets_list() { return this.getTypedRuleContexts(Star_targetsContext); } star_targets(i) { return this.getTypedRuleContext(Star_targetsContext, i); } TYPE_COMMENT() { return this.getToken(PythonParser.TYPE_COMMENT, 0); } augassign() { return this.getTypedRuleContext(AugassignContext, 0); } get ruleIndex() { return PythonParser.RULE_assignment; } enterRule(listener) { if (listener.enterAssignment) { listener.enterAssignment(this); } } exitRule(listener) { if (listener.exitAssignment) { listener.exitAssignment(this); } } // @Override accept(visitor) { if (visitor.visitAssignment) { return visitor.visitAssignment(this); } else { return visitor.visitChildren(this); } } }; var Annotated_rhsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } yield_expr() { return this.getTypedRuleContext(Yield_exprContext, 0); } star_expressions() { return this.getTypedRuleContext(Star_expressionsContext, 0); } get ruleIndex() { return PythonParser.RULE_annotated_rhs; } enterRule(listener) { if (listener.enterAnnotated_rhs) { listener.enterAnnotated_rhs(this); } } exitRule(listener) { if (listener.exitAnnotated_rhs) { listener.exitAnnotated_rhs(this); } } // @Override accept(visitor) { if (visitor.visitAnnotated_rhs) { return visitor.visitAnnotated_rhs(this); } else { return visitor.visitChildren(this); } } }; var AugassignContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } PLUSEQUAL() { return this.getToken(PythonParser.PLUSEQUAL, 0); } MINEQUAL() { return this.getToken(PythonParser.MINEQUAL, 0); } STAREQUAL() { return this.getToken(PythonParser.STAREQUAL, 0); } ATEQUAL() { return this.getToken(PythonParser.ATEQUAL, 0); } SLASHEQUAL() { return this.getToken(PythonParser.SLASHEQUAL, 0); } PERCENTEQUAL() { return this.getToken(PythonParser.PERCENTEQUAL, 0); } AMPEREQUAL() { return this.getToken(PythonParser.AMPEREQUAL, 0); } VBAREQUAL() { return this.getToken(PythonParser.VBAREQUAL, 0); } CIRCUMFLEXEQUAL() { return this.getToken(PythonParser.CIRCUMFLEXEQUAL, 0); } LEFTSHIFTEQUAL() { return this.getToken(PythonParser.LEFTSHIFTEQUAL, 0); } RIGHTSHIFTEQUAL() { return this.getToken(PythonParser.RIGHTSHIFTEQUAL, 0); } DOUBLESTAREQUAL() { return this.getToken(PythonParser.DOUBLESTAREQUAL, 0); } DOUBLESLASHEQUAL() { return this.getToken(PythonParser.DOUBLESLASHEQUAL, 0); } get ruleIndex() { return PythonParser.RULE_augassign; } enterRule(listener) { if (listener.enterAugassign) { listener.enterAugassign(this); } } exitRule(listener) { if (listener.exitAugassign) { listener.exitAugassign(this); } } // @Override accept(visitor) { if (visitor.visitAugassign) { return visitor.visitAugassign(this); } else { return visitor.visitChildren(this); } } }; var Return_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } RETURN() { return this.getToken(PythonParser.RETURN, 0); } star_expressions() { return this.getTypedRuleContext(Star_expressionsContext, 0); } get ruleIndex() { return PythonParser.RULE_return_stmt; } enterRule(listener) { if (listener.enterReturn_stmt) { listener.enterReturn_stmt(this); } } exitRule(listener) { if (listener.exitReturn_stmt) { listener.exitReturn_stmt(this); } } // @Override accept(visitor) { if (visitor.visitReturn_stmt) { return visitor.visitReturn_stmt(this); } else { return visitor.visitChildren(this); } } }; var Raise_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } RAISE() { return this.getToken(PythonParser.RAISE, 0); } expression_list() { return this.getTypedRuleContexts(ExpressionContext); } expression(i) { return this.getTypedRuleContext(ExpressionContext, i); } FROM() { return this.getToken(PythonParser.FROM, 0); } get ruleIndex() { return PythonParser.RULE_raise_stmt; } enterRule(listener) { if (listener.enterRaise_stmt) { listener.enterRaise_stmt(this); } } exitRule(listener) { if (listener.exitRaise_stmt) { listener.exitRaise_stmt(this); } } // @Override accept(visitor) { if (visitor.visitRaise_stmt) { return visitor.visitRaise_stmt(this); } else { return visitor.visitChildren(this); } } }; var Global_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } GLOBAL() { return this.getToken(PythonParser.GLOBAL, 0); } NAME_list() { return this.getTokens(PythonParser.NAME); } NAME(i) { return this.getToken(PythonParser.NAME, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_global_stmt; } enterRule(listener) { if (listener.enterGlobal_stmt) { listener.enterGlobal_stmt(this); } } exitRule(listener) { if (listener.exitGlobal_stmt) { listener.exitGlobal_stmt(this); } } // @Override accept(visitor) { if (visitor.visitGlobal_stmt) { return visitor.visitGlobal_stmt(this); } else { return visitor.visitChildren(this); } } }; var Nonlocal_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NONLOCAL() { return this.getToken(PythonParser.NONLOCAL, 0); } NAME_list() { return this.getTokens(PythonParser.NAME); } NAME(i) { return this.getToken(PythonParser.NAME, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_nonlocal_stmt; } enterRule(listener) { if (listener.enterNonlocal_stmt) { listener.enterNonlocal_stmt(this); } } exitRule(listener) { if (listener.exitNonlocal_stmt) { listener.exitNonlocal_stmt(this); } } // @Override accept(visitor) { if (visitor.visitNonlocal_stmt) { return visitor.visitNonlocal_stmt(this); } else { return visitor.visitChildren(this); } } }; var Del_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } DEL() { return this.getToken(PythonParser.DEL, 0); } del_targets() { return this.getTypedRuleContext(Del_targetsContext, 0); } get ruleIndex() { return PythonParser.RULE_del_stmt; } enterRule(listener) { if (listener.enterDel_stmt) { listener.enterDel_stmt(this); } } exitRule(listener) { if (listener.exitDel_stmt) { listener.exitDel_stmt(this); } } // @Override accept(visitor) { if (visitor.visitDel_stmt) { return visitor.visitDel_stmt(this); } else { return visitor.visitChildren(this); } } }; var Yield_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } yield_expr() { return this.getTypedRuleContext(Yield_exprContext, 0); } get ruleIndex() { return PythonParser.RULE_yield_stmt; } enterRule(listener) { if (listener.enterYield_stmt) { listener.enterYield_stmt(this); } } exitRule(listener) { if (listener.exitYield_stmt) { listener.exitYield_stmt(this); } } // @Override accept(visitor) { if (visitor.visitYield_stmt) { return visitor.visitYield_stmt(this); } else { return visitor.visitChildren(this); } } }; var Assert_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } ASSERT() { return this.getToken(PythonParser.ASSERT, 0); } expression_list() { return this.getTypedRuleContexts(ExpressionContext); } expression(i) { return this.getTypedRuleContext(ExpressionContext, i); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } get ruleIndex() { return PythonParser.RULE_assert_stmt; } enterRule(listener) { if (listener.enterAssert_stmt) { listener.enterAssert_stmt(this); } } exitRule(listener) { if (listener.exitAssert_stmt) { listener.exitAssert_stmt(this); } } // @Override accept(visitor) { if (visitor.visitAssert_stmt) { return visitor.visitAssert_stmt(this); } else { return visitor.visitChildren(this); } } }; var Import_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } import_name() { return this.getTypedRuleContext(Import_nameContext, 0); } import_from() { return this.getTypedRuleContext(Import_fromContext, 0); } get ruleIndex() { return PythonParser.RULE_import_stmt; } enterRule(listener) { if (listener.enterImport_stmt) { listener.enterImport_stmt(this); } } exitRule(listener) { if (listener.exitImport_stmt) { listener.exitImport_stmt(this); } } // @Override accept(visitor) { if (visitor.visitImport_stmt) { return visitor.visitImport_stmt(this); } else { return visitor.visitChildren(this); } } }; var Import_nameContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } IMPORT() { return this.getToken(PythonParser.IMPORT, 0); } dotted_as_names() { return this.getTypedRuleContext(Dotted_as_namesContext, 0); } get ruleIndex() { return PythonParser.RULE_import_name; } enterRule(listener) { if (listener.enterImport_name) { listener.enterImport_name(this); } } exitRule(listener) { if (listener.exitImport_name) { listener.exitImport_name(this); } } // @Override accept(visitor) { if (visitor.visitImport_name) { return visitor.visitImport_name(this); } else { return visitor.visitChildren(this); } } }; var Import_fromContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } FROM() { return this.getToken(PythonParser.FROM, 0); } dotted_name() { return this.getTypedRuleContext(Dotted_nameContext, 0); } IMPORT() { return this.getToken(PythonParser.IMPORT, 0); } import_from_targets() { return this.getTypedRuleContext(Import_from_targetsContext, 0); } DOT_list() { return this.getTokens(PythonParser.DOT); } DOT(i) { return this.getToken(PythonParser.DOT, i); } ELLIPSIS_list() { return this.getTokens(PythonParser.ELLIPSIS); } ELLIPSIS(i) { return this.getToken(PythonParser.ELLIPSIS, i); } get ruleIndex() { return PythonParser.RULE_import_from; } enterRule(listener) { if (listener.enterImport_from) { listener.enterImport_from(this); } } exitRule(listener) { if (listener.exitImport_from) { listener.exitImport_from(this); } } // @Override accept(visitor) { if (visitor.visitImport_from) { return visitor.visitImport_from(this); } else { return visitor.visitChildren(this); } } }; var Import_from_targetsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LPAR() { return this.getToken(PythonParser.LPAR, 0); } import_from_as_names() { return this.getTypedRuleContext(Import_from_as_namesContext, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } STAR() { return this.getToken(PythonParser.STAR, 0); } get ruleIndex() { return PythonParser.RULE_import_from_targets; } enterRule(listener) { if (listener.enterImport_from_targets) { listener.enterImport_from_targets(this); } } exitRule(listener) { if (listener.exitImport_from_targets) { listener.exitImport_from_targets(this); } } // @Override accept(visitor) { if (visitor.visitImport_from_targets) { return visitor.visitImport_from_targets(this); } else { return visitor.visitChildren(this); } } }; var Import_from_as_namesContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } import_from_as_name_list() { return this.getTypedRuleContexts(Import_from_as_nameContext); } import_from_as_name(i) { return this.getTypedRuleContext(Import_from_as_nameContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_import_from_as_names; } enterRule(listener) { if (listener.enterImport_from_as_names) { listener.enterImport_from_as_names(this); } } exitRule(listener) { if (listener.exitImport_from_as_names) { listener.exitImport_from_as_names(this); } } // @Override accept(visitor) { if (visitor.visitImport_from_as_names) { return visitor.visitImport_from_as_names(this); } else { return visitor.visitChildren(this); } } }; var Import_from_as_nameContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME_list() { return this.getTokens(PythonParser.NAME); } NAME(i) { return this.getToken(PythonParser.NAME, i); } AS() { return this.getToken(PythonParser.AS, 0); } get ruleIndex() { return PythonParser.RULE_import_from_as_name; } enterRule(listener) { if (listener.enterImport_from_as_name) { listener.enterImport_from_as_name(this); } } exitRule(listener) { if (listener.exitImport_from_as_name) { listener.exitImport_from_as_name(this); } } // @Override accept(visitor) { if (visitor.visitImport_from_as_name) { return visitor.visitImport_from_as_name(this); } else { return visitor.visitChildren(this); } } }; var Dotted_as_namesContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } dotted_as_name_list() { return this.getTypedRuleContexts(Dotted_as_nameContext); } dotted_as_name(i) { return this.getTypedRuleContext(Dotted_as_nameContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_dotted_as_names; } enterRule(listener) { if (listener.enterDotted_as_names) { listener.enterDotted_as_names(this); } } exitRule(listener) { if (listener.exitDotted_as_names) { listener.exitDotted_as_names(this); } } // @Override accept(visitor) { if (visitor.visitDotted_as_names) { return visitor.visitDotted_as_names(this); } else { return visitor.visitChildren(this); } } }; var Dotted_as_nameContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } dotted_name() { return this.getTypedRuleContext(Dotted_nameContext, 0); } AS() { return this.getToken(PythonParser.AS, 0); } NAME() { return this.getToken(PythonParser.NAME, 0); } get ruleIndex() { return PythonParser.RULE_dotted_as_name; } enterRule(listener) { if (listener.enterDotted_as_name) { listener.enterDotted_as_name(this); } } exitRule(listener) { if (listener.exitDotted_as_name) { listener.exitDotted_as_name(this); } } // @Override accept(visitor) { if (visitor.visitDotted_as_name) { return visitor.visitDotted_as_name(this); } else { return visitor.visitChildren(this); } } }; var Dotted_nameContext = class _Dotted_nameContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } dotted_name() { return this.getTypedRuleContext(_Dotted_nameContext, 0); } DOT() { return this.getToken(PythonParser.DOT, 0); } get ruleIndex() { return PythonParser.RULE_dotted_name; } enterRule(listener) { if (listener.enterDotted_name) { listener.enterDotted_name(this); } } exitRule(listener) { if (listener.exitDotted_name) { listener.exitDotted_name(this); } } // @Override accept(visitor) { if (visitor.visitDotted_name) { return visitor.visitDotted_name(this); } else { return visitor.visitChildren(this); } } }; var BlockContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NEWLINE() { return this.getToken(PythonParser.NEWLINE, 0); } INDENT() { return this.getToken(PythonParser.INDENT, 0); } statements() { return this.getTypedRuleContext(StatementsContext, 0); } DEDENT() { return this.getToken(PythonParser.DEDENT, 0); } simple_stmts() { return this.getTypedRuleContext(Simple_stmtsContext, 0); } get ruleIndex() { return PythonParser.RULE_block; } enterRule(listener) { if (listener.enterBlock) { listener.enterBlock(this); } } exitRule(listener) { if (listener.exitBlock) { listener.exitBlock(this); } } // @Override accept(visitor) { if (visitor.visitBlock) { return visitor.visitBlock(this); } else { return visitor.visitChildren(this); } } }; var DecoratorsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } AT_list() { return this.getTokens(PythonParser.AT); } AT(i) { return this.getToken(PythonParser.AT, i); } named_expression_list() { return this.getTypedRuleContexts(Named_expressionContext); } named_expression(i) { return this.getTypedRuleContext(Named_expressionContext, i); } NEWLINE_list() { return this.getTokens(PythonParser.NEWLINE); } NEWLINE(i) { return this.getToken(PythonParser.NEWLINE, i); } get ruleIndex() { return PythonParser.RULE_decorators; } enterRule(listener) { if (listener.enterDecorators) { listener.enterDecorators(this); } } exitRule(listener) { if (listener.exitDecorators) { listener.exitDecorators(this); } } // @Override accept(visitor) { if (visitor.visitDecorators) { return visitor.visitDecorators(this); } else { return visitor.visitChildren(this); } } }; var Class_defContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } decorators() { return this.getTypedRuleContext(DecoratorsContext, 0); } class_def_raw() { return this.getTypedRuleContext(Class_def_rawContext, 0); } get ruleIndex() { return PythonParser.RULE_class_def; } enterRule(listener) { if (listener.enterClass_def) { listener.enterClass_def(this); } } exitRule(listener) { if (listener.exitClass_def) { listener.exitClass_def(this); } } // @Override accept(visitor) { if (visitor.visitClass_def) { return visitor.visitClass_def(this); } else { return visitor.visitChildren(this); } } }; var Class_def_rawContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } CLASS() { return this.getToken(PythonParser.CLASS, 0); } NAME() { return this.getToken(PythonParser.NAME, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } block() { return this.getTypedRuleContext(BlockContext, 0); } type_params() { return this.getTypedRuleContext(Type_paramsContext, 0); } LPAR() { return this.getToken(PythonParser.LPAR, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } arguments() { return this.getTypedRuleContext(ArgumentsContext, 0); } get ruleIndex() { return PythonParser.RULE_class_def_raw; } enterRule(listener) { if (listener.enterClass_def_raw) { listener.enterClass_def_raw(this); } } exitRule(listener) { if (listener.exitClass_def_raw) { listener.exitClass_def_raw(this); } } // @Override accept(visitor) { if (visitor.visitClass_def_raw) { return visitor.visitClass_def_raw(this); } else { return visitor.visitChildren(this); } } }; var Function_defContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } decorators() { return this.getTypedRuleContext(DecoratorsContext, 0); } function_def_raw() { return this.getTypedRuleContext(Function_def_rawContext, 0); } get ruleIndex() { return PythonParser.RULE_function_def; } enterRule(listener) { if (listener.enterFunction_def) { listener.enterFunction_def(this); } } exitRule(listener) { if (listener.exitFunction_def) { listener.exitFunction_def(this); } } // @Override accept(visitor) { if (visitor.visitFunction_def) { return visitor.visitFunction_def(this); } else { return visitor.visitChildren(this); } } }; var Function_def_rawContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } DEF() { return this.getToken(PythonParser.DEF, 0); } NAME() { return this.getToken(PythonParser.NAME, 0); } LPAR() { return this.getToken(PythonParser.LPAR, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } block() { return this.getTypedRuleContext(BlockContext, 0); } type_params() { return this.getTypedRuleContext(Type_paramsContext, 0); } params() { return this.getTypedRuleContext(ParamsContext, 0); } RARROW() { return this.getToken(PythonParser.RARROW, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } func_type_comment() { return this.getTypedRuleContext(Func_type_commentContext, 0); } ASYNC() { return this.getToken(PythonParser.ASYNC, 0); } get ruleIndex() { return PythonParser.RULE_function_def_raw; } enterRule(listener) { if (listener.enterFunction_def_raw) { listener.enterFunction_def_raw(this); } } exitRule(listener) { if (listener.exitFunction_def_raw) { listener.exitFunction_def_raw(this); } } // @Override accept(visitor) { if (visitor.visitFunction_def_raw) { return visitor.visitFunction_def_raw(this); } else { return visitor.visitChildren(this); } } }; var ParamsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } parameters() { return this.getTypedRuleContext(ParametersContext, 0); } get ruleIndex() { return PythonParser.RULE_params; } enterRule(listener) { if (listener.enterParams) { listener.enterParams(this); } } exitRule(listener) { if (listener.exitParams) { listener.exitParams(this); } } // @Override accept(visitor) { if (visitor.visitParams) { return visitor.visitParams(this); } else { return visitor.visitChildren(this); } } }; var ParametersContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } slash_no_default() { return this.getTypedRuleContext(Slash_no_defaultContext, 0); } param_no_default_list() { return this.getTypedRuleContexts(Param_no_defaultContext); } param_no_default(i) { return this.getTypedRuleContext(Param_no_defaultContext, i); } param_with_default_list() { return this.getTypedRuleContexts(Param_with_defaultContext); } param_with_default(i) { return this.getTypedRuleContext(Param_with_defaultContext, i); } star_etc() { return this.getTypedRuleContext(Star_etcContext, 0); } slash_with_default() { return this.getTypedRuleContext(Slash_with_defaultContext, 0); } get ruleIndex() { return PythonParser.RULE_parameters; } enterRule(listener) { if (listener.enterParameters) { listener.enterParameters(this); } } exitRule(listener) { if (listener.exitParameters) { listener.exitParameters(this); } } // @Override accept(visitor) { if (visitor.visitParameters) { return visitor.visitParameters(this); } else { return visitor.visitChildren(this); } } }; var Slash_no_defaultContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } SLASH() { return this.getToken(PythonParser.SLASH, 0); } param_no_default_list() { return this.getTypedRuleContexts(Param_no_defaultContext); } param_no_default(i) { return this.getTypedRuleContext(Param_no_defaultContext, i); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } get ruleIndex() { return PythonParser.RULE_slash_no_default; } enterRule(listener) { if (listener.enterSlash_no_default) { listener.enterSlash_no_default(this); } } exitRule(listener) { if (listener.exitSlash_no_default) { listener.exitSlash_no_default(this); } } // @Override accept(visitor) { if (visitor.visitSlash_no_default) { return visitor.visitSlash_no_default(this); } else { return visitor.visitChildren(this); } } }; var Slash_with_defaultContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } SLASH() { return this.getToken(PythonParser.SLASH, 0); } param_no_default_list() { return this.getTypedRuleContexts(Param_no_defaultContext); } param_no_default(i) { return this.getTypedRuleContext(Param_no_defaultContext, i); } param_with_default_list() { return this.getTypedRuleContexts(Param_with_defaultContext); } param_with_default(i) { return this.getTypedRuleContext(Param_with_defaultContext, i); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } get ruleIndex() { return PythonParser.RULE_slash_with_default; } enterRule(listener) { if (listener.enterSlash_with_default) { listener.enterSlash_with_default(this); } } exitRule(listener) { if (listener.exitSlash_with_default) { listener.exitSlash_with_default(this); } } // @Override accept(visitor) { if (visitor.visitSlash_with_default) { return visitor.visitSlash_with_default(this); } else { return visitor.visitChildren(this); } } }; var Star_etcContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } STAR() { return this.getToken(PythonParser.STAR, 0); } param_no_default() { return this.getTypedRuleContext(Param_no_defaultContext, 0); } param_maybe_default_list() { return this.getTypedRuleContexts(Param_maybe_defaultContext); } param_maybe_default(i) { return this.getTypedRuleContext(Param_maybe_defaultContext, i); } kwds() { return this.getTypedRuleContext(KwdsContext, 0); } param_no_default_star_annotation() { return this.getTypedRuleContext(Param_no_default_star_annotationContext, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } get ruleIndex() { return PythonParser.RULE_star_etc; } enterRule(listener) { if (listener.enterStar_etc) { listener.enterStar_etc(this); } } exitRule(listener) { if (listener.exitStar_etc) { listener.exitStar_etc(this); } } // @Override accept(visitor) { if (visitor.visitStar_etc) { return visitor.visitStar_etc(this); } else { return visitor.visitChildren(this); } } }; var KwdsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } DOUBLESTAR() { return this.getToken(PythonParser.DOUBLESTAR, 0); } param_no_default() { return this.getTypedRuleContext(Param_no_defaultContext, 0); } get ruleIndex() { return PythonParser.RULE_kwds; } enterRule(listener) { if (listener.enterKwds) { listener.enterKwds(this); } } exitRule(listener) { if (listener.exitKwds) { listener.exitKwds(this); } } // @Override accept(visitor) { if (visitor.visitKwds) { return visitor.visitKwds(this); } else { return visitor.visitChildren(this); } } }; var Param_no_defaultContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } param() { return this.getTypedRuleContext(ParamContext, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } TYPE_COMMENT() { return this.getToken(PythonParser.TYPE_COMMENT, 0); } get ruleIndex() { return PythonParser.RULE_param_no_default; } enterRule(listener) { if (listener.enterParam_no_default) { listener.enterParam_no_default(this); } } exitRule(listener) { if (listener.exitParam_no_default) { listener.exitParam_no_default(this); } } // @Override accept(visitor) { if (visitor.visitParam_no_default) { return visitor.visitParam_no_default(this); } else { return visitor.visitChildren(this); } } }; var Param_no_default_star_annotationContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } param_star_annotation() { return this.getTypedRuleContext(Param_star_annotationContext, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } TYPE_COMMENT() { return this.getToken(PythonParser.TYPE_COMMENT, 0); } get ruleIndex() { return PythonParser.RULE_param_no_default_star_annotation; } enterRule(listener) { if (listener.enterParam_no_default_star_annotation) { listener.enterParam_no_default_star_annotation(this); } } exitRule(listener) { if (listener.exitParam_no_default_star_annotation) { listener.exitParam_no_default_star_annotation(this); } } // @Override accept(visitor) { if (visitor.visitParam_no_default_star_annotation) { return visitor.visitParam_no_default_star_annotation(this); } else { return visitor.visitChildren(this); } } }; var Param_with_defaultContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } param() { return this.getTypedRuleContext(ParamContext, 0); } default_assignment() { return this.getTypedRuleContext(Default_assignmentContext, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } TYPE_COMMENT() { return this.getToken(PythonParser.TYPE_COMMENT, 0); } get ruleIndex() { return PythonParser.RULE_param_with_default; } enterRule(listener) { if (listener.enterParam_with_default) { listener.enterParam_with_default(this); } } exitRule(listener) { if (listener.exitParam_with_default) { listener.exitParam_with_default(this); } } // @Override accept(visitor) { if (visitor.visitParam_with_default) { return visitor.visitParam_with_default(this); } else { return visitor.visitChildren(this); } } }; var Param_maybe_defaultContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } param() { return this.getTypedRuleContext(ParamContext, 0); } default_assignment() { return this.getTypedRuleContext(Default_assignmentContext, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } TYPE_COMMENT() { return this.getToken(PythonParser.TYPE_COMMENT, 0); } get ruleIndex() { return PythonParser.RULE_param_maybe_default; } enterRule(listener) { if (listener.enterParam_maybe_default) { listener.enterParam_maybe_default(this); } } exitRule(listener) { if (listener.exitParam_maybe_default) { listener.exitParam_maybe_default(this); } } // @Override accept(visitor) { if (visitor.visitParam_maybe_default) { return visitor.visitParam_maybe_default(this); } else { return visitor.visitChildren(this); } } }; var ParamContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } annotation() { return this.getTypedRuleContext(AnnotationContext, 0); } get ruleIndex() { return PythonParser.RULE_param; } enterRule(listener) { if (listener.enterParam) { listener.enterParam(this); } } exitRule(listener) { if (listener.exitParam) { listener.exitParam(this); } } // @Override accept(visitor) { if (visitor.visitParam) { return visitor.visitParam(this); } else { return visitor.visitChildren(this); } } }; var Param_star_annotationContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } star_annotation() { return this.getTypedRuleContext(Star_annotationContext, 0); } get ruleIndex() { return PythonParser.RULE_param_star_annotation; } enterRule(listener) { if (listener.enterParam_star_annotation) { listener.enterParam_star_annotation(this); } } exitRule(listener) { if (listener.exitParam_star_annotation) { listener.exitParam_star_annotation(this); } } // @Override accept(visitor) { if (visitor.visitParam_star_annotation) { return visitor.visitParam_star_annotation(this); } else { return visitor.visitChildren(this); } } }; var AnnotationContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } COLON() { return this.getToken(PythonParser.COLON, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } get ruleIndex() { return PythonParser.RULE_annotation; } enterRule(listener) { if (listener.enterAnnotation) { listener.enterAnnotation(this); } } exitRule(listener) { if (listener.exitAnnotation) { listener.exitAnnotation(this); } } // @Override accept(visitor) { if (visitor.visitAnnotation) { return visitor.visitAnnotation(this); } else { return visitor.visitChildren(this); } } }; var Star_annotationContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } COLON() { return this.getToken(PythonParser.COLON, 0); } star_expression() { return this.getTypedRuleContext(Star_expressionContext, 0); } get ruleIndex() { return PythonParser.RULE_star_annotation; } enterRule(listener) { if (listener.enterStar_annotation) { listener.enterStar_annotation(this); } } exitRule(listener) { if (listener.exitStar_annotation) { listener.exitStar_annotation(this); } } // @Override accept(visitor) { if (visitor.visitStar_annotation) { return visitor.visitStar_annotation(this); } else { return visitor.visitChildren(this); } } }; var Default_assignmentContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } EQUAL() { return this.getToken(PythonParser.EQUAL, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } get ruleIndex() { return PythonParser.RULE_default_assignment; } enterRule(listener) { if (listener.enterDefault_assignment) { listener.enterDefault_assignment(this); } } exitRule(listener) { if (listener.exitDefault_assignment) { listener.exitDefault_assignment(this); } } // @Override accept(visitor) { if (visitor.visitDefault_assignment) { return visitor.visitDefault_assignment(this); } else { return visitor.visitChildren(this); } } }; var If_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } IF() { return this.getToken(PythonParser.IF, 0); } named_expression() { return this.getTypedRuleContext(Named_expressionContext, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } block() { return this.getTypedRuleContext(BlockContext, 0); } elif_stmt() { return this.getTypedRuleContext(Elif_stmtContext, 0); } else_block() { return this.getTypedRuleContext(Else_blockContext, 0); } get ruleIndex() { return PythonParser.RULE_if_stmt; } enterRule(listener) { if (listener.enterIf_stmt) { listener.enterIf_stmt(this); } } exitRule(listener) { if (listener.exitIf_stmt) { listener.exitIf_stmt(this); } } // @Override accept(visitor) { if (visitor.visitIf_stmt) { return visitor.visitIf_stmt(this); } else { return visitor.visitChildren(this); } } }; var Elif_stmtContext = class _Elif_stmtContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } ELIF() { return this.getToken(PythonParser.ELIF, 0); } named_expression() { return this.getTypedRuleContext(Named_expressionContext, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } block() { return this.getTypedRuleContext(BlockContext, 0); } elif_stmt() { return this.getTypedRuleContext(_Elif_stmtContext, 0); } else_block() { return this.getTypedRuleContext(Else_blockContext, 0); } get ruleIndex() { return PythonParser.RULE_elif_stmt; } enterRule(listener) { if (listener.enterElif_stmt) { listener.enterElif_stmt(this); } } exitRule(listener) { if (listener.exitElif_stmt) { listener.exitElif_stmt(this); } } // @Override accept(visitor) { if (visitor.visitElif_stmt) { return visitor.visitElif_stmt(this); } else { return visitor.visitChildren(this); } } }; var Else_blockContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } ELSE() { return this.getToken(PythonParser.ELSE, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } block() { return this.getTypedRuleContext(BlockContext, 0); } get ruleIndex() { return PythonParser.RULE_else_block; } enterRule(listener) { if (listener.enterElse_block) { listener.enterElse_block(this); } } exitRule(listener) { if (listener.exitElse_block) { listener.exitElse_block(this); } } // @Override accept(visitor) { if (visitor.visitElse_block) { return visitor.visitElse_block(this); } else { return visitor.visitChildren(this); } } }; var While_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } WHILE() { return this.getToken(PythonParser.WHILE, 0); } named_expression() { return this.getTypedRuleContext(Named_expressionContext, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } block() { return this.getTypedRuleContext(BlockContext, 0); } else_block() { return this.getTypedRuleContext(Else_blockContext, 0); } get ruleIndex() { return PythonParser.RULE_while_stmt; } enterRule(listener) { if (listener.enterWhile_stmt) { listener.enterWhile_stmt(this); } } exitRule(listener) { if (listener.exitWhile_stmt) { listener.exitWhile_stmt(this); } } // @Override accept(visitor) { if (visitor.visitWhile_stmt) { return visitor.visitWhile_stmt(this); } else { return visitor.visitChildren(this); } } }; var For_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } FOR() { return this.getToken(PythonParser.FOR, 0); } star_targets() { return this.getTypedRuleContext(Star_targetsContext, 0); } IN() { return this.getToken(PythonParser.IN, 0); } star_expressions() { return this.getTypedRuleContext(Star_expressionsContext, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } block() { return this.getTypedRuleContext(BlockContext, 0); } ASYNC() { return this.getToken(PythonParser.ASYNC, 0); } TYPE_COMMENT() { return this.getToken(PythonParser.TYPE_COMMENT, 0); } else_block() { return this.getTypedRuleContext(Else_blockContext, 0); } get ruleIndex() { return PythonParser.RULE_for_stmt; } enterRule(listener) { if (listener.enterFor_stmt) { listener.enterFor_stmt(this); } } exitRule(listener) { if (listener.exitFor_stmt) { listener.exitFor_stmt(this); } } // @Override accept(visitor) { if (visitor.visitFor_stmt) { return visitor.visitFor_stmt(this); } else { return visitor.visitChildren(this); } } }; var With_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } WITH() { return this.getToken(PythonParser.WITH, 0); } block() { return this.getTypedRuleContext(BlockContext, 0); } LPAR() { return this.getToken(PythonParser.LPAR, 0); } with_item_list() { return this.getTypedRuleContexts(With_itemContext); } with_item(i) { return this.getTypedRuleContext(With_itemContext, i); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } ASYNC() { return this.getToken(PythonParser.ASYNC, 0); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } TYPE_COMMENT() { return this.getToken(PythonParser.TYPE_COMMENT, 0); } get ruleIndex() { return PythonParser.RULE_with_stmt; } enterRule(listener) { if (listener.enterWith_stmt) { listener.enterWith_stmt(this); } } exitRule(listener) { if (listener.exitWith_stmt) { listener.exitWith_stmt(this); } } // @Override accept(visitor) { if (visitor.visitWith_stmt) { return visitor.visitWith_stmt(this); } else { return visitor.visitChildren(this); } } }; var With_itemContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } AS() { return this.getToken(PythonParser.AS, 0); } star_target() { return this.getTypedRuleContext(Star_targetContext, 0); } get ruleIndex() { return PythonParser.RULE_with_item; } enterRule(listener) { if (listener.enterWith_item) { listener.enterWith_item(this); } } exitRule(listener) { if (listener.exitWith_item) { listener.exitWith_item(this); } } // @Override accept(visitor) { if (visitor.visitWith_item) { return visitor.visitWith_item(this); } else { return visitor.visitChildren(this); } } }; var Try_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } TRY() { return this.getToken(PythonParser.TRY, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } block() { return this.getTypedRuleContext(BlockContext, 0); } finally_block() { return this.getTypedRuleContext(Finally_blockContext, 0); } except_block_list() { return this.getTypedRuleContexts(Except_blockContext); } except_block(i) { return this.getTypedRuleContext(Except_blockContext, i); } else_block() { return this.getTypedRuleContext(Else_blockContext, 0); } except_star_block_list() { return this.getTypedRuleContexts(Except_star_blockContext); } except_star_block(i) { return this.getTypedRuleContext(Except_star_blockContext, i); } get ruleIndex() { return PythonParser.RULE_try_stmt; } enterRule(listener) { if (listener.enterTry_stmt) { listener.enterTry_stmt(this); } } exitRule(listener) { if (listener.exitTry_stmt) { listener.exitTry_stmt(this); } } // @Override accept(visitor) { if (visitor.visitTry_stmt) { return visitor.visitTry_stmt(this); } else { return visitor.visitChildren(this); } } }; var Except_blockContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } EXCEPT() { return this.getToken(PythonParser.EXCEPT, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } block() { return this.getTypedRuleContext(BlockContext, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } AS() { return this.getToken(PythonParser.AS, 0); } NAME() { return this.getToken(PythonParser.NAME, 0); } get ruleIndex() { return PythonParser.RULE_except_block; } enterRule(listener) { if (listener.enterExcept_block) { listener.enterExcept_block(this); } } exitRule(listener) { if (listener.exitExcept_block) { listener.exitExcept_block(this); } } // @Override accept(visitor) { if (visitor.visitExcept_block) { return visitor.visitExcept_block(this); } else { return visitor.visitChildren(this); } } }; var Except_star_blockContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } EXCEPT() { return this.getToken(PythonParser.EXCEPT, 0); } STAR() { return this.getToken(PythonParser.STAR, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } block() { return this.getTypedRuleContext(BlockContext, 0); } AS() { return this.getToken(PythonParser.AS, 0); } NAME() { return this.getToken(PythonParser.NAME, 0); } get ruleIndex() { return PythonParser.RULE_except_star_block; } enterRule(listener) { if (listener.enterExcept_star_block) { listener.enterExcept_star_block(this); } } exitRule(listener) { if (listener.exitExcept_star_block) { listener.exitExcept_star_block(this); } } // @Override accept(visitor) { if (visitor.visitExcept_star_block) { return visitor.visitExcept_star_block(this); } else { return visitor.visitChildren(this); } } }; var Finally_blockContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } FINALLY() { return this.getToken(PythonParser.FINALLY, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } block() { return this.getTypedRuleContext(BlockContext, 0); } get ruleIndex() { return PythonParser.RULE_finally_block; } enterRule(listener) { if (listener.enterFinally_block) { listener.enterFinally_block(this); } } exitRule(listener) { if (listener.exitFinally_block) { listener.exitFinally_block(this); } } // @Override accept(visitor) { if (visitor.visitFinally_block) { return visitor.visitFinally_block(this); } else { return visitor.visitChildren(this); } } }; var Match_stmtContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } soft_kw_match() { return this.getTypedRuleContext(Soft_kw_matchContext, 0); } subject_expr() { return this.getTypedRuleContext(Subject_exprContext, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } NEWLINE() { return this.getToken(PythonParser.NEWLINE, 0); } INDENT() { return this.getToken(PythonParser.INDENT, 0); } DEDENT() { return this.getToken(PythonParser.DEDENT, 0); } case_block_list() { return this.getTypedRuleContexts(Case_blockContext); } case_block(i) { return this.getTypedRuleContext(Case_blockContext, i); } get ruleIndex() { return PythonParser.RULE_match_stmt; } enterRule(listener) { if (listener.enterMatch_stmt) { listener.enterMatch_stmt(this); } } exitRule(listener) { if (listener.exitMatch_stmt) { listener.exitMatch_stmt(this); } } // @Override accept(visitor) { if (visitor.visitMatch_stmt) { return visitor.visitMatch_stmt(this); } else { return visitor.visitChildren(this); } } }; var Subject_exprContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } star_named_expression() { return this.getTypedRuleContext(Star_named_expressionContext, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } star_named_expressions() { return this.getTypedRuleContext(Star_named_expressionsContext, 0); } named_expression() { return this.getTypedRuleContext(Named_expressionContext, 0); } get ruleIndex() { return PythonParser.RULE_subject_expr; } enterRule(listener) { if (listener.enterSubject_expr) { listener.enterSubject_expr(this); } } exitRule(listener) { if (listener.exitSubject_expr) { listener.exitSubject_expr(this); } } // @Override accept(visitor) { if (visitor.visitSubject_expr) { return visitor.visitSubject_expr(this); } else { return visitor.visitChildren(this); } } }; var Case_blockContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } soft_kw_case() { return this.getTypedRuleContext(Soft_kw_caseContext, 0); } patterns() { return this.getTypedRuleContext(PatternsContext, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } block() { return this.getTypedRuleContext(BlockContext, 0); } guard() { return this.getTypedRuleContext(GuardContext, 0); } get ruleIndex() { return PythonParser.RULE_case_block; } enterRule(listener) { if (listener.enterCase_block) { listener.enterCase_block(this); } } exitRule(listener) { if (listener.exitCase_block) { listener.exitCase_block(this); } } // @Override accept(visitor) { if (visitor.visitCase_block) { return visitor.visitCase_block(this); } else { return visitor.visitChildren(this); } } }; var GuardContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } IF() { return this.getToken(PythonParser.IF, 0); } named_expression() { return this.getTypedRuleContext(Named_expressionContext, 0); } get ruleIndex() { return PythonParser.RULE_guard; } enterRule(listener) { if (listener.enterGuard) { listener.enterGuard(this); } } exitRule(listener) { if (listener.exitGuard) { listener.exitGuard(this); } } // @Override accept(visitor) { if (visitor.visitGuard) { return visitor.visitGuard(this); } else { return visitor.visitChildren(this); } } }; var PatternsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } open_sequence_pattern() { return this.getTypedRuleContext(Open_sequence_patternContext, 0); } pattern() { return this.getTypedRuleContext(PatternContext, 0); } get ruleIndex() { return PythonParser.RULE_patterns; } enterRule(listener) { if (listener.enterPatterns) { listener.enterPatterns(this); } } exitRule(listener) { if (listener.exitPatterns) { listener.exitPatterns(this); } } // @Override accept(visitor) { if (visitor.visitPatterns) { return visitor.visitPatterns(this); } else { return visitor.visitChildren(this); } } }; var PatternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } as_pattern() { return this.getTypedRuleContext(As_patternContext, 0); } or_pattern() { return this.getTypedRuleContext(Or_patternContext, 0); } get ruleIndex() { return PythonParser.RULE_pattern; } enterRule(listener) { if (listener.enterPattern) { listener.enterPattern(this); } } exitRule(listener) { if (listener.exitPattern) { listener.exitPattern(this); } } // @Override accept(visitor) { if (visitor.visitPattern) { return visitor.visitPattern(this); } else { return visitor.visitChildren(this); } } }; var As_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } or_pattern() { return this.getTypedRuleContext(Or_patternContext, 0); } AS() { return this.getToken(PythonParser.AS, 0); } pattern_capture_target() { return this.getTypedRuleContext(Pattern_capture_targetContext, 0); } get ruleIndex() { return PythonParser.RULE_as_pattern; } enterRule(listener) { if (listener.enterAs_pattern) { listener.enterAs_pattern(this); } } exitRule(listener) { if (listener.exitAs_pattern) { listener.exitAs_pattern(this); } } // @Override accept(visitor) { if (visitor.visitAs_pattern) { return visitor.visitAs_pattern(this); } else { return visitor.visitChildren(this); } } }; var Or_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } closed_pattern_list() { return this.getTypedRuleContexts(Closed_patternContext); } closed_pattern(i) { return this.getTypedRuleContext(Closed_patternContext, i); } VBAR_list() { return this.getTokens(PythonParser.VBAR); } VBAR(i) { return this.getToken(PythonParser.VBAR, i); } get ruleIndex() { return PythonParser.RULE_or_pattern; } enterRule(listener) { if (listener.enterOr_pattern) { listener.enterOr_pattern(this); } } exitRule(listener) { if (listener.exitOr_pattern) { listener.exitOr_pattern(this); } } // @Override accept(visitor) { if (visitor.visitOr_pattern) { return visitor.visitOr_pattern(this); } else { return visitor.visitChildren(this); } } }; var Closed_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } literal_pattern() { return this.getTypedRuleContext(Literal_patternContext, 0); } capture_pattern() { return this.getTypedRuleContext(Capture_patternContext, 0); } wildcard_pattern() { return this.getTypedRuleContext(Wildcard_patternContext, 0); } value_pattern() { return this.getTypedRuleContext(Value_patternContext, 0); } group_pattern() { return this.getTypedRuleContext(Group_patternContext, 0); } sequence_pattern() { return this.getTypedRuleContext(Sequence_patternContext, 0); } mapping_pattern() { return this.getTypedRuleContext(Mapping_patternContext, 0); } class_pattern() { return this.getTypedRuleContext(Class_patternContext, 0); } get ruleIndex() { return PythonParser.RULE_closed_pattern; } enterRule(listener) { if (listener.enterClosed_pattern) { listener.enterClosed_pattern(this); } } exitRule(listener) { if (listener.exitClosed_pattern) { listener.exitClosed_pattern(this); } } // @Override accept(visitor) { if (visitor.visitClosed_pattern) { return visitor.visitClosed_pattern(this); } else { return visitor.visitChildren(this); } } }; var Literal_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } signed_number() { return this.getTypedRuleContext(Signed_numberContext, 0); } complex_number() { return this.getTypedRuleContext(Complex_numberContext, 0); } strings() { return this.getTypedRuleContext(StringsContext, 0); } NONE() { return this.getToken(PythonParser.NONE, 0); } TRUE() { return this.getToken(PythonParser.TRUE, 0); } FALSE() { return this.getToken(PythonParser.FALSE, 0); } get ruleIndex() { return PythonParser.RULE_literal_pattern; } enterRule(listener) { if (listener.enterLiteral_pattern) { listener.enterLiteral_pattern(this); } } exitRule(listener) { if (listener.exitLiteral_pattern) { listener.exitLiteral_pattern(this); } } // @Override accept(visitor) { if (visitor.visitLiteral_pattern) { return visitor.visitLiteral_pattern(this); } else { return visitor.visitChildren(this); } } }; var Literal_exprContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } signed_number() { return this.getTypedRuleContext(Signed_numberContext, 0); } complex_number() { return this.getTypedRuleContext(Complex_numberContext, 0); } strings() { return this.getTypedRuleContext(StringsContext, 0); } NONE() { return this.getToken(PythonParser.NONE, 0); } TRUE() { return this.getToken(PythonParser.TRUE, 0); } FALSE() { return this.getToken(PythonParser.FALSE, 0); } get ruleIndex() { return PythonParser.RULE_literal_expr; } enterRule(listener) { if (listener.enterLiteral_expr) { listener.enterLiteral_expr(this); } } exitRule(listener) { if (listener.exitLiteral_expr) { listener.exitLiteral_expr(this); } } // @Override accept(visitor) { if (visitor.visitLiteral_expr) { return visitor.visitLiteral_expr(this); } else { return visitor.visitChildren(this); } } }; var Complex_numberContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } signed_real_number() { return this.getTypedRuleContext(Signed_real_numberContext, 0); } imaginary_number() { return this.getTypedRuleContext(Imaginary_numberContext, 0); } PLUS() { return this.getToken(PythonParser.PLUS, 0); } MINUS() { return this.getToken(PythonParser.MINUS, 0); } get ruleIndex() { return PythonParser.RULE_complex_number; } enterRule(listener) { if (listener.enterComplex_number) { listener.enterComplex_number(this); } } exitRule(listener) { if (listener.exitComplex_number) { listener.exitComplex_number(this); } } // @Override accept(visitor) { if (visitor.visitComplex_number) { return visitor.visitComplex_number(this); } else { return visitor.visitChildren(this); } } }; var Signed_numberContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NUMBER() { return this.getToken(PythonParser.NUMBER, 0); } MINUS() { return this.getToken(PythonParser.MINUS, 0); } get ruleIndex() { return PythonParser.RULE_signed_number; } enterRule(listener) { if (listener.enterSigned_number) { listener.enterSigned_number(this); } } exitRule(listener) { if (listener.exitSigned_number) { listener.exitSigned_number(this); } } // @Override accept(visitor) { if (visitor.visitSigned_number) { return visitor.visitSigned_number(this); } else { return visitor.visitChildren(this); } } }; var Signed_real_numberContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } real_number() { return this.getTypedRuleContext(Real_numberContext, 0); } MINUS() { return this.getToken(PythonParser.MINUS, 0); } get ruleIndex() { return PythonParser.RULE_signed_real_number; } enterRule(listener) { if (listener.enterSigned_real_number) { listener.enterSigned_real_number(this); } } exitRule(listener) { if (listener.exitSigned_real_number) { listener.exitSigned_real_number(this); } } // @Override accept(visitor) { if (visitor.visitSigned_real_number) { return visitor.visitSigned_real_number(this); } else { return visitor.visitChildren(this); } } }; var Real_numberContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NUMBER() { return this.getToken(PythonParser.NUMBER, 0); } get ruleIndex() { return PythonParser.RULE_real_number; } enterRule(listener) { if (listener.enterReal_number) { listener.enterReal_number(this); } } exitRule(listener) { if (listener.exitReal_number) { listener.exitReal_number(this); } } // @Override accept(visitor) { if (visitor.visitReal_number) { return visitor.visitReal_number(this); } else { return visitor.visitChildren(this); } } }; var Imaginary_numberContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NUMBER() { return this.getToken(PythonParser.NUMBER, 0); } get ruleIndex() { return PythonParser.RULE_imaginary_number; } enterRule(listener) { if (listener.enterImaginary_number) { listener.enterImaginary_number(this); } } exitRule(listener) { if (listener.exitImaginary_number) { listener.exitImaginary_number(this); } } // @Override accept(visitor) { if (visitor.visitImaginary_number) { return visitor.visitImaginary_number(this); } else { return visitor.visitChildren(this); } } }; var Capture_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } pattern_capture_target() { return this.getTypedRuleContext(Pattern_capture_targetContext, 0); } get ruleIndex() { return PythonParser.RULE_capture_pattern; } enterRule(listener) { if (listener.enterCapture_pattern) { listener.enterCapture_pattern(this); } } exitRule(listener) { if (listener.exitCapture_pattern) { listener.exitCapture_pattern(this); } } // @Override accept(visitor) { if (visitor.visitCapture_pattern) { return visitor.visitCapture_pattern(this); } else { return visitor.visitChildren(this); } } }; var Pattern_capture_targetContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } soft_kw__not__wildcard() { return this.getTypedRuleContext(Soft_kw__not__wildcardContext, 0); } get ruleIndex() { return PythonParser.RULE_pattern_capture_target; } enterRule(listener) { if (listener.enterPattern_capture_target) { listener.enterPattern_capture_target(this); } } exitRule(listener) { if (listener.exitPattern_capture_target) { listener.exitPattern_capture_target(this); } } // @Override accept(visitor) { if (visitor.visitPattern_capture_target) { return visitor.visitPattern_capture_target(this); } else { return visitor.visitChildren(this); } } }; var Wildcard_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } soft_kw_wildcard() { return this.getTypedRuleContext(Soft_kw_wildcardContext, 0); } get ruleIndex() { return PythonParser.RULE_wildcard_pattern; } enterRule(listener) { if (listener.enterWildcard_pattern) { listener.enterWildcard_pattern(this); } } exitRule(listener) { if (listener.exitWildcard_pattern) { listener.exitWildcard_pattern(this); } } // @Override accept(visitor) { if (visitor.visitWildcard_pattern) { return visitor.visitWildcard_pattern(this); } else { return visitor.visitChildren(this); } } }; var Value_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } attr() { return this.getTypedRuleContext(AttrContext, 0); } get ruleIndex() { return PythonParser.RULE_value_pattern; } enterRule(listener) { if (listener.enterValue_pattern) { listener.enterValue_pattern(this); } } exitRule(listener) { if (listener.exitValue_pattern) { listener.exitValue_pattern(this); } } // @Override accept(visitor) { if (visitor.visitValue_pattern) { return visitor.visitValue_pattern(this); } else { return visitor.visitChildren(this); } } }; var AttrContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME_list() { return this.getTokens(PythonParser.NAME); } NAME(i) { return this.getToken(PythonParser.NAME, i); } DOT_list() { return this.getTokens(PythonParser.DOT); } DOT(i) { return this.getToken(PythonParser.DOT, i); } get ruleIndex() { return PythonParser.RULE_attr; } enterRule(listener) { if (listener.enterAttr) { listener.enterAttr(this); } } exitRule(listener) { if (listener.exitAttr) { listener.exitAttr(this); } } // @Override accept(visitor) { if (visitor.visitAttr) { return visitor.visitAttr(this); } else { return visitor.visitChildren(this); } } }; var Name_or_attrContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME_list() { return this.getTokens(PythonParser.NAME); } NAME(i) { return this.getToken(PythonParser.NAME, i); } DOT_list() { return this.getTokens(PythonParser.DOT); } DOT(i) { return this.getToken(PythonParser.DOT, i); } get ruleIndex() { return PythonParser.RULE_name_or_attr; } enterRule(listener) { if (listener.enterName_or_attr) { listener.enterName_or_attr(this); } } exitRule(listener) { if (listener.exitName_or_attr) { listener.exitName_or_attr(this); } } // @Override accept(visitor) { if (visitor.visitName_or_attr) { return visitor.visitName_or_attr(this); } else { return visitor.visitChildren(this); } } }; var Group_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LPAR() { return this.getToken(PythonParser.LPAR, 0); } pattern() { return this.getTypedRuleContext(PatternContext, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } get ruleIndex() { return PythonParser.RULE_group_pattern; } enterRule(listener) { if (listener.enterGroup_pattern) { listener.enterGroup_pattern(this); } } exitRule(listener) { if (listener.exitGroup_pattern) { listener.exitGroup_pattern(this); } } // @Override accept(visitor) { if (visitor.visitGroup_pattern) { return visitor.visitGroup_pattern(this); } else { return visitor.visitChildren(this); } } }; var Sequence_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LSQB() { return this.getToken(PythonParser.LSQB, 0); } RSQB() { return this.getToken(PythonParser.RSQB, 0); } maybe_sequence_pattern() { return this.getTypedRuleContext(Maybe_sequence_patternContext, 0); } LPAR() { return this.getToken(PythonParser.LPAR, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } open_sequence_pattern() { return this.getTypedRuleContext(Open_sequence_patternContext, 0); } get ruleIndex() { return PythonParser.RULE_sequence_pattern; } enterRule(listener) { if (listener.enterSequence_pattern) { listener.enterSequence_pattern(this); } } exitRule(listener) { if (listener.exitSequence_pattern) { listener.exitSequence_pattern(this); } } // @Override accept(visitor) { if (visitor.visitSequence_pattern) { return visitor.visitSequence_pattern(this); } else { return visitor.visitChildren(this); } } }; var Open_sequence_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } maybe_star_pattern() { return this.getTypedRuleContext(Maybe_star_patternContext, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } maybe_sequence_pattern() { return this.getTypedRuleContext(Maybe_sequence_patternContext, 0); } get ruleIndex() { return PythonParser.RULE_open_sequence_pattern; } enterRule(listener) { if (listener.enterOpen_sequence_pattern) { listener.enterOpen_sequence_pattern(this); } } exitRule(listener) { if (listener.exitOpen_sequence_pattern) { listener.exitOpen_sequence_pattern(this); } } // @Override accept(visitor) { if (visitor.visitOpen_sequence_pattern) { return visitor.visitOpen_sequence_pattern(this); } else { return visitor.visitChildren(this); } } }; var Maybe_sequence_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } maybe_star_pattern_list() { return this.getTypedRuleContexts(Maybe_star_patternContext); } maybe_star_pattern(i) { return this.getTypedRuleContext(Maybe_star_patternContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_maybe_sequence_pattern; } enterRule(listener) { if (listener.enterMaybe_sequence_pattern) { listener.enterMaybe_sequence_pattern(this); } } exitRule(listener) { if (listener.exitMaybe_sequence_pattern) { listener.exitMaybe_sequence_pattern(this); } } // @Override accept(visitor) { if (visitor.visitMaybe_sequence_pattern) { return visitor.visitMaybe_sequence_pattern(this); } else { return visitor.visitChildren(this); } } }; var Maybe_star_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } star_pattern() { return this.getTypedRuleContext(Star_patternContext, 0); } pattern() { return this.getTypedRuleContext(PatternContext, 0); } get ruleIndex() { return PythonParser.RULE_maybe_star_pattern; } enterRule(listener) { if (listener.enterMaybe_star_pattern) { listener.enterMaybe_star_pattern(this); } } exitRule(listener) { if (listener.exitMaybe_star_pattern) { listener.exitMaybe_star_pattern(this); } } // @Override accept(visitor) { if (visitor.visitMaybe_star_pattern) { return visitor.visitMaybe_star_pattern(this); } else { return visitor.visitChildren(this); } } }; var Star_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } STAR() { return this.getToken(PythonParser.STAR, 0); } pattern_capture_target() { return this.getTypedRuleContext(Pattern_capture_targetContext, 0); } wildcard_pattern() { return this.getTypedRuleContext(Wildcard_patternContext, 0); } get ruleIndex() { return PythonParser.RULE_star_pattern; } enterRule(listener) { if (listener.enterStar_pattern) { listener.enterStar_pattern(this); } } exitRule(listener) { if (listener.exitStar_pattern) { listener.exitStar_pattern(this); } } // @Override accept(visitor) { if (visitor.visitStar_pattern) { return visitor.visitStar_pattern(this); } else { return visitor.visitChildren(this); } } }; var Mapping_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LBRACE() { return this.getToken(PythonParser.LBRACE, 0); } RBRACE() { return this.getToken(PythonParser.RBRACE, 0); } double_star_pattern() { return this.getTypedRuleContext(Double_star_patternContext, 0); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } items_pattern() { return this.getTypedRuleContext(Items_patternContext, 0); } get ruleIndex() { return PythonParser.RULE_mapping_pattern; } enterRule(listener) { if (listener.enterMapping_pattern) { listener.enterMapping_pattern(this); } } exitRule(listener) { if (listener.exitMapping_pattern) { listener.exitMapping_pattern(this); } } // @Override accept(visitor) { if (visitor.visitMapping_pattern) { return visitor.visitMapping_pattern(this); } else { return visitor.visitChildren(this); } } }; var Items_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } key_value_pattern_list() { return this.getTypedRuleContexts(Key_value_patternContext); } key_value_pattern(i) { return this.getTypedRuleContext(Key_value_patternContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_items_pattern; } enterRule(listener) { if (listener.enterItems_pattern) { listener.enterItems_pattern(this); } } exitRule(listener) { if (listener.exitItems_pattern) { listener.exitItems_pattern(this); } } // @Override accept(visitor) { if (visitor.visitItems_pattern) { return visitor.visitItems_pattern(this); } else { return visitor.visitChildren(this); } } }; var Key_value_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } COLON() { return this.getToken(PythonParser.COLON, 0); } pattern() { return this.getTypedRuleContext(PatternContext, 0); } literal_expr() { return this.getTypedRuleContext(Literal_exprContext, 0); } attr() { return this.getTypedRuleContext(AttrContext, 0); } get ruleIndex() { return PythonParser.RULE_key_value_pattern; } enterRule(listener) { if (listener.enterKey_value_pattern) { listener.enterKey_value_pattern(this); } } exitRule(listener) { if (listener.exitKey_value_pattern) { listener.exitKey_value_pattern(this); } } // @Override accept(visitor) { if (visitor.visitKey_value_pattern) { return visitor.visitKey_value_pattern(this); } else { return visitor.visitChildren(this); } } }; var Double_star_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } DOUBLESTAR() { return this.getToken(PythonParser.DOUBLESTAR, 0); } pattern_capture_target() { return this.getTypedRuleContext(Pattern_capture_targetContext, 0); } get ruleIndex() { return PythonParser.RULE_double_star_pattern; } enterRule(listener) { if (listener.enterDouble_star_pattern) { listener.enterDouble_star_pattern(this); } } exitRule(listener) { if (listener.exitDouble_star_pattern) { listener.exitDouble_star_pattern(this); } } // @Override accept(visitor) { if (visitor.visitDouble_star_pattern) { return visitor.visitDouble_star_pattern(this); } else { return visitor.visitChildren(this); } } }; var Class_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } name_or_attr() { return this.getTypedRuleContext(Name_or_attrContext, 0); } LPAR() { return this.getToken(PythonParser.LPAR, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } positional_patterns() { return this.getTypedRuleContext(Positional_patternsContext, 0); } keyword_patterns() { return this.getTypedRuleContext(Keyword_patternsContext, 0); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_class_pattern; } enterRule(listener) { if (listener.enterClass_pattern) { listener.enterClass_pattern(this); } } exitRule(listener) { if (listener.exitClass_pattern) { listener.exitClass_pattern(this); } } // @Override accept(visitor) { if (visitor.visitClass_pattern) { return visitor.visitClass_pattern(this); } else { return visitor.visitChildren(this); } } }; var Positional_patternsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } pattern_list() { return this.getTypedRuleContexts(PatternContext); } pattern(i) { return this.getTypedRuleContext(PatternContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_positional_patterns; } enterRule(listener) { if (listener.enterPositional_patterns) { listener.enterPositional_patterns(this); } } exitRule(listener) { if (listener.exitPositional_patterns) { listener.exitPositional_patterns(this); } } // @Override accept(visitor) { if (visitor.visitPositional_patterns) { return visitor.visitPositional_patterns(this); } else { return visitor.visitChildren(this); } } }; var Keyword_patternsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } keyword_pattern_list() { return this.getTypedRuleContexts(Keyword_patternContext); } keyword_pattern(i) { return this.getTypedRuleContext(Keyword_patternContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_keyword_patterns; } enterRule(listener) { if (listener.enterKeyword_patterns) { listener.enterKeyword_patterns(this); } } exitRule(listener) { if (listener.exitKeyword_patterns) { listener.exitKeyword_patterns(this); } } // @Override accept(visitor) { if (visitor.visitKeyword_patterns) { return visitor.visitKeyword_patterns(this); } else { return visitor.visitChildren(this); } } }; var Keyword_patternContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } EQUAL() { return this.getToken(PythonParser.EQUAL, 0); } pattern() { return this.getTypedRuleContext(PatternContext, 0); } get ruleIndex() { return PythonParser.RULE_keyword_pattern; } enterRule(listener) { if (listener.enterKeyword_pattern) { listener.enterKeyword_pattern(this); } } exitRule(listener) { if (listener.exitKeyword_pattern) { listener.exitKeyword_pattern(this); } } // @Override accept(visitor) { if (visitor.visitKeyword_pattern) { return visitor.visitKeyword_pattern(this); } else { return visitor.visitChildren(this); } } }; var Type_aliasContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } soft_kw_type() { return this.getTypedRuleContext(Soft_kw_typeContext, 0); } NAME() { return this.getToken(PythonParser.NAME, 0); } EQUAL() { return this.getToken(PythonParser.EQUAL, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } type_params() { return this.getTypedRuleContext(Type_paramsContext, 0); } get ruleIndex() { return PythonParser.RULE_type_alias; } enterRule(listener) { if (listener.enterType_alias) { listener.enterType_alias(this); } } exitRule(listener) { if (listener.exitType_alias) { listener.exitType_alias(this); } } // @Override accept(visitor) { if (visitor.visitType_alias) { return visitor.visitType_alias(this); } else { return visitor.visitChildren(this); } } }; var Type_paramsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LSQB() { return this.getToken(PythonParser.LSQB, 0); } type_param_seq() { return this.getTypedRuleContext(Type_param_seqContext, 0); } RSQB() { return this.getToken(PythonParser.RSQB, 0); } get ruleIndex() { return PythonParser.RULE_type_params; } enterRule(listener) { if (listener.enterType_params) { listener.enterType_params(this); } } exitRule(listener) { if (listener.exitType_params) { listener.exitType_params(this); } } // @Override accept(visitor) { if (visitor.visitType_params) { return visitor.visitType_params(this); } else { return visitor.visitChildren(this); } } }; var Type_param_seqContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } type_param_list() { return this.getTypedRuleContexts(Type_paramContext); } type_param(i) { return this.getTypedRuleContext(Type_paramContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_type_param_seq; } enterRule(listener) { if (listener.enterType_param_seq) { listener.enterType_param_seq(this); } } exitRule(listener) { if (listener.exitType_param_seq) { listener.exitType_param_seq(this); } } // @Override accept(visitor) { if (visitor.visitType_param_seq) { return visitor.visitType_param_seq(this); } else { return visitor.visitChildren(this); } } }; var Type_paramContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } type_param_bound() { return this.getTypedRuleContext(Type_param_boundContext, 0); } STAR() { return this.getToken(PythonParser.STAR, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } DOUBLESTAR() { return this.getToken(PythonParser.DOUBLESTAR, 0); } get ruleIndex() { return PythonParser.RULE_type_param; } enterRule(listener) { if (listener.enterType_param) { listener.enterType_param(this); } } exitRule(listener) { if (listener.exitType_param) { listener.exitType_param(this); } } // @Override accept(visitor) { if (visitor.visitType_param) { return visitor.visitType_param(this); } else { return visitor.visitChildren(this); } } }; var Type_param_boundContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } COLON() { return this.getToken(PythonParser.COLON, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } get ruleIndex() { return PythonParser.RULE_type_param_bound; } enterRule(listener) { if (listener.enterType_param_bound) { listener.enterType_param_bound(this); } } exitRule(listener) { if (listener.exitType_param_bound) { listener.exitType_param_bound(this); } } // @Override accept(visitor) { if (visitor.visitType_param_bound) { return visitor.visitType_param_bound(this); } else { return visitor.visitChildren(this); } } }; var ExpressionsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } expression_list() { return this.getTypedRuleContexts(ExpressionContext); } expression(i) { return this.getTypedRuleContext(ExpressionContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_expressions; } enterRule(listener) { if (listener.enterExpressions) { listener.enterExpressions(this); } } exitRule(listener) { if (listener.exitExpressions) { listener.exitExpressions(this); } } // @Override accept(visitor) { if (visitor.visitExpressions) { return visitor.visitExpressions(this); } else { return visitor.visitChildren(this); } } }; var ExpressionContext = class _ExpressionContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } disjunction_list() { return this.getTypedRuleContexts(DisjunctionContext); } disjunction(i) { return this.getTypedRuleContext(DisjunctionContext, i); } IF() { return this.getToken(PythonParser.IF, 0); } ELSE() { return this.getToken(PythonParser.ELSE, 0); } expression() { return this.getTypedRuleContext(_ExpressionContext, 0); } lambdef() { return this.getTypedRuleContext(LambdefContext, 0); } get ruleIndex() { return PythonParser.RULE_expression; } enterRule(listener) { if (listener.enterExpression) { listener.enterExpression(this); } } exitRule(listener) { if (listener.exitExpression) { listener.exitExpression(this); } } // @Override accept(visitor) { if (visitor.visitExpression) { return visitor.visitExpression(this); } else { return visitor.visitChildren(this); } } }; var Yield_exprContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } YIELD() { return this.getToken(PythonParser.YIELD, 0); } FROM() { return this.getToken(PythonParser.FROM, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } star_expressions() { return this.getTypedRuleContext(Star_expressionsContext, 0); } get ruleIndex() { return PythonParser.RULE_yield_expr; } enterRule(listener) { if (listener.enterYield_expr) { listener.enterYield_expr(this); } } exitRule(listener) { if (listener.exitYield_expr) { listener.exitYield_expr(this); } } // @Override accept(visitor) { if (visitor.visitYield_expr) { return visitor.visitYield_expr(this); } else { return visitor.visitChildren(this); } } }; var Star_expressionsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } star_expression_list() { return this.getTypedRuleContexts(Star_expressionContext); } star_expression(i) { return this.getTypedRuleContext(Star_expressionContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_star_expressions; } enterRule(listener) { if (listener.enterStar_expressions) { listener.enterStar_expressions(this); } } exitRule(listener) { if (listener.exitStar_expressions) { listener.exitStar_expressions(this); } } // @Override accept(visitor) { if (visitor.visitStar_expressions) { return visitor.visitStar_expressions(this); } else { return visitor.visitChildren(this); } } }; var Star_expressionContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } STAR() { return this.getToken(PythonParser.STAR, 0); } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } get ruleIndex() { return PythonParser.RULE_star_expression; } enterRule(listener) { if (listener.enterStar_expression) { listener.enterStar_expression(this); } } exitRule(listener) { if (listener.exitStar_expression) { listener.exitStar_expression(this); } } // @Override accept(visitor) { if (visitor.visitStar_expression) { return visitor.visitStar_expression(this); } else { return visitor.visitChildren(this); } } }; var Star_named_expressionsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } star_named_expression_list() { return this.getTypedRuleContexts(Star_named_expressionContext); } star_named_expression(i) { return this.getTypedRuleContext(Star_named_expressionContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_star_named_expressions; } enterRule(listener) { if (listener.enterStar_named_expressions) { listener.enterStar_named_expressions(this); } } exitRule(listener) { if (listener.exitStar_named_expressions) { listener.exitStar_named_expressions(this); } } // @Override accept(visitor) { if (visitor.visitStar_named_expressions) { return visitor.visitStar_named_expressions(this); } else { return visitor.visitChildren(this); } } }; var Star_named_expressionContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } STAR() { return this.getToken(PythonParser.STAR, 0); } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } named_expression() { return this.getTypedRuleContext(Named_expressionContext, 0); } get ruleIndex() { return PythonParser.RULE_star_named_expression; } enterRule(listener) { if (listener.enterStar_named_expression) { listener.enterStar_named_expression(this); } } exitRule(listener) { if (listener.exitStar_named_expression) { listener.exitStar_named_expression(this); } } // @Override accept(visitor) { if (visitor.visitStar_named_expression) { return visitor.visitStar_named_expression(this); } else { return visitor.visitChildren(this); } } }; var Assignment_expressionContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } COLONEQUAL() { return this.getToken(PythonParser.COLONEQUAL, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } get ruleIndex() { return PythonParser.RULE_assignment_expression; } enterRule(listener) { if (listener.enterAssignment_expression) { listener.enterAssignment_expression(this); } } exitRule(listener) { if (listener.exitAssignment_expression) { listener.exitAssignment_expression(this); } } // @Override accept(visitor) { if (visitor.visitAssignment_expression) { return visitor.visitAssignment_expression(this); } else { return visitor.visitChildren(this); } } }; var Named_expressionContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } assignment_expression() { return this.getTypedRuleContext(Assignment_expressionContext, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } get ruleIndex() { return PythonParser.RULE_named_expression; } enterRule(listener) { if (listener.enterNamed_expression) { listener.enterNamed_expression(this); } } exitRule(listener) { if (listener.exitNamed_expression) { listener.exitNamed_expression(this); } } // @Override accept(visitor) { if (visitor.visitNamed_expression) { return visitor.visitNamed_expression(this); } else { return visitor.visitChildren(this); } } }; var DisjunctionContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } conjunction_list() { return this.getTypedRuleContexts(ConjunctionContext); } conjunction(i) { return this.getTypedRuleContext(ConjunctionContext, i); } OR_list() { return this.getTokens(PythonParser.OR); } OR(i) { return this.getToken(PythonParser.OR, i); } get ruleIndex() { return PythonParser.RULE_disjunction; } enterRule(listener) { if (listener.enterDisjunction) { listener.enterDisjunction(this); } } exitRule(listener) { if (listener.exitDisjunction) { listener.exitDisjunction(this); } } // @Override accept(visitor) { if (visitor.visitDisjunction) { return visitor.visitDisjunction(this); } else { return visitor.visitChildren(this); } } }; var ConjunctionContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } inversion_list() { return this.getTypedRuleContexts(InversionContext); } inversion(i) { return this.getTypedRuleContext(InversionContext, i); } AND_list() { return this.getTokens(PythonParser.AND); } AND(i) { return this.getToken(PythonParser.AND, i); } get ruleIndex() { return PythonParser.RULE_conjunction; } enterRule(listener) { if (listener.enterConjunction) { listener.enterConjunction(this); } } exitRule(listener) { if (listener.exitConjunction) { listener.exitConjunction(this); } } // @Override accept(visitor) { if (visitor.visitConjunction) { return visitor.visitConjunction(this); } else { return visitor.visitChildren(this); } } }; var InversionContext = class _InversionContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NOT() { return this.getToken(PythonParser.NOT, 0); } inversion() { return this.getTypedRuleContext(_InversionContext, 0); } comparison() { return this.getTypedRuleContext(ComparisonContext, 0); } get ruleIndex() { return PythonParser.RULE_inversion; } enterRule(listener) { if (listener.enterInversion) { listener.enterInversion(this); } } exitRule(listener) { if (listener.exitInversion) { listener.exitInversion(this); } } // @Override accept(visitor) { if (visitor.visitInversion) { return visitor.visitInversion(this); } else { return visitor.visitChildren(this); } } }; var ComparisonContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } compare_op_bitwise_or_pair_list() { return this.getTypedRuleContexts(Compare_op_bitwise_or_pairContext); } compare_op_bitwise_or_pair(i) { return this.getTypedRuleContext(Compare_op_bitwise_or_pairContext, i); } get ruleIndex() { return PythonParser.RULE_comparison; } enterRule(listener) { if (listener.enterComparison) { listener.enterComparison(this); } } exitRule(listener) { if (listener.exitComparison) { listener.exitComparison(this); } } // @Override accept(visitor) { if (visitor.visitComparison) { return visitor.visitComparison(this); } else { return visitor.visitChildren(this); } } }; var Compare_op_bitwise_or_pairContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } eq_bitwise_or() { return this.getTypedRuleContext(Eq_bitwise_orContext, 0); } noteq_bitwise_or() { return this.getTypedRuleContext(Noteq_bitwise_orContext, 0); } lte_bitwise_or() { return this.getTypedRuleContext(Lte_bitwise_orContext, 0); } lt_bitwise_or() { return this.getTypedRuleContext(Lt_bitwise_orContext, 0); } gte_bitwise_or() { return this.getTypedRuleContext(Gte_bitwise_orContext, 0); } gt_bitwise_or() { return this.getTypedRuleContext(Gt_bitwise_orContext, 0); } notin_bitwise_or() { return this.getTypedRuleContext(Notin_bitwise_orContext, 0); } in_bitwise_or() { return this.getTypedRuleContext(In_bitwise_orContext, 0); } isnot_bitwise_or() { return this.getTypedRuleContext(Isnot_bitwise_orContext, 0); } is_bitwise_or() { return this.getTypedRuleContext(Is_bitwise_orContext, 0); } get ruleIndex() { return PythonParser.RULE_compare_op_bitwise_or_pair; } enterRule(listener) { if (listener.enterCompare_op_bitwise_or_pair) { listener.enterCompare_op_bitwise_or_pair(this); } } exitRule(listener) { if (listener.exitCompare_op_bitwise_or_pair) { listener.exitCompare_op_bitwise_or_pair(this); } } // @Override accept(visitor) { if (visitor.visitCompare_op_bitwise_or_pair) { return visitor.visitCompare_op_bitwise_or_pair(this); } else { return visitor.visitChildren(this); } } }; var Eq_bitwise_orContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } EQEQUAL() { return this.getToken(PythonParser.EQEQUAL, 0); } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } get ruleIndex() { return PythonParser.RULE_eq_bitwise_or; } enterRule(listener) { if (listener.enterEq_bitwise_or) { listener.enterEq_bitwise_or(this); } } exitRule(listener) { if (listener.exitEq_bitwise_or) { listener.exitEq_bitwise_or(this); } } // @Override accept(visitor) { if (visitor.visitEq_bitwise_or) { return visitor.visitEq_bitwise_or(this); } else { return visitor.visitChildren(this); } } }; var Noteq_bitwise_orContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } NOTEQUAL() { return this.getToken(PythonParser.NOTEQUAL, 0); } get ruleIndex() { return PythonParser.RULE_noteq_bitwise_or; } enterRule(listener) { if (listener.enterNoteq_bitwise_or) { listener.enterNoteq_bitwise_or(this); } } exitRule(listener) { if (listener.exitNoteq_bitwise_or) { listener.exitNoteq_bitwise_or(this); } } // @Override accept(visitor) { if (visitor.visitNoteq_bitwise_or) { return visitor.visitNoteq_bitwise_or(this); } else { return visitor.visitChildren(this); } } }; var Lte_bitwise_orContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LESSEQUAL() { return this.getToken(PythonParser.LESSEQUAL, 0); } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } get ruleIndex() { return PythonParser.RULE_lte_bitwise_or; } enterRule(listener) { if (listener.enterLte_bitwise_or) { listener.enterLte_bitwise_or(this); } } exitRule(listener) { if (listener.exitLte_bitwise_or) { listener.exitLte_bitwise_or(this); } } // @Override accept(visitor) { if (visitor.visitLte_bitwise_or) { return visitor.visitLte_bitwise_or(this); } else { return visitor.visitChildren(this); } } }; var Lt_bitwise_orContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LESS() { return this.getToken(PythonParser.LESS, 0); } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } get ruleIndex() { return PythonParser.RULE_lt_bitwise_or; } enterRule(listener) { if (listener.enterLt_bitwise_or) { listener.enterLt_bitwise_or(this); } } exitRule(listener) { if (listener.exitLt_bitwise_or) { listener.exitLt_bitwise_or(this); } } // @Override accept(visitor) { if (visitor.visitLt_bitwise_or) { return visitor.visitLt_bitwise_or(this); } else { return visitor.visitChildren(this); } } }; var Gte_bitwise_orContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } GREATEREQUAL() { return this.getToken(PythonParser.GREATEREQUAL, 0); } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } get ruleIndex() { return PythonParser.RULE_gte_bitwise_or; } enterRule(listener) { if (listener.enterGte_bitwise_or) { listener.enterGte_bitwise_or(this); } } exitRule(listener) { if (listener.exitGte_bitwise_or) { listener.exitGte_bitwise_or(this); } } // @Override accept(visitor) { if (visitor.visitGte_bitwise_or) { return visitor.visitGte_bitwise_or(this); } else { return visitor.visitChildren(this); } } }; var Gt_bitwise_orContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } GREATER() { return this.getToken(PythonParser.GREATER, 0); } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } get ruleIndex() { return PythonParser.RULE_gt_bitwise_or; } enterRule(listener) { if (listener.enterGt_bitwise_or) { listener.enterGt_bitwise_or(this); } } exitRule(listener) { if (listener.exitGt_bitwise_or) { listener.exitGt_bitwise_or(this); } } // @Override accept(visitor) { if (visitor.visitGt_bitwise_or) { return visitor.visitGt_bitwise_or(this); } else { return visitor.visitChildren(this); } } }; var Notin_bitwise_orContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NOT() { return this.getToken(PythonParser.NOT, 0); } IN() { return this.getToken(PythonParser.IN, 0); } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } get ruleIndex() { return PythonParser.RULE_notin_bitwise_or; } enterRule(listener) { if (listener.enterNotin_bitwise_or) { listener.enterNotin_bitwise_or(this); } } exitRule(listener) { if (listener.exitNotin_bitwise_or) { listener.exitNotin_bitwise_or(this); } } // @Override accept(visitor) { if (visitor.visitNotin_bitwise_or) { return visitor.visitNotin_bitwise_or(this); } else { return visitor.visitChildren(this); } } }; var In_bitwise_orContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } IN() { return this.getToken(PythonParser.IN, 0); } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } get ruleIndex() { return PythonParser.RULE_in_bitwise_or; } enterRule(listener) { if (listener.enterIn_bitwise_or) { listener.enterIn_bitwise_or(this); } } exitRule(listener) { if (listener.exitIn_bitwise_or) { listener.exitIn_bitwise_or(this); } } // @Override accept(visitor) { if (visitor.visitIn_bitwise_or) { return visitor.visitIn_bitwise_or(this); } else { return visitor.visitChildren(this); } } }; var Isnot_bitwise_orContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } IS() { return this.getToken(PythonParser.IS, 0); } NOT() { return this.getToken(PythonParser.NOT, 0); } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } get ruleIndex() { return PythonParser.RULE_isnot_bitwise_or; } enterRule(listener) { if (listener.enterIsnot_bitwise_or) { listener.enterIsnot_bitwise_or(this); } } exitRule(listener) { if (listener.exitIsnot_bitwise_or) { listener.exitIsnot_bitwise_or(this); } } // @Override accept(visitor) { if (visitor.visitIsnot_bitwise_or) { return visitor.visitIsnot_bitwise_or(this); } else { return visitor.visitChildren(this); } } }; var Is_bitwise_orContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } IS() { return this.getToken(PythonParser.IS, 0); } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } get ruleIndex() { return PythonParser.RULE_is_bitwise_or; } enterRule(listener) { if (listener.enterIs_bitwise_or) { listener.enterIs_bitwise_or(this); } } exitRule(listener) { if (listener.exitIs_bitwise_or) { listener.exitIs_bitwise_or(this); } } // @Override accept(visitor) { if (visitor.visitIs_bitwise_or) { return visitor.visitIs_bitwise_or(this); } else { return visitor.visitChildren(this); } } }; var Bitwise_orContext = class _Bitwise_orContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } bitwise_xor() { return this.getTypedRuleContext(Bitwise_xorContext, 0); } bitwise_or() { return this.getTypedRuleContext(_Bitwise_orContext, 0); } VBAR() { return this.getToken(PythonParser.VBAR, 0); } get ruleIndex() { return PythonParser.RULE_bitwise_or; } enterRule(listener) { if (listener.enterBitwise_or) { listener.enterBitwise_or(this); } } exitRule(listener) { if (listener.exitBitwise_or) { listener.exitBitwise_or(this); } } // @Override accept(visitor) { if (visitor.visitBitwise_or) { return visitor.visitBitwise_or(this); } else { return visitor.visitChildren(this); } } }; var Bitwise_xorContext = class _Bitwise_xorContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } bitwise_and() { return this.getTypedRuleContext(Bitwise_andContext, 0); } bitwise_xor() { return this.getTypedRuleContext(_Bitwise_xorContext, 0); } CIRCUMFLEX() { return this.getToken(PythonParser.CIRCUMFLEX, 0); } get ruleIndex() { return PythonParser.RULE_bitwise_xor; } enterRule(listener) { if (listener.enterBitwise_xor) { listener.enterBitwise_xor(this); } } exitRule(listener) { if (listener.exitBitwise_xor) { listener.exitBitwise_xor(this); } } // @Override accept(visitor) { if (visitor.visitBitwise_xor) { return visitor.visitBitwise_xor(this); } else { return visitor.visitChildren(this); } } }; var Bitwise_andContext = class _Bitwise_andContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } shift_expr() { return this.getTypedRuleContext(Shift_exprContext, 0); } bitwise_and() { return this.getTypedRuleContext(_Bitwise_andContext, 0); } AMPER() { return this.getToken(PythonParser.AMPER, 0); } get ruleIndex() { return PythonParser.RULE_bitwise_and; } enterRule(listener) { if (listener.enterBitwise_and) { listener.enterBitwise_and(this); } } exitRule(listener) { if (listener.exitBitwise_and) { listener.exitBitwise_and(this); } } // @Override accept(visitor) { if (visitor.visitBitwise_and) { return visitor.visitBitwise_and(this); } else { return visitor.visitChildren(this); } } }; var Shift_exprContext = class _Shift_exprContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } sum() { return this.getTypedRuleContext(SumContext, 0); } shift_expr() { return this.getTypedRuleContext(_Shift_exprContext, 0); } LEFTSHIFT() { return this.getToken(PythonParser.LEFTSHIFT, 0); } RIGHTSHIFT() { return this.getToken(PythonParser.RIGHTSHIFT, 0); } get ruleIndex() { return PythonParser.RULE_shift_expr; } enterRule(listener) { if (listener.enterShift_expr) { listener.enterShift_expr(this); } } exitRule(listener) { if (listener.exitShift_expr) { listener.exitShift_expr(this); } } // @Override accept(visitor) { if (visitor.visitShift_expr) { return visitor.visitShift_expr(this); } else { return visitor.visitChildren(this); } } }; var SumContext = class _SumContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } term() { return this.getTypedRuleContext(TermContext, 0); } sum() { return this.getTypedRuleContext(_SumContext, 0); } PLUS() { return this.getToken(PythonParser.PLUS, 0); } MINUS() { return this.getToken(PythonParser.MINUS, 0); } get ruleIndex() { return PythonParser.RULE_sum; } enterRule(listener) { if (listener.enterSum) { listener.enterSum(this); } } exitRule(listener) { if (listener.exitSum) { listener.exitSum(this); } } // @Override accept(visitor) { if (visitor.visitSum) { return visitor.visitSum(this); } else { return visitor.visitChildren(this); } } }; var TermContext = class _TermContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } factor() { return this.getTypedRuleContext(FactorContext, 0); } term() { return this.getTypedRuleContext(_TermContext, 0); } STAR() { return this.getToken(PythonParser.STAR, 0); } SLASH() { return this.getToken(PythonParser.SLASH, 0); } DOUBLESLASH() { return this.getToken(PythonParser.DOUBLESLASH, 0); } PERCENT() { return this.getToken(PythonParser.PERCENT, 0); } AT() { return this.getToken(PythonParser.AT, 0); } get ruleIndex() { return PythonParser.RULE_term; } enterRule(listener) { if (listener.enterTerm) { listener.enterTerm(this); } } exitRule(listener) { if (listener.exitTerm) { listener.exitTerm(this); } } // @Override accept(visitor) { if (visitor.visitTerm) { return visitor.visitTerm(this); } else { return visitor.visitChildren(this); } } }; var FactorContext = class _FactorContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } PLUS() { return this.getToken(PythonParser.PLUS, 0); } factor() { return this.getTypedRuleContext(_FactorContext, 0); } MINUS() { return this.getToken(PythonParser.MINUS, 0); } TILDE() { return this.getToken(PythonParser.TILDE, 0); } power() { return this.getTypedRuleContext(PowerContext, 0); } get ruleIndex() { return PythonParser.RULE_factor; } enterRule(listener) { if (listener.enterFactor) { listener.enterFactor(this); } } exitRule(listener) { if (listener.exitFactor) { listener.exitFactor(this); } } // @Override accept(visitor) { if (visitor.visitFactor) { return visitor.visitFactor(this); } else { return visitor.visitChildren(this); } } }; var PowerContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } await_primary() { return this.getTypedRuleContext(Await_primaryContext, 0); } DOUBLESTAR() { return this.getToken(PythonParser.DOUBLESTAR, 0); } factor() { return this.getTypedRuleContext(FactorContext, 0); } get ruleIndex() { return PythonParser.RULE_power; } enterRule(listener) { if (listener.enterPower) { listener.enterPower(this); } } exitRule(listener) { if (listener.exitPower) { listener.exitPower(this); } } // @Override accept(visitor) { if (visitor.visitPower) { return visitor.visitPower(this); } else { return visitor.visitChildren(this); } } }; var Await_primaryContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } AWAIT() { return this.getToken(PythonParser.AWAIT, 0); } primary() { return this.getTypedRuleContext(PrimaryContext, 0); } get ruleIndex() { return PythonParser.RULE_await_primary; } enterRule(listener) { if (listener.enterAwait_primary) { listener.enterAwait_primary(this); } } exitRule(listener) { if (listener.exitAwait_primary) { listener.exitAwait_primary(this); } } // @Override accept(visitor) { if (visitor.visitAwait_primary) { return visitor.visitAwait_primary(this); } else { return visitor.visitChildren(this); } } }; var PrimaryContext = class _PrimaryContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } atom() { return this.getTypedRuleContext(AtomContext, 0); } primary() { return this.getTypedRuleContext(_PrimaryContext, 0); } DOT() { return this.getToken(PythonParser.DOT, 0); } NAME() { return this.getToken(PythonParser.NAME, 0); } genexp() { return this.getTypedRuleContext(GenexpContext, 0); } LPAR() { return this.getToken(PythonParser.LPAR, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } LSQB() { return this.getToken(PythonParser.LSQB, 0); } slices() { return this.getTypedRuleContext(SlicesContext, 0); } RSQB() { return this.getToken(PythonParser.RSQB, 0); } arguments() { return this.getTypedRuleContext(ArgumentsContext, 0); } get ruleIndex() { return PythonParser.RULE_primary; } enterRule(listener) { if (listener.enterPrimary) { listener.enterPrimary(this); } } exitRule(listener) { if (listener.exitPrimary) { listener.exitPrimary(this); } } // @Override accept(visitor) { if (visitor.visitPrimary) { return visitor.visitPrimary(this); } else { return visitor.visitChildren(this); } } }; var SlicesContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } slice_list() { return this.getTypedRuleContexts(SliceContext); } slice(i) { return this.getTypedRuleContext(SliceContext, i); } starred_expression_list() { return this.getTypedRuleContexts(Starred_expressionContext); } starred_expression(i) { return this.getTypedRuleContext(Starred_expressionContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_slices; } enterRule(listener) { if (listener.enterSlices) { listener.enterSlices(this); } } exitRule(listener) { if (listener.exitSlices) { listener.exitSlices(this); } } // @Override accept(visitor) { if (visitor.visitSlices) { return visitor.visitSlices(this); } else { return visitor.visitChildren(this); } } }; var SliceContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } COLON_list() { return this.getTokens(PythonParser.COLON); } COLON(i) { return this.getToken(PythonParser.COLON, i); } expression_list() { return this.getTypedRuleContexts(ExpressionContext); } expression(i) { return this.getTypedRuleContext(ExpressionContext, i); } named_expression() { return this.getTypedRuleContext(Named_expressionContext, 0); } get ruleIndex() { return PythonParser.RULE_slice; } enterRule(listener) { if (listener.enterSlice) { listener.enterSlice(this); } } exitRule(listener) { if (listener.exitSlice) { listener.exitSlice(this); } } // @Override accept(visitor) { if (visitor.visitSlice) { return visitor.visitSlice(this); } else { return visitor.visitChildren(this); } } }; var AtomContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } TRUE() { return this.getToken(PythonParser.TRUE, 0); } FALSE() { return this.getToken(PythonParser.FALSE, 0); } NONE() { return this.getToken(PythonParser.NONE, 0); } strings() { return this.getTypedRuleContext(StringsContext, 0); } NUMBER() { return this.getToken(PythonParser.NUMBER, 0); } tuple() { return this.getTypedRuleContext(TupleContext, 0); } group() { return this.getTypedRuleContext(GroupContext, 0); } genexp() { return this.getTypedRuleContext(GenexpContext, 0); } list() { return this.getTypedRuleContext(ListContext, 0); } listcomp() { return this.getTypedRuleContext(ListcompContext, 0); } dict() { return this.getTypedRuleContext(DictContext, 0); } set_() { return this.getTypedRuleContext(SetContext, 0); } dictcomp() { return this.getTypedRuleContext(DictcompContext, 0); } setcomp() { return this.getTypedRuleContext(SetcompContext, 0); } ELLIPSIS() { return this.getToken(PythonParser.ELLIPSIS, 0); } get ruleIndex() { return PythonParser.RULE_atom; } enterRule(listener) { if (listener.enterAtom) { listener.enterAtom(this); } } exitRule(listener) { if (listener.exitAtom) { listener.exitAtom(this); } } // @Override accept(visitor) { if (visitor.visitAtom) { return visitor.visitAtom(this); } else { return visitor.visitChildren(this); } } }; var GroupContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LPAR() { return this.getToken(PythonParser.LPAR, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } yield_expr() { return this.getTypedRuleContext(Yield_exprContext, 0); } named_expression() { return this.getTypedRuleContext(Named_expressionContext, 0); } get ruleIndex() { return PythonParser.RULE_group; } enterRule(listener) { if (listener.enterGroup) { listener.enterGroup(this); } } exitRule(listener) { if (listener.exitGroup) { listener.exitGroup(this); } } // @Override accept(visitor) { if (visitor.visitGroup) { return visitor.visitGroup(this); } else { return visitor.visitChildren(this); } } }; var LambdefContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LAMBDA() { return this.getToken(PythonParser.LAMBDA, 0); } COLON() { return this.getToken(PythonParser.COLON, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } lambda_params() { return this.getTypedRuleContext(Lambda_paramsContext, 0); } get ruleIndex() { return PythonParser.RULE_lambdef; } enterRule(listener) { if (listener.enterLambdef) { listener.enterLambdef(this); } } exitRule(listener) { if (listener.exitLambdef) { listener.exitLambdef(this); } } // @Override accept(visitor) { if (visitor.visitLambdef) { return visitor.visitLambdef(this); } else { return visitor.visitChildren(this); } } }; var Lambda_paramsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } lambda_parameters() { return this.getTypedRuleContext(Lambda_parametersContext, 0); } get ruleIndex() { return PythonParser.RULE_lambda_params; } enterRule(listener) { if (listener.enterLambda_params) { listener.enterLambda_params(this); } } exitRule(listener) { if (listener.exitLambda_params) { listener.exitLambda_params(this); } } // @Override accept(visitor) { if (visitor.visitLambda_params) { return visitor.visitLambda_params(this); } else { return visitor.visitChildren(this); } } }; var Lambda_parametersContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } lambda_slash_no_default() { return this.getTypedRuleContext(Lambda_slash_no_defaultContext, 0); } lambda_param_no_default_list() { return this.getTypedRuleContexts(Lambda_param_no_defaultContext); } lambda_param_no_default(i) { return this.getTypedRuleContext(Lambda_param_no_defaultContext, i); } lambda_param_with_default_list() { return this.getTypedRuleContexts(Lambda_param_with_defaultContext); } lambda_param_with_default(i) { return this.getTypedRuleContext(Lambda_param_with_defaultContext, i); } lambda_star_etc() { return this.getTypedRuleContext(Lambda_star_etcContext, 0); } lambda_slash_with_default() { return this.getTypedRuleContext(Lambda_slash_with_defaultContext, 0); } get ruleIndex() { return PythonParser.RULE_lambda_parameters; } enterRule(listener) { if (listener.enterLambda_parameters) { listener.enterLambda_parameters(this); } } exitRule(listener) { if (listener.exitLambda_parameters) { listener.exitLambda_parameters(this); } } // @Override accept(visitor) { if (visitor.visitLambda_parameters) { return visitor.visitLambda_parameters(this); } else { return visitor.visitChildren(this); } } }; var Lambda_slash_no_defaultContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } SLASH() { return this.getToken(PythonParser.SLASH, 0); } lambda_param_no_default_list() { return this.getTypedRuleContexts(Lambda_param_no_defaultContext); } lambda_param_no_default(i) { return this.getTypedRuleContext(Lambda_param_no_defaultContext, i); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } get ruleIndex() { return PythonParser.RULE_lambda_slash_no_default; } enterRule(listener) { if (listener.enterLambda_slash_no_default) { listener.enterLambda_slash_no_default(this); } } exitRule(listener) { if (listener.exitLambda_slash_no_default) { listener.exitLambda_slash_no_default(this); } } // @Override accept(visitor) { if (visitor.visitLambda_slash_no_default) { return visitor.visitLambda_slash_no_default(this); } else { return visitor.visitChildren(this); } } }; var Lambda_slash_with_defaultContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } SLASH() { return this.getToken(PythonParser.SLASH, 0); } lambda_param_no_default_list() { return this.getTypedRuleContexts(Lambda_param_no_defaultContext); } lambda_param_no_default(i) { return this.getTypedRuleContext(Lambda_param_no_defaultContext, i); } lambda_param_with_default_list() { return this.getTypedRuleContexts(Lambda_param_with_defaultContext); } lambda_param_with_default(i) { return this.getTypedRuleContext(Lambda_param_with_defaultContext, i); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } get ruleIndex() { return PythonParser.RULE_lambda_slash_with_default; } enterRule(listener) { if (listener.enterLambda_slash_with_default) { listener.enterLambda_slash_with_default(this); } } exitRule(listener) { if (listener.exitLambda_slash_with_default) { listener.exitLambda_slash_with_default(this); } } // @Override accept(visitor) { if (visitor.visitLambda_slash_with_default) { return visitor.visitLambda_slash_with_default(this); } else { return visitor.visitChildren(this); } } }; var Lambda_star_etcContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } STAR() { return this.getToken(PythonParser.STAR, 0); } lambda_param_no_default() { return this.getTypedRuleContext(Lambda_param_no_defaultContext, 0); } lambda_param_maybe_default_list() { return this.getTypedRuleContexts(Lambda_param_maybe_defaultContext); } lambda_param_maybe_default(i) { return this.getTypedRuleContext(Lambda_param_maybe_defaultContext, i); } lambda_kwds() { return this.getTypedRuleContext(Lambda_kwdsContext, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } get ruleIndex() { return PythonParser.RULE_lambda_star_etc; } enterRule(listener) { if (listener.enterLambda_star_etc) { listener.enterLambda_star_etc(this); } } exitRule(listener) { if (listener.exitLambda_star_etc) { listener.exitLambda_star_etc(this); } } // @Override accept(visitor) { if (visitor.visitLambda_star_etc) { return visitor.visitLambda_star_etc(this); } else { return visitor.visitChildren(this); } } }; var Lambda_kwdsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } DOUBLESTAR() { return this.getToken(PythonParser.DOUBLESTAR, 0); } lambda_param_no_default() { return this.getTypedRuleContext(Lambda_param_no_defaultContext, 0); } get ruleIndex() { return PythonParser.RULE_lambda_kwds; } enterRule(listener) { if (listener.enterLambda_kwds) { listener.enterLambda_kwds(this); } } exitRule(listener) { if (listener.exitLambda_kwds) { listener.exitLambda_kwds(this); } } // @Override accept(visitor) { if (visitor.visitLambda_kwds) { return visitor.visitLambda_kwds(this); } else { return visitor.visitChildren(this); } } }; var Lambda_param_no_defaultContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } lambda_param() { return this.getTypedRuleContext(Lambda_paramContext, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } get ruleIndex() { return PythonParser.RULE_lambda_param_no_default; } enterRule(listener) { if (listener.enterLambda_param_no_default) { listener.enterLambda_param_no_default(this); } } exitRule(listener) { if (listener.exitLambda_param_no_default) { listener.exitLambda_param_no_default(this); } } // @Override accept(visitor) { if (visitor.visitLambda_param_no_default) { return visitor.visitLambda_param_no_default(this); } else { return visitor.visitChildren(this); } } }; var Lambda_param_with_defaultContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } lambda_param() { return this.getTypedRuleContext(Lambda_paramContext, 0); } default_assignment() { return this.getTypedRuleContext(Default_assignmentContext, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } get ruleIndex() { return PythonParser.RULE_lambda_param_with_default; } enterRule(listener) { if (listener.enterLambda_param_with_default) { listener.enterLambda_param_with_default(this); } } exitRule(listener) { if (listener.exitLambda_param_with_default) { listener.exitLambda_param_with_default(this); } } // @Override accept(visitor) { if (visitor.visitLambda_param_with_default) { return visitor.visitLambda_param_with_default(this); } else { return visitor.visitChildren(this); } } }; var Lambda_param_maybe_defaultContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } lambda_param() { return this.getTypedRuleContext(Lambda_paramContext, 0); } default_assignment() { return this.getTypedRuleContext(Default_assignmentContext, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } get ruleIndex() { return PythonParser.RULE_lambda_param_maybe_default; } enterRule(listener) { if (listener.enterLambda_param_maybe_default) { listener.enterLambda_param_maybe_default(this); } } exitRule(listener) { if (listener.exitLambda_param_maybe_default) { listener.exitLambda_param_maybe_default(this); } } // @Override accept(visitor) { if (visitor.visitLambda_param_maybe_default) { return visitor.visitLambda_param_maybe_default(this); } else { return visitor.visitChildren(this); } } }; var Lambda_paramContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } get ruleIndex() { return PythonParser.RULE_lambda_param; } enterRule(listener) { if (listener.enterLambda_param) { listener.enterLambda_param(this); } } exitRule(listener) { if (listener.exitLambda_param) { listener.exitLambda_param(this); } } // @Override accept(visitor) { if (visitor.visitLambda_param) { return visitor.visitLambda_param(this); } else { return visitor.visitChildren(this); } } }; var Fstring_middleContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } fstring_replacement_field() { return this.getTypedRuleContext(Fstring_replacement_fieldContext, 0); } FSTRING_MIDDLE() { return this.getToken(PythonParser.FSTRING_MIDDLE, 0); } get ruleIndex() { return PythonParser.RULE_fstring_middle; } enterRule(listener) { if (listener.enterFstring_middle) { listener.enterFstring_middle(this); } } exitRule(listener) { if (listener.exitFstring_middle) { listener.exitFstring_middle(this); } } // @Override accept(visitor) { if (visitor.visitFstring_middle) { return visitor.visitFstring_middle(this); } else { return visitor.visitChildren(this); } } }; var Fstring_replacement_fieldContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LBRACE() { return this.getToken(PythonParser.LBRACE, 0); } RBRACE() { return this.getToken(PythonParser.RBRACE, 0); } yield_expr() { return this.getTypedRuleContext(Yield_exprContext, 0); } star_expressions() { return this.getTypedRuleContext(Star_expressionsContext, 0); } EQUAL() { return this.getToken(PythonParser.EQUAL, 0); } fstring_conversion() { return this.getTypedRuleContext(Fstring_conversionContext, 0); } fstring_full_format_spec() { return this.getTypedRuleContext(Fstring_full_format_specContext, 0); } get ruleIndex() { return PythonParser.RULE_fstring_replacement_field; } enterRule(listener) { if (listener.enterFstring_replacement_field) { listener.enterFstring_replacement_field(this); } } exitRule(listener) { if (listener.exitFstring_replacement_field) { listener.exitFstring_replacement_field(this); } } // @Override accept(visitor) { if (visitor.visitFstring_replacement_field) { return visitor.visitFstring_replacement_field(this); } else { return visitor.visitChildren(this); } } }; var Fstring_conversionContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } EXCLAMATION() { return this.getToken(PythonParser.EXCLAMATION, 0); } NAME() { return this.getToken(PythonParser.NAME, 0); } get ruleIndex() { return PythonParser.RULE_fstring_conversion; } enterRule(listener) { if (listener.enterFstring_conversion) { listener.enterFstring_conversion(this); } } exitRule(listener) { if (listener.exitFstring_conversion) { listener.exitFstring_conversion(this); } } // @Override accept(visitor) { if (visitor.visitFstring_conversion) { return visitor.visitFstring_conversion(this); } else { return visitor.visitChildren(this); } } }; var Fstring_full_format_specContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } COLON() { return this.getToken(PythonParser.COLON, 0); } fstring_format_spec_list() { return this.getTypedRuleContexts(Fstring_format_specContext); } fstring_format_spec(i) { return this.getTypedRuleContext(Fstring_format_specContext, i); } get ruleIndex() { return PythonParser.RULE_fstring_full_format_spec; } enterRule(listener) { if (listener.enterFstring_full_format_spec) { listener.enterFstring_full_format_spec(this); } } exitRule(listener) { if (listener.exitFstring_full_format_spec) { listener.exitFstring_full_format_spec(this); } } // @Override accept(visitor) { if (visitor.visitFstring_full_format_spec) { return visitor.visitFstring_full_format_spec(this); } else { return visitor.visitChildren(this); } } }; var Fstring_format_specContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } FSTRING_MIDDLE() { return this.getToken(PythonParser.FSTRING_MIDDLE, 0); } fstring_replacement_field() { return this.getTypedRuleContext(Fstring_replacement_fieldContext, 0); } get ruleIndex() { return PythonParser.RULE_fstring_format_spec; } enterRule(listener) { if (listener.enterFstring_format_spec) { listener.enterFstring_format_spec(this); } } exitRule(listener) { if (listener.exitFstring_format_spec) { listener.exitFstring_format_spec(this); } } // @Override accept(visitor) { if (visitor.visitFstring_format_spec) { return visitor.visitFstring_format_spec(this); } else { return visitor.visitChildren(this); } } }; var FstringContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } FSTRING_START() { return this.getToken(PythonParser.FSTRING_START, 0); } FSTRING_END() { return this.getToken(PythonParser.FSTRING_END, 0); } fstring_middle_list() { return this.getTypedRuleContexts(Fstring_middleContext); } fstring_middle(i) { return this.getTypedRuleContext(Fstring_middleContext, i); } get ruleIndex() { return PythonParser.RULE_fstring; } enterRule(listener) { if (listener.enterFstring) { listener.enterFstring(this); } } exitRule(listener) { if (listener.exitFstring) { listener.exitFstring(this); } } // @Override accept(visitor) { if (visitor.visitFstring) { return visitor.visitFstring(this); } else { return visitor.visitChildren(this); } } }; var StringContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } STRING() { return this.getToken(PythonParser.STRING, 0); } get ruleIndex() { return PythonParser.RULE_string; } enterRule(listener) { if (listener.enterString) { listener.enterString(this); } } exitRule(listener) { if (listener.exitString) { listener.exitString(this); } } // @Override accept(visitor) { if (visitor.visitString) { return visitor.visitString(this); } else { return visitor.visitChildren(this); } } }; var StringsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } fstring_list() { return this.getTypedRuleContexts(FstringContext); } fstring(i) { return this.getTypedRuleContext(FstringContext, i); } string__list() { return this.getTypedRuleContexts(StringContext); } string_(i) { return this.getTypedRuleContext(StringContext, i); } get ruleIndex() { return PythonParser.RULE_strings; } enterRule(listener) { if (listener.enterStrings) { listener.enterStrings(this); } } exitRule(listener) { if (listener.exitStrings) { listener.exitStrings(this); } } // @Override accept(visitor) { if (visitor.visitStrings) { return visitor.visitStrings(this); } else { return visitor.visitChildren(this); } } }; var ListContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LSQB() { return this.getToken(PythonParser.LSQB, 0); } RSQB() { return this.getToken(PythonParser.RSQB, 0); } star_named_expressions() { return this.getTypedRuleContext(Star_named_expressionsContext, 0); } get ruleIndex() { return PythonParser.RULE_list; } enterRule(listener) { if (listener.enterList) { listener.enterList(this); } } exitRule(listener) { if (listener.exitList) { listener.exitList(this); } } // @Override accept(visitor) { if (visitor.visitList) { return visitor.visitList(this); } else { return visitor.visitChildren(this); } } }; var TupleContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LPAR() { return this.getToken(PythonParser.LPAR, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } star_named_expression() { return this.getTypedRuleContext(Star_named_expressionContext, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } star_named_expressions() { return this.getTypedRuleContext(Star_named_expressionsContext, 0); } get ruleIndex() { return PythonParser.RULE_tuple; } enterRule(listener) { if (listener.enterTuple) { listener.enterTuple(this); } } exitRule(listener) { if (listener.exitTuple) { listener.exitTuple(this); } } // @Override accept(visitor) { if (visitor.visitTuple) { return visitor.visitTuple(this); } else { return visitor.visitChildren(this); } } }; var SetContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LBRACE() { return this.getToken(PythonParser.LBRACE, 0); } star_named_expressions() { return this.getTypedRuleContext(Star_named_expressionsContext, 0); } RBRACE() { return this.getToken(PythonParser.RBRACE, 0); } get ruleIndex() { return PythonParser.RULE_set; } enterRule(listener) { if (listener.enterSet) { listener.enterSet(this); } } exitRule(listener) { if (listener.exitSet) { listener.exitSet(this); } } // @Override accept(visitor) { if (visitor.visitSet) { return visitor.visitSet(this); } else { return visitor.visitChildren(this); } } }; var DictContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LBRACE() { return this.getToken(PythonParser.LBRACE, 0); } RBRACE() { return this.getToken(PythonParser.RBRACE, 0); } double_starred_kvpairs() { return this.getTypedRuleContext(Double_starred_kvpairsContext, 0); } get ruleIndex() { return PythonParser.RULE_dict; } enterRule(listener) { if (listener.enterDict) { listener.enterDict(this); } } exitRule(listener) { if (listener.exitDict) { listener.exitDict(this); } } // @Override accept(visitor) { if (visitor.visitDict) { return visitor.visitDict(this); } else { return visitor.visitChildren(this); } } }; var Double_starred_kvpairsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } double_starred_kvpair_list() { return this.getTypedRuleContexts(Double_starred_kvpairContext); } double_starred_kvpair(i) { return this.getTypedRuleContext(Double_starred_kvpairContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_double_starred_kvpairs; } enterRule(listener) { if (listener.enterDouble_starred_kvpairs) { listener.enterDouble_starred_kvpairs(this); } } exitRule(listener) { if (listener.exitDouble_starred_kvpairs) { listener.exitDouble_starred_kvpairs(this); } } // @Override accept(visitor) { if (visitor.visitDouble_starred_kvpairs) { return visitor.visitDouble_starred_kvpairs(this); } else { return visitor.visitChildren(this); } } }; var Double_starred_kvpairContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } DOUBLESTAR() { return this.getToken(PythonParser.DOUBLESTAR, 0); } bitwise_or() { return this.getTypedRuleContext(Bitwise_orContext, 0); } kvpair() { return this.getTypedRuleContext(KvpairContext, 0); } get ruleIndex() { return PythonParser.RULE_double_starred_kvpair; } enterRule(listener) { if (listener.enterDouble_starred_kvpair) { listener.enterDouble_starred_kvpair(this); } } exitRule(listener) { if (listener.exitDouble_starred_kvpair) { listener.exitDouble_starred_kvpair(this); } } // @Override accept(visitor) { if (visitor.visitDouble_starred_kvpair) { return visitor.visitDouble_starred_kvpair(this); } else { return visitor.visitChildren(this); } } }; var KvpairContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } expression_list() { return this.getTypedRuleContexts(ExpressionContext); } expression(i) { return this.getTypedRuleContext(ExpressionContext, i); } COLON() { return this.getToken(PythonParser.COLON, 0); } get ruleIndex() { return PythonParser.RULE_kvpair; } enterRule(listener) { if (listener.enterKvpair) { listener.enterKvpair(this); } } exitRule(listener) { if (listener.exitKvpair) { listener.exitKvpair(this); } } // @Override accept(visitor) { if (visitor.visitKvpair) { return visitor.visitKvpair(this); } else { return visitor.visitChildren(this); } } }; var For_if_clausesContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } for_if_clause_list() { return this.getTypedRuleContexts(For_if_clauseContext); } for_if_clause(i) { return this.getTypedRuleContext(For_if_clauseContext, i); } get ruleIndex() { return PythonParser.RULE_for_if_clauses; } enterRule(listener) { if (listener.enterFor_if_clauses) { listener.enterFor_if_clauses(this); } } exitRule(listener) { if (listener.exitFor_if_clauses) { listener.exitFor_if_clauses(this); } } // @Override accept(visitor) { if (visitor.visitFor_if_clauses) { return visitor.visitFor_if_clauses(this); } else { return visitor.visitChildren(this); } } }; var For_if_clauseContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } FOR() { return this.getToken(PythonParser.FOR, 0); } star_targets() { return this.getTypedRuleContext(Star_targetsContext, 0); } IN() { return this.getToken(PythonParser.IN, 0); } disjunction_list() { return this.getTypedRuleContexts(DisjunctionContext); } disjunction(i) { return this.getTypedRuleContext(DisjunctionContext, i); } ASYNC() { return this.getToken(PythonParser.ASYNC, 0); } IF_list() { return this.getTokens(PythonParser.IF); } IF(i) { return this.getToken(PythonParser.IF, i); } get ruleIndex() { return PythonParser.RULE_for_if_clause; } enterRule(listener) { if (listener.enterFor_if_clause) { listener.enterFor_if_clause(this); } } exitRule(listener) { if (listener.exitFor_if_clause) { listener.exitFor_if_clause(this); } } // @Override accept(visitor) { if (visitor.visitFor_if_clause) { return visitor.visitFor_if_clause(this); } else { return visitor.visitChildren(this); } } }; var ListcompContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LSQB() { return this.getToken(PythonParser.LSQB, 0); } named_expression() { return this.getTypedRuleContext(Named_expressionContext, 0); } for_if_clauses() { return this.getTypedRuleContext(For_if_clausesContext, 0); } RSQB() { return this.getToken(PythonParser.RSQB, 0); } get ruleIndex() { return PythonParser.RULE_listcomp; } enterRule(listener) { if (listener.enterListcomp) { listener.enterListcomp(this); } } exitRule(listener) { if (listener.exitListcomp) { listener.exitListcomp(this); } } // @Override accept(visitor) { if (visitor.visitListcomp) { return visitor.visitListcomp(this); } else { return visitor.visitChildren(this); } } }; var SetcompContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LBRACE() { return this.getToken(PythonParser.LBRACE, 0); } named_expression() { return this.getTypedRuleContext(Named_expressionContext, 0); } for_if_clauses() { return this.getTypedRuleContext(For_if_clausesContext, 0); } RBRACE() { return this.getToken(PythonParser.RBRACE, 0); } get ruleIndex() { return PythonParser.RULE_setcomp; } enterRule(listener) { if (listener.enterSetcomp) { listener.enterSetcomp(this); } } exitRule(listener) { if (listener.exitSetcomp) { listener.exitSetcomp(this); } } // @Override accept(visitor) { if (visitor.visitSetcomp) { return visitor.visitSetcomp(this); } else { return visitor.visitChildren(this); } } }; var GenexpContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LPAR() { return this.getToken(PythonParser.LPAR, 0); } for_if_clauses() { return this.getTypedRuleContext(For_if_clausesContext, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } assignment_expression() { return this.getTypedRuleContext(Assignment_expressionContext, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } get ruleIndex() { return PythonParser.RULE_genexp; } enterRule(listener) { if (listener.enterGenexp) { listener.enterGenexp(this); } } exitRule(listener) { if (listener.exitGenexp) { listener.exitGenexp(this); } } // @Override accept(visitor) { if (visitor.visitGenexp) { return visitor.visitGenexp(this); } else { return visitor.visitChildren(this); } } }; var DictcompContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } LBRACE() { return this.getToken(PythonParser.LBRACE, 0); } kvpair() { return this.getTypedRuleContext(KvpairContext, 0); } for_if_clauses() { return this.getTypedRuleContext(For_if_clausesContext, 0); } RBRACE() { return this.getToken(PythonParser.RBRACE, 0); } get ruleIndex() { return PythonParser.RULE_dictcomp; } enterRule(listener) { if (listener.enterDictcomp) { listener.enterDictcomp(this); } } exitRule(listener) { if (listener.exitDictcomp) { listener.exitDictcomp(this); } } // @Override accept(visitor) { if (visitor.visitDictcomp) { return visitor.visitDictcomp(this); } else { return visitor.visitChildren(this); } } }; var ArgumentsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } args() { return this.getTypedRuleContext(ArgsContext, 0); } COMMA() { return this.getToken(PythonParser.COMMA, 0); } get ruleIndex() { return PythonParser.RULE_arguments; } enterRule(listener) { if (listener.enterArguments) { listener.enterArguments(this); } } exitRule(listener) { if (listener.exitArguments) { listener.exitArguments(this); } } // @Override accept(visitor) { if (visitor.visitArguments) { return visitor.visitArguments(this); } else { return visitor.visitChildren(this); } } }; var ArgsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } starred_expression_list() { return this.getTypedRuleContexts(Starred_expressionContext); } starred_expression(i) { return this.getTypedRuleContext(Starred_expressionContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } kwargs() { return this.getTypedRuleContext(KwargsContext, 0); } assignment_expression_list() { return this.getTypedRuleContexts(Assignment_expressionContext); } assignment_expression(i) { return this.getTypedRuleContext(Assignment_expressionContext, i); } expression_list() { return this.getTypedRuleContexts(ExpressionContext); } expression(i) { return this.getTypedRuleContext(ExpressionContext, i); } get ruleIndex() { return PythonParser.RULE_args; } enterRule(listener) { if (listener.enterArgs) { listener.enterArgs(this); } } exitRule(listener) { if (listener.exitArgs) { listener.exitArgs(this); } } // @Override accept(visitor) { if (visitor.visitArgs) { return visitor.visitArgs(this); } else { return visitor.visitChildren(this); } } }; var KwargsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } kwarg_or_starred_list() { return this.getTypedRuleContexts(Kwarg_or_starredContext); } kwarg_or_starred(i) { return this.getTypedRuleContext(Kwarg_or_starredContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } kwarg_or_double_starred_list() { return this.getTypedRuleContexts(Kwarg_or_double_starredContext); } kwarg_or_double_starred(i) { return this.getTypedRuleContext(Kwarg_or_double_starredContext, i); } get ruleIndex() { return PythonParser.RULE_kwargs; } enterRule(listener) { if (listener.enterKwargs) { listener.enterKwargs(this); } } exitRule(listener) { if (listener.exitKwargs) { listener.exitKwargs(this); } } // @Override accept(visitor) { if (visitor.visitKwargs) { return visitor.visitKwargs(this); } else { return visitor.visitChildren(this); } } }; var Starred_expressionContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } STAR() { return this.getToken(PythonParser.STAR, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } get ruleIndex() { return PythonParser.RULE_starred_expression; } enterRule(listener) { if (listener.enterStarred_expression) { listener.enterStarred_expression(this); } } exitRule(listener) { if (listener.exitStarred_expression) { listener.exitStarred_expression(this); } } // @Override accept(visitor) { if (visitor.visitStarred_expression) { return visitor.visitStarred_expression(this); } else { return visitor.visitChildren(this); } } }; var Kwarg_or_starredContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } EQUAL() { return this.getToken(PythonParser.EQUAL, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } starred_expression() { return this.getTypedRuleContext(Starred_expressionContext, 0); } get ruleIndex() { return PythonParser.RULE_kwarg_or_starred; } enterRule(listener) { if (listener.enterKwarg_or_starred) { listener.enterKwarg_or_starred(this); } } exitRule(listener) { if (listener.exitKwarg_or_starred) { listener.exitKwarg_or_starred(this); } } // @Override accept(visitor) { if (visitor.visitKwarg_or_starred) { return visitor.visitKwarg_or_starred(this); } else { return visitor.visitChildren(this); } } }; var Kwarg_or_double_starredContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } EQUAL() { return this.getToken(PythonParser.EQUAL, 0); } expression() { return this.getTypedRuleContext(ExpressionContext, 0); } DOUBLESTAR() { return this.getToken(PythonParser.DOUBLESTAR, 0); } get ruleIndex() { return PythonParser.RULE_kwarg_or_double_starred; } enterRule(listener) { if (listener.enterKwarg_or_double_starred) { listener.enterKwarg_or_double_starred(this); } } exitRule(listener) { if (listener.exitKwarg_or_double_starred) { listener.exitKwarg_or_double_starred(this); } } // @Override accept(visitor) { if (visitor.visitKwarg_or_double_starred) { return visitor.visitKwarg_or_double_starred(this); } else { return visitor.visitChildren(this); } } }; var Star_targetsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } star_target_list() { return this.getTypedRuleContexts(Star_targetContext); } star_target(i) { return this.getTypedRuleContext(Star_targetContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_star_targets; } enterRule(listener) { if (listener.enterStar_targets) { listener.enterStar_targets(this); } } exitRule(listener) { if (listener.exitStar_targets) { listener.exitStar_targets(this); } } // @Override accept(visitor) { if (visitor.visitStar_targets) { return visitor.visitStar_targets(this); } else { return visitor.visitChildren(this); } } }; var Star_targets_list_seqContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } star_target_list() { return this.getTypedRuleContexts(Star_targetContext); } star_target(i) { return this.getTypedRuleContext(Star_targetContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_star_targets_list_seq; } enterRule(listener) { if (listener.enterStar_targets_list_seq) { listener.enterStar_targets_list_seq(this); } } exitRule(listener) { if (listener.exitStar_targets_list_seq) { listener.exitStar_targets_list_seq(this); } } // @Override accept(visitor) { if (visitor.visitStar_targets_list_seq) { return visitor.visitStar_targets_list_seq(this); } else { return visitor.visitChildren(this); } } }; var Star_targets_tuple_seqContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } star_target_list() { return this.getTypedRuleContexts(Star_targetContext); } star_target(i) { return this.getTypedRuleContext(Star_targetContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_star_targets_tuple_seq; } enterRule(listener) { if (listener.enterStar_targets_tuple_seq) { listener.enterStar_targets_tuple_seq(this); } } exitRule(listener) { if (listener.exitStar_targets_tuple_seq) { listener.exitStar_targets_tuple_seq(this); } } // @Override accept(visitor) { if (visitor.visitStar_targets_tuple_seq) { return visitor.visitStar_targets_tuple_seq(this); } else { return visitor.visitChildren(this); } } }; var Star_targetContext = class _Star_targetContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } STAR() { return this.getToken(PythonParser.STAR, 0); } star_target() { return this.getTypedRuleContext(_Star_targetContext, 0); } target_with_star_atom() { return this.getTypedRuleContext(Target_with_star_atomContext, 0); } get ruleIndex() { return PythonParser.RULE_star_target; } enterRule(listener) { if (listener.enterStar_target) { listener.enterStar_target(this); } } exitRule(listener) { if (listener.exitStar_target) { listener.exitStar_target(this); } } // @Override accept(visitor) { if (visitor.visitStar_target) { return visitor.visitStar_target(this); } else { return visitor.visitChildren(this); } } }; var Target_with_star_atomContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } t_primary() { return this.getTypedRuleContext(T_primaryContext, 0); } DOT() { return this.getToken(PythonParser.DOT, 0); } NAME() { return this.getToken(PythonParser.NAME, 0); } LSQB() { return this.getToken(PythonParser.LSQB, 0); } slices() { return this.getTypedRuleContext(SlicesContext, 0); } RSQB() { return this.getToken(PythonParser.RSQB, 0); } star_atom() { return this.getTypedRuleContext(Star_atomContext, 0); } get ruleIndex() { return PythonParser.RULE_target_with_star_atom; } enterRule(listener) { if (listener.enterTarget_with_star_atom) { listener.enterTarget_with_star_atom(this); } } exitRule(listener) { if (listener.exitTarget_with_star_atom) { listener.exitTarget_with_star_atom(this); } } // @Override accept(visitor) { if (visitor.visitTarget_with_star_atom) { return visitor.visitTarget_with_star_atom(this); } else { return visitor.visitChildren(this); } } }; var Star_atomContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } LPAR() { return this.getToken(PythonParser.LPAR, 0); } target_with_star_atom() { return this.getTypedRuleContext(Target_with_star_atomContext, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } star_targets_tuple_seq() { return this.getTypedRuleContext(Star_targets_tuple_seqContext, 0); } LSQB() { return this.getToken(PythonParser.LSQB, 0); } RSQB() { return this.getToken(PythonParser.RSQB, 0); } star_targets_list_seq() { return this.getTypedRuleContext(Star_targets_list_seqContext, 0); } get ruleIndex() { return PythonParser.RULE_star_atom; } enterRule(listener) { if (listener.enterStar_atom) { listener.enterStar_atom(this); } } exitRule(listener) { if (listener.exitStar_atom) { listener.exitStar_atom(this); } } // @Override accept(visitor) { if (visitor.visitStar_atom) { return visitor.visitStar_atom(this); } else { return visitor.visitChildren(this); } } }; var Single_targetContext = class _Single_targetContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } single_subscript_attribute_target() { return this.getTypedRuleContext(Single_subscript_attribute_targetContext, 0); } NAME() { return this.getToken(PythonParser.NAME, 0); } LPAR() { return this.getToken(PythonParser.LPAR, 0); } single_target() { return this.getTypedRuleContext(_Single_targetContext, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } get ruleIndex() { return PythonParser.RULE_single_target; } enterRule(listener) { if (listener.enterSingle_target) { listener.enterSingle_target(this); } } exitRule(listener) { if (listener.exitSingle_target) { listener.exitSingle_target(this); } } // @Override accept(visitor) { if (visitor.visitSingle_target) { return visitor.visitSingle_target(this); } else { return visitor.visitChildren(this); } } }; var Single_subscript_attribute_targetContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } t_primary() { return this.getTypedRuleContext(T_primaryContext, 0); } DOT() { return this.getToken(PythonParser.DOT, 0); } NAME() { return this.getToken(PythonParser.NAME, 0); } LSQB() { return this.getToken(PythonParser.LSQB, 0); } slices() { return this.getTypedRuleContext(SlicesContext, 0); } RSQB() { return this.getToken(PythonParser.RSQB, 0); } get ruleIndex() { return PythonParser.RULE_single_subscript_attribute_target; } enterRule(listener) { if (listener.enterSingle_subscript_attribute_target) { listener.enterSingle_subscript_attribute_target(this); } } exitRule(listener) { if (listener.exitSingle_subscript_attribute_target) { listener.exitSingle_subscript_attribute_target(this); } } // @Override accept(visitor) { if (visitor.visitSingle_subscript_attribute_target) { return visitor.visitSingle_subscript_attribute_target(this); } else { return visitor.visitChildren(this); } } }; var T_primaryContext = class _T_primaryContext extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } atom() { return this.getTypedRuleContext(AtomContext, 0); } t_primary() { return this.getTypedRuleContext(_T_primaryContext, 0); } DOT() { return this.getToken(PythonParser.DOT, 0); } NAME() { return this.getToken(PythonParser.NAME, 0); } LSQB() { return this.getToken(PythonParser.LSQB, 0); } slices() { return this.getTypedRuleContext(SlicesContext, 0); } RSQB() { return this.getToken(PythonParser.RSQB, 0); } genexp() { return this.getTypedRuleContext(GenexpContext, 0); } LPAR() { return this.getToken(PythonParser.LPAR, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } arguments() { return this.getTypedRuleContext(ArgumentsContext, 0); } get ruleIndex() { return PythonParser.RULE_t_primary; } enterRule(listener) { if (listener.enterT_primary) { listener.enterT_primary(this); } } exitRule(listener) { if (listener.exitT_primary) { listener.exitT_primary(this); } } // @Override accept(visitor) { if (visitor.visitT_primary) { return visitor.visitT_primary(this); } else { return visitor.visitChildren(this); } } }; var Del_targetsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } del_target_list() { return this.getTypedRuleContexts(Del_targetContext); } del_target(i) { return this.getTypedRuleContext(Del_targetContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } get ruleIndex() { return PythonParser.RULE_del_targets; } enterRule(listener) { if (listener.enterDel_targets) { listener.enterDel_targets(this); } } exitRule(listener) { if (listener.exitDel_targets) { listener.exitDel_targets(this); } } // @Override accept(visitor) { if (visitor.visitDel_targets) { return visitor.visitDel_targets(this); } else { return visitor.visitChildren(this); } } }; var Del_targetContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } t_primary() { return this.getTypedRuleContext(T_primaryContext, 0); } DOT() { return this.getToken(PythonParser.DOT, 0); } NAME() { return this.getToken(PythonParser.NAME, 0); } LSQB() { return this.getToken(PythonParser.LSQB, 0); } slices() { return this.getTypedRuleContext(SlicesContext, 0); } RSQB() { return this.getToken(PythonParser.RSQB, 0); } del_t_atom() { return this.getTypedRuleContext(Del_t_atomContext, 0); } get ruleIndex() { return PythonParser.RULE_del_target; } enterRule(listener) { if (listener.enterDel_target) { listener.enterDel_target(this); } } exitRule(listener) { if (listener.exitDel_target) { listener.exitDel_target(this); } } // @Override accept(visitor) { if (visitor.visitDel_target) { return visitor.visitDel_target(this); } else { return visitor.visitChildren(this); } } }; var Del_t_atomContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } LPAR() { return this.getToken(PythonParser.LPAR, 0); } del_target() { return this.getTypedRuleContext(Del_targetContext, 0); } RPAR() { return this.getToken(PythonParser.RPAR, 0); } del_targets() { return this.getTypedRuleContext(Del_targetsContext, 0); } LSQB() { return this.getToken(PythonParser.LSQB, 0); } RSQB() { return this.getToken(PythonParser.RSQB, 0); } get ruleIndex() { return PythonParser.RULE_del_t_atom; } enterRule(listener) { if (listener.enterDel_t_atom) { listener.enterDel_t_atom(this); } } exitRule(listener) { if (listener.exitDel_t_atom) { listener.exitDel_t_atom(this); } } // @Override accept(visitor) { if (visitor.visitDel_t_atom) { return visitor.visitDel_t_atom(this); } else { return visitor.visitChildren(this); } } }; var Type_expressionsContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } expression_list() { return this.getTypedRuleContexts(ExpressionContext); } expression(i) { return this.getTypedRuleContext(ExpressionContext, i); } COMMA_list() { return this.getTokens(PythonParser.COMMA); } COMMA(i) { return this.getToken(PythonParser.COMMA, i); } STAR() { return this.getToken(PythonParser.STAR, 0); } DOUBLESTAR() { return this.getToken(PythonParser.DOUBLESTAR, 0); } get ruleIndex() { return PythonParser.RULE_type_expressions; } enterRule(listener) { if (listener.enterType_expressions) { listener.enterType_expressions(this); } } exitRule(listener) { if (listener.exitType_expressions) { listener.exitType_expressions(this); } } // @Override accept(visitor) { if (visitor.visitType_expressions) { return visitor.visitType_expressions(this); } else { return visitor.visitChildren(this); } } }; var Func_type_commentContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NEWLINE() { return this.getToken(PythonParser.NEWLINE, 0); } TYPE_COMMENT() { return this.getToken(PythonParser.TYPE_COMMENT, 0); } get ruleIndex() { return PythonParser.RULE_func_type_comment; } enterRule(listener) { if (listener.enterFunc_type_comment) { listener.enterFunc_type_comment(this); } } exitRule(listener) { if (listener.exitFunc_type_comment) { listener.exitFunc_type_comment(this); } } // @Override accept(visitor) { if (visitor.visitFunc_type_comment) { return visitor.visitFunc_type_comment(this); } else { return visitor.visitChildren(this); } } }; var Soft_kw_typeContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } get ruleIndex() { return PythonParser.RULE_soft_kw_type; } enterRule(listener) { if (listener.enterSoft_kw_type) { listener.enterSoft_kw_type(this); } } exitRule(listener) { if (listener.exitSoft_kw_type) { listener.exitSoft_kw_type(this); } } // @Override accept(visitor) { if (visitor.visitSoft_kw_type) { return visitor.visitSoft_kw_type(this); } else { return visitor.visitChildren(this); } } }; var Soft_kw_matchContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } get ruleIndex() { return PythonParser.RULE_soft_kw_match; } enterRule(listener) { if (listener.enterSoft_kw_match) { listener.enterSoft_kw_match(this); } } exitRule(listener) { if (listener.exitSoft_kw_match) { listener.exitSoft_kw_match(this); } } // @Override accept(visitor) { if (visitor.visitSoft_kw_match) { return visitor.visitSoft_kw_match(this); } else { return visitor.visitChildren(this); } } }; var Soft_kw_caseContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } get ruleIndex() { return PythonParser.RULE_soft_kw_case; } enterRule(listener) { if (listener.enterSoft_kw_case) { listener.enterSoft_kw_case(this); } } exitRule(listener) { if (listener.exitSoft_kw_case) { listener.exitSoft_kw_case(this); } } // @Override accept(visitor) { if (visitor.visitSoft_kw_case) { return visitor.visitSoft_kw_case(this); } else { return visitor.visitChildren(this); } } }; var Soft_kw_wildcardContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } get ruleIndex() { return PythonParser.RULE_soft_kw_wildcard; } enterRule(listener) { if (listener.enterSoft_kw_wildcard) { listener.enterSoft_kw_wildcard(this); } } exitRule(listener) { if (listener.exitSoft_kw_wildcard) { listener.exitSoft_kw_wildcard(this); } } // @Override accept(visitor) { if (visitor.visitSoft_kw_wildcard) { return visitor.visitSoft_kw_wildcard(this); } else { return visitor.visitChildren(this); } } }; var Soft_kw__not__wildcardContext = class extends _antlr4.ParserRuleContext { constructor(parser, parent, invokingState) { super(parent, invokingState); this.parser = parser; } NAME() { return this.getToken(PythonParser.NAME, 0); } get ruleIndex() { return PythonParser.RULE_soft_kw__not__wildcard; } enterRule(listener) { if (listener.enterSoft_kw__not__wildcard) { listener.enterSoft_kw__not__wildcard(this); } } exitRule(listener) { if (listener.exitSoft_kw__not__wildcard) { listener.exitSoft_kw__not__wildcard(this); } } // @Override accept(visitor) { if (visitor.visitSoft_kw__not__wildcard) { return visitor.visitSoft_kw__not__wildcard(this); } else { return visitor.visitChildren(this); } } }; // src/grammars-v4/python/python3_12/PythonParserVisitor.ts var PythonParserVisitor = class extends _antlr4.ParseTreeVisitor { /** * Visit a parse tree produced by `PythonParser.file_input`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.interactive`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.eval`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.func_type`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.fstring_input`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.statements`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.statement`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.statement_newline`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.simple_stmts`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.simple_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.compound_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.assignment`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.annotated_rhs`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.augassign`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.return_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.raise_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.global_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.nonlocal_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.del_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.yield_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.assert_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.import_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.import_name`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.import_from`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.import_from_targets`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.import_from_as_names`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.import_from_as_name`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.dotted_as_names`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.dotted_as_name`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.dotted_name`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.block`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.decorators`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.class_def`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.class_def_raw`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.function_def`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.function_def_raw`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.params`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.parameters`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.slash_no_default`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.slash_with_default`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.star_etc`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.kwds`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.param_no_default`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.param_no_default_star_annotation`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.param_with_default`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.param_maybe_default`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.param`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.param_star_annotation`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.annotation`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.star_annotation`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.default_assignment`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.if_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.elif_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.else_block`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.while_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.for_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.with_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.with_item`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.try_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.except_block`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.except_star_block`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.finally_block`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.match_stmt`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.subject_expr`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.case_block`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.guard`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.patterns`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.as_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.or_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.closed_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.literal_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.literal_expr`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.complex_number`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.signed_number`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.signed_real_number`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.real_number`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.imaginary_number`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.capture_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.pattern_capture_target`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.wildcard_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.value_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.attr`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.name_or_attr`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.group_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.sequence_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.open_sequence_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.maybe_sequence_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.maybe_star_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.star_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.mapping_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.items_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.key_value_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.double_star_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.class_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.positional_patterns`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.keyword_patterns`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.keyword_pattern`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.type_alias`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.type_params`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.type_param_seq`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.type_param`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.type_param_bound`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.expressions`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.expression`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.yield_expr`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.star_expressions`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.star_expression`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.star_named_expressions`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.star_named_expression`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.assignment_expression`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.named_expression`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.disjunction`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.conjunction`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.inversion`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.comparison`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.compare_op_bitwise_or_pair`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.eq_bitwise_or`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.noteq_bitwise_or`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.lte_bitwise_or`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.lt_bitwise_or`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.gte_bitwise_or`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.gt_bitwise_or`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.notin_bitwise_or`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.in_bitwise_or`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.isnot_bitwise_or`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.is_bitwise_or`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.bitwise_or`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.bitwise_xor`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.bitwise_and`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.shift_expr`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.sum`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.term`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.factor`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.power`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.await_primary`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.primary`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.slices`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.slice`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.atom`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.group`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.lambdef`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.lambda_params`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.lambda_parameters`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.lambda_slash_no_default`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.lambda_slash_with_default`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.lambda_star_etc`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.lambda_kwds`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.lambda_param_no_default`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.lambda_param_with_default`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.lambda_param_maybe_default`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.lambda_param`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.fstring_middle`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.fstring_replacement_field`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.fstring_conversion`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.fstring_full_format_spec`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.fstring_format_spec`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.fstring`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.string`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.strings`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.list`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.tuple`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.set`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.dict`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.double_starred_kvpairs`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.double_starred_kvpair`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.kvpair`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.for_if_clauses`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.for_if_clause`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.listcomp`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.setcomp`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.genexp`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.dictcomp`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.arguments`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.args`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.kwargs`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.starred_expression`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.kwarg_or_starred`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.kwarg_or_double_starred`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.star_targets`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.star_targets_list_seq`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.star_targets_tuple_seq`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.star_target`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.target_with_star_atom`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.star_atom`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.single_target`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.single_subscript_attribute_target`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.t_primary`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.del_targets`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.del_target`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.del_t_atom`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.type_expressions`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.func_type_comment`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.soft_kw_type`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.soft_kw_match`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.soft_kw_case`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.soft_kw_wildcard`. * @param ctx the parse tree * @return the visitor result */ /** * Visit a parse tree produced by `PythonParser.soft_kw__not__wildcard`. * @param ctx the parse tree * @return the visitor result */ }; // src/python/PyCodeBlock.ts var PyCodeBlock = class { constructor(ctx) { this.ctx = ctx; this.language = 6 /* PYTHON */; } getClasses() { throw new Error("Method getClasses() must be implemented"); } getFunctions() { throw new Error("Method getFunctions() must be implemented"); } getMethods() { throw new Error("Method getMethods() must be implemented"); } getSimpleStatements() { const visitor = new (_class3 = class extends PythonParserVisitor {constructor(...args2) { super(...args2); _class3.prototype.__init.call(this);_class3.prototype.__init2.call(this); } __init() {this.simpleStatements = []} __init2() {this.visitSimple_stmt = (ctx) => { this.simpleStatements.push(ctx); }} }, _class3)(); visitor.visit(this.ctx); return visitor.simpleStatements; } getExpressions() { const visitor = new (_class4 = class extends PythonParserVisitor {constructor(...args3) { super(...args3); _class4.prototype.__init3.call(this);_class4.prototype.__init4.call(this); } __init3() {this.expressions = []} __init4() {this.visitExpression = (ctx) => { this.expressions.push(ctx); }} }, _class4)(); visitor.visit(this.ctx); return visitor.expressions; } getMatches() { const visitor = new (_class5 = class extends PythonParserVisitor {constructor(...args4) { super(...args4); _class5.prototype.__init5.call(this);_class5.prototype.__init6.call(this); } __init5() {this.matches = []} __init6() {this.visitMatch_stmt = (ctx) => { this.matches.push(ctx); }} }, _class5)(); visitor.visit(this.ctx); return visitor.matches; } getNumberLiterals() { const visitor = new (_class6 = class extends PythonParserVisitor {constructor(...args5) { super(...args5); _class6.prototype.__init7.call(this);_class6.prototype.__init8.call(this);_class6.prototype.__init9.call(this); } __init7() {this.numberLiterals = []} __init8() {this.visitStar_expression = (ctx) => { if (this.anyTerminalsAreNumber(ctx)) { this.numberLiterals.push(ctx); } }} __init9() {this.anyTerminalsAreNumber = (ctx) => { if (ctx instanceof AtomContext && ctx.NUMBER()) { return true; } for (let i = 0; i < ctx.getChildCount(); i++) { if (this.anyTerminalsAreNumber(ctx.getChild(i))) { return true; } } return false; }} }, _class6)(); visitor.visit(this.ctx); return visitor.numberLiterals; } getExcepts() { const visitor = new (_class7 = class extends PythonParserVisitor {constructor(...args6) { super(...args6); _class7.prototype.__init10.call(this);_class7.prototype.__init11.call(this);_class7.prototype.__init12.call(this); } __init10() {this.excepts = []} __init11() {this.visitExcept_block = (ctx) => { this.excepts.push(ctx); }} __init12() {this.visitExcept_star_block = (ctx) => { this.excepts.push(ctx); }} }, _class7)(); visitor.visit(this.ctx); return visitor.excepts; } getIdentifiers() { const visitor = new (_class8 = class extends PythonParserVisitor {constructor(...args7) { super(...args7); _class8.prototype.__init13.call(this);_class8.prototype.__init14.call(this);_class8.prototype.__init15.call(this);_class8.prototype.__init16.call(this);_class8.prototype.__init17.call(this);_class8.prototype.__init18.call(this);_class8.prototype.__init19.call(this); } __init13() {this.identifiers = []} __init14() {this.visitAssignment = (ctx) => { if (ctx.NAME()) { this.identifiers.push(ctx.NAME().getText()); } this.visitChildren(ctx); }} __init15() {this.visitSingle_target = (ctx) => { if (ctx.NAME()) { this.identifiers.push(ctx.NAME().getText()); } }} __init16() {this.visitT_primary = (ctx) => { if (ctx.atom()) { this.visitAtom(ctx.atom()); } else if (ctx.t_primary()) { this.visitT_primary(ctx.t_primary()); } if (ctx.NAME()) { this.identifiers.push(ctx.NAME().getText()); } }} // Visit atom to collect identifiers __init17() {this.visitAtom = (ctx) => { if (ctx.NAME()) { this.identifiers.push(ctx.NAME().getText()); } }} // Visit star_atom to collect identifiers __init18() {this.visitStar_atom = (ctx) => { if (ctx.NAME()) { this.identifiers.push(ctx.NAME().getText()); } else if (ctx.target_with_star_atom()) { this.visitTarget_with_star_atom(ctx.target_with_star_atom()); } }} // Visit target_with_star_atom to recursively collect identifiers __init19() {this.visitTarget_with_star_atom = (ctx) => { if (ctx.t_primary()) { this.visitT_primary(ctx.t_primary()); } else if (ctx.star_atom()) { this.visitStar_atom(ctx.star_atom()); } }} }, _class8)(); visitor.visit(this.ctx); return Array.from(visitor.identifiers); } }; // src/python/PyParameter.ts var PyParameter = class { constructor(name, type) { this.name = name; this.type = type; } }; // src/python/PyFunction.ts var PyFunction = class extends PyCodeBlock { constructor(ctx) { super(ctx); } get name() { return this.ctx.function_def_raw().NAME().getText(); } getParameters() { const parameters = []; const parameters_ctx = _optionalChain([this, 'access', _ => _.ctx, 'access', _2 => _2.function_def_raw, 'call', _3 => _3(), 'optionalAccess', _4 => _4.params, 'call', _5 => _5(), 'optionalAccess', _6 => _6.parameters, 'call', _7 => _7(), 'optionalAccess', _8 => _8.children]) || []; parameters_ctx.forEach((param) => { parameters.push(new PyParameter(param.getText(), "lol")); }); return parameters; } }; // src/python/PyClass.ts var PyClass = class extends PyCodeBlock { constructor(ctx) { super(ctx); } get name() { return this.ctx.class_def_raw().NAME().getText(); } getMethods() { const visitor = new (_class9 = class extends PythonParserVisitor {constructor(...args8) { super(...args8); _class9.prototype.__init20.call(this);_class9.prototype.__init21.call(this); } __init20() {this.methods = []} __init21() {this.visitFunction_def = (ctx) => { this.methods.push(new PyFunction(ctx)); }} }, _class9)(); visitor.visit(this.ctx); return visitor.methods; } }; // src/python/PyFile.ts var PyFile = (_class10 = class extends PyCodeBlock { __init22() {this.filePath = void 0} constructor(ctx) { super(ctx);_class10.prototype.__init22.call(this);; } get fileName() { return _optionalChain([this, 'access', _9 => _9.filePath, 'optionalAccess', _10 => _10.split, 'call', _11 => _11("/"), 'access', _12 => _12.pop, 'call', _13 => _13()]); } get extension() { return _optionalChain([this, 'access', _14 => _14.filePath, 'optionalAccess', _15 => _15.includes, 'call', _16 => _16(".")]) ? this.filePath.split(".").pop() : void 0; } getClasses() { const visitor = new (_class11 = class extends PythonParserVisitor {constructor(...args9) { super(...args9); _class11.prototype.__init23.call(this);_class11.prototype.__init24.call(this); } __init23() {this.classes = []} __init24() {this.visitClass_def = (ctx) => { this.classes.push(new PyClass(ctx)); }} }, _class11)(); visitor.visit(this.ctx); return visitor.classes; } getFunctions() { const visitor = new (_class12 = class extends PythonParserVisitor {constructor(...args10) { super(...args10); _class12.prototype.__init25.call(this);_class12.prototype.__init26.call(this); } __init25() {this.functions = []} __init26() {this.visitFunction_def = (ctx) => { this.functions.push(new PyFunction(ctx)); }} }, _class12)(); visitor.visit(this.ctx); return visitor.functions; } }, _class10); // src/python/PyParser.ts // src/grammars-v4/python/python3_12/PythonLexer.ts // src/grammars-v4/python/python3_12/PythonLexerBase.ts var _typescriptcollections = require('typescript-collections'); var Collections = _interopRequireWildcard(_typescriptcollections); var PythonLexerBase = (_class13 = class extends _antlr4.Lexer { // A stack that keeps track of the indentation lengths // A list where tokens are waiting to be loaded into the token stream // last pending token types // The amount of opened parentheses, square brackets or curly braces // The amount of opened parentheses and square brackets in the current lexer mode // current (under processing) token // following (look ahead) token __init27() {this.INVALID_LENGTH = -1} __init28() {this.ERR_TXT = " ERROR: "} constructor(input) { super(input);_class13.prototype.__init27.call(this);_class13.prototype.__init28.call(this);; this.init(); } nextToken() { this.checkNextToken(); return this.pendingTokens.shift(); } reset() { this.init(); super.reset(); } init() { this.indentLengthStack = new Collections.Stack(); this.pendingTokens = []; this.previousPendingTokenType = 0; this.lastPendingTokenTypeFromDefaultChannel = 0; this.opened = 0; this.paren_or_bracket_openedStack = new Collections.Stack(); this.wasSpaceIndentation = false; this.wasTabIndentation = false; this.wasIndentationMixedWithSpacesAndTabs = false; this.curToken = void 0; this.ffgToken = void 0; } checkNextToken() { if (this.previousPendingTokenType !== PythonLexer.EOF) { this.setCurrentAndFollowingTokens(); if (this.indentLengthStack.isEmpty()) { this.handleStartOfInput(); } switch (this.curToken.type) { case PythonLexer.LPAR: case PythonLexer.LSQB: case PythonLexer.LBRACE: this.opened++; this.addPendingToken(this.curToken); break; case PythonLexer.RPAR: case PythonLexer.RSQB: case PythonLexer.RBRACE: this.opened--; this.addPendingToken(this.curToken); break; case PythonLexer.NEWLINE: this.handleNEWLINEtoken(); break; case PythonLexer.FSTRING_MIDDLE: this.handleFSTRING_MIDDLE_token(); break; case PythonLexer.ERROR_TOKEN: this.reportLexerError(`token recognition error at: '${this.curToken.text}'`); this.addPendingToken(this.curToken); break; case PythonLexer.EOF: this.handleEOFtoken(); break; default: this.addPendingToken(this.curToken); } this.handleFORMAT_SPECIFICATION_MODE(); } } setCurrentAndFollowingTokens() { this.curToken = this.ffgToken == void 0 ? super.nextToken() : this.ffgToken; this.handleFStringLexerModes(); this.ffgToken = this.curToken.type === PythonLexer.EOF ? this.curToken : super.nextToken(); } // initialize the indentLengthStack // hide the leading NEWLINE token(s) // if exists, find the first statement (not NEWLINE, not EOF token) that comes from the default channel // insert a leading INDENT token if necessary handleStartOfInput() { this.indentLengthStack.push(0); while (this.curToken.type !== PythonLexer.EOF) { if (this.curToken.channel === _antlr4.Token.DEFAULT_CHANNEL) { if (this.curToken.type === PythonLexer.NEWLINE) { this.hideAndAddPendingToken(this.curToken); } else { this.insertLeadingIndentToken(); return; } } else { this.addPendingToken(this.curToken); } this.setCurrentAndFollowingTokens(); } } insertLeadingIndentToken() { if (this.previousPendingTokenType === PythonLexer.WS) { const prevToken = this.pendingTokens[this.pendingTokens.length - 1]; if (this.getIndentationLength(prevToken.text) !== 0) { const errMsg = "first statement indented"; this.reportLexerError(errMsg); this.createAndAddPendingToken(PythonLexer.INDENT, _antlr4.Token.DEFAULT_CHANNEL, this.ERR_TXT + errMsg, this.curToken); } } } handleNEWLINEtoken() { if (this.opened > 0) { this.hideAndAddPendingToken(this.curToken); } else { const nlToken = _optionalChain([this, 'access', _17 => _17.curToken, 'optionalAccess', _18 => _18.clone, 'call', _19 => _19()]); const isLookingAhead = this.ffgToken.type === PythonLexer.WS; if (isLookingAhead) { this.setCurrentAndFollowingTokens(); } switch (this.ffgToken.type) { case PythonLexer.NEWLINE: // We're before a blank line case PythonLexer.COMMENT: this.hideAndAddPendingToken(nlToken); if (isLookingAhead) { this.addPendingToken(this.curToken); } break; default: this.addPendingToken(nlToken); if (isLookingAhead) { const indentationLength = this.ffgToken.type === PythonLexer.EOF ? 0 : this.getIndentationLength(this.curToken.text); if (indentationLength !== this.INVALID_LENGTH) { this.addPendingToken(this.curToken); this.insertIndentOrDedentToken(indentationLength); } else { this.reportError("inconsistent use of tabs and spaces in indentation"); } } else { this.insertIndentOrDedentToken(0); } } } } insertIndentOrDedentToken(indentLength) { let prevIndentLength = this.indentLengthStack.peek(); if (indentLength > prevIndentLength) { this.createAndAddPendingToken(PythonLexer.INDENT, _antlr4.Token.DEFAULT_CHANNEL, null, this.ffgToken); this.indentLengthStack.push(indentLength); } else { while (indentLength < prevIndentLength) { this.indentLengthStack.pop(); prevIndentLength = this.indentLengthStack.peek(); if (indentLength <= prevIndentLength) { this.createAndAddPendingToken(PythonLexer.DEDENT, _antlr4.Token.DEFAULT_CHANNEL, null, this.ffgToken); } else { this.reportError("inconsistent dedent"); } } } } handleFSTRING_MIDDLE_token() { let fsMid = this.curToken.text; fsMid = fsMid.replace(/\{\{/g, "{_").replace(/\}\}/g, "}_"); const arrOfStr = fsMid.split(/(?<=[{}])_/); for (let s of arrOfStr) { if (s) { this.createAndAddPendingToken(PythonLexer.FSTRING_MIDDLE, _antlr4.Token.DEFAULT_CHANNEL, s, this.ffgToken); const lastCharacter = s.charAt(s.length - 1); if ("{}".includes(lastCharacter)) { this.createAndAddPendingToken(PythonLexer.FSTRING_MIDDLE, _antlr4.Token.HIDDEN_CHANNEL, lastCharacter, this.ffgToken); } } } } handleFStringLexerModes() { if (this.getModeStack().length > 0) { switch (this.curToken.type) { case PythonLexer.LBRACE: this.pushMode(_antlr4.Lexer.DEFAULT_MODE); this.paren_or_bracket_openedStack.push(0); break; case PythonLexer.LPAR: case PythonLexer.LSQB: this.paren_or_bracket_openedStack.push(this.paren_or_bracket_openedStack.pop() + 1); break; case PythonLexer.RPAR: case PythonLexer.RSQB: this.paren_or_bracket_openedStack.push(this.paren_or_bracket_openedStack.pop() - 1); break; case PythonLexer.COLON: if (this.paren_or_bracket_openedStack.peek() == 0) { switch (this.getModeStack().at(-1)) { // check the previous lexer mode (the current is DEFAULT_MODE) case PythonLexer.SINGLE_QUOTE_FSTRING_MODE: case PythonLexer.LONG_SINGLE_QUOTE_FSTRING_MODE: case PythonLexer.SINGLE_QUOTE_FORMAT_SPECIFICATION_MODE: this.setMode(PythonLexer.SINGLE_QUOTE_FORMAT_SPECIFICATION_MODE); break; case PythonLexer.DOUBLE_QUOTE_FSTRING_MODE: case PythonLexer.LONG_DOUBLE_QUOTE_FSTRING_MODE: case PythonLexer.DOUBLE_QUOTE_FORMAT_SPECIFICATION_MODE: this.setMode(PythonLexer.DOUBLE_QUOTE_FORMAT_SPECIFICATION_MODE); break; } } break; case PythonLexer.RBRACE: switch (this.getMode()) { case _antlr4.Lexer.DEFAULT_MODE: case PythonLexer.SINGLE_QUOTE_FORMAT_SPECIFICATION_MODE: case PythonLexer.DOUBLE_QUOTE_FORMAT_SPECIFICATION_MODE: this.popMode(); this.paren_or_bracket_openedStack.pop(); break; default: this.reportLexerError("f-string: single '}' is not allowed"); break; } break; } } } handleFORMAT_SPECIFICATION_MODE() { if (this.getModeStack().length > 0 && this.ffgToken.type === PythonLexer.RBRACE) { switch (this.curToken.type) { case PythonLexer.COLON: case PythonLexer.RBRACE: this.createAndAddPendingToken(PythonLexer.FSTRING_MIDDLE, _antlr4.Token.DEFAULT_CHANNEL, "", this.ffgToken); break; } } } insertTrailingTokens() { switch (this.lastPendingTokenTypeFromDefaultChannel) { case PythonLexer.NEWLINE: case PythonLexer.DEDENT: break; // no trailing NEWLINE token is needed default: this.createAndAddPendingToken(PythonLexer.NEWLINE, _antlr4.Token.DEFAULT_CHANNEL, null, this.ffgToken); } this.insertIndentOrDedentToken(0); } handleEOFtoken() { if (this.lastPendingTokenTypeFromDefaultChannel > 0) { this.insertTrailingTokens(); } this.addPendingToken(this.curToken); } hideAndAddPendingToken(tkn) { tkn.channel = _antlr4.Token.HIDDEN_CHANNEL; this.addPendingToken(tkn); } createAndAddPendingToken(type, channel, text, sampleToken) { const tkn = sampleToken.clone(); tkn.type = type; tkn.channel = channel; tkn.stop = sampleToken.start - 1; tkn.text = text == null ? `<${this.getSymbolicNames()[type]}>` : text; this.addPendingToken(tkn); } addPendingToken(tkn) { this.previousPendingTokenType = tkn.type; if (tkn.channel === _antlr4.Token.DEFAULT_CHANNEL) { this.lastPendingTokenTypeFromDefaultChannel = this.previousPendingTokenType; } this.pendingTokens.push(tkn); } getIndentationLength(indentText) { const TAB_LENGTH = 8; let length = 0; for (let ch of indentText) { switch (ch) { case " ": this.wasSpaceIndentation = true; length += 1; break; case " ": this.wasTabIndentation = true; length += TAB_LENGTH - length % TAB_LENGTH; break; case "\f": length = 0; break; } } if (this.wasTabIndentation && this.wasSpaceIndentation) { if (!this.wasIndentationMixedWithSpacesAndTabs) { this.wasIndentationMixedWithSpacesAndTabs = true; length = this.INVALID_LENGTH; } } return length; } reportLexerError(errMsg) { this.getErrorListener().syntaxError(this, 0, this.curToken.line, this.curToken.column, " LEXER" + this.ERR_TXT + errMsg, void 0); } reportError(errMsg) { this.reportLexerError(errMsg); this.createAndAddPendingToken(PythonLexer.ERROR_TOKEN, _antlr4.Token.DEFAULT_CHANNEL, this.ERR_TXT + errMsg, this.ffgToken); } }, _class13); // src/grammars-v4/python/python3_12/PythonLexer.ts var PythonLexer = (_class14 = class _PythonLexer extends PythonLexerBase { static __initStatic310() {this.INDENT = 1} static __initStatic311() {this.DEDENT = 2} static __initStatic312() {this.FSTRING_START = 3} static __initStatic313() {this.FSTRING_MIDDLE = 4} static __initStatic314() {this.FSTRING_END = 5} static __initStatic315() {this.FALSE = 6} static __initStatic316() {this.AWAIT = 7} static __initStatic317() {this.ELSE = 8} static __initStatic318() {this.IMPORT = 9} static __initStatic319() {this.PASS = 10} static __initStatic320() {this.NONE = 11} static __initStatic321() {this.BREAK = 12} static __initStatic322() {this.EXCEPT = 13} static __initStatic323() {this.IN = 14} static __initStatic324() {this.RAISE = 15} static __initStatic325() {this.TRUE = 16} static __initStatic326() {this.CLASS = 17} static __initStatic327() {this.FINALLY = 18} static __initStatic328() {this.IS = 19} static __initStatic329() {this.RETURN = 20} static __initStatic330() {this.AND = 21} static __initStatic331() {this.CONTINUE = 22} static __initStatic332() {this.FOR = 23} static __initStatic333() {this.LAMBDA = 24} static __initStatic334() {this.TRY = 25} static __initStatic335() {this.AS = 26} static __initStatic336() {this.DEF = 27} static __initStatic337() {this.FROM = 28} static __initStatic338() {this.NONLOCAL = 29} static __initStatic339() {this.WHILE = 30} static __initStatic340() {this.ASSERT = 31} static __initStatic341() {this.DEL = 32} static __initStatic342() {this.GLOBAL = 33} static __initStatic343() {this.NOT = 34} static __initStatic344() {this.WITH = 35} static __initStatic345() {this.ASYNC = 36} static __initStatic346() {this.ELIF = 37} static __initStatic347() {this.IF = 38} static __initStatic348() {this.OR = 39} static __initStatic349() {this.YIELD = 40} static __initStatic350() {this.LPAR = 41} static __initStatic351() {this.LSQB = 42} static __initStatic352() {this.LBRACE = 43} static __initStatic353() {this.RPAR = 44} static __initStatic354() {this.RSQB = 45} static __initStatic355() {this.RBRACE = 46} static __initStatic356() {this.DOT = 47} static __initStatic357() {this.COLON = 48} static __initStatic358() {this.COMMA = 49} static __initStatic359() {this.SEMI = 50} static __initStatic360() {this.PLUS = 51} static __initStatic361() {this.MINUS = 52} static __initStatic362() {this.STAR = 53} static __initStatic363() {this.SLASH = 54} static __initStatic364() {this.VBAR = 55} static __initStatic365() {this.AMPER = 56} static __initStatic366() {this.LESS = 57} static __initStatic367() {this.GREATER = 58} static __initStatic368() {this.EQUAL = 59} static __initStatic369() {this.PERCENT = 60} static __initStatic370() {this.EQEQUAL = 61} static __initStatic371() {this.NOTEQUAL = 62} static __initStatic372() {this.LESSEQUAL = 63} static __initStatic373() {this.GREATEREQUAL = 64} static __initStatic374() {this.TILDE = 65} static __initStatic375() {this.CIRCUMFLEX = 66} static __initStatic376() {this.LEFTSHIFT = 67} static __initStatic377() {this.RIGHTSHIFT = 68} static __initStatic378() {this.DOUBLESTAR = 69} static __initStatic379() {this.PLUSEQUAL = 70} static __initStatic380() {this.MINEQUAL = 71} static __initStatic381() {this.STAREQUAL = 72} static __initStatic382() {this.SLASHEQUAL = 73} static __initStatic383() {this.PERCENTEQUAL = 74} static __initStatic384() {this.AMPEREQUAL = 75} static __initStatic385() {this.VBAREQUAL = 76} static __initStatic386() {this.CIRCUMFLEXEQUAL = 77} static __initStatic387() {this.LEFTSHIFTEQUAL = 78} static __initStatic388() {this.RIGHTSHIFTEQUAL = 79} static __initStatic389() {this.DOUBLESTAREQUAL = 80} static __initStatic390() {this.DOUBLESLASH = 81} static __initStatic391() {this.DOUBLESLASHEQUAL = 82} static __initStatic392() {this.AT = 83} static __initStatic393() {this.ATEQUAL = 84} static __initStatic394() {this.RARROW = 85} static __initStatic395() {this.ELLIPSIS = 86} static __initStatic396() {this.COLONEQUAL = 87} static __initStatic397() {this.EXCLAMATION = 88} static __initStatic398() {this.NAME = 89} static __initStatic399() {this.NUMBER = 90} static __initStatic400() {this.STRING = 91} static __initStatic401() {this.TYPE_COMMENT = 92} static __initStatic402() {this.NEWLINE = 93} static __initStatic403() {this.COMMENT = 94} static __initStatic404() {this.WS = 95} static __initStatic405() {this.EXPLICIT_LINE_JOINING = 96} static __initStatic406() {this.ERROR_TOKEN = 97} static __initStatic407() {this.EOF = _antlr4.Token.EOF} static __initStatic408() {this.SINGLE_QUOTE_FSTRING_MODE = 1} static __initStatic409() {this.DOUBLE_QUOTE_FSTRING_MODE = 2} static __initStatic410() {this.LONG_SINGLE_QUOTE_FSTRING_MODE = 3} static __initStatic411() {this.LONG_DOUBLE_QUOTE_FSTRING_MODE = 4} static __initStatic412() {this.SINGLE_QUOTE_FORMAT_SPECIFICATION_MODE = 5} static __initStatic413() {this.DOUBLE_QUOTE_FORMAT_SPECIFICATION_MODE = 6} static __initStatic414() {this.channelNames = ["DEFAULT_TOKEN_CHANNEL", "HIDDEN"]} static __initStatic415() {this.literalNames = [ null, null, null, null, null, null, "'False'", "'await'", "'else'", "'import'", "'pass'", "'None'", "'break'", "'except'", "'in'", "'raise'", "'True'", "'class'", "'finally'", "'is'", "'return'", "'and'", "'continue'", "'for'", "'lambda'", "'try'", "'as'", "'def'", "'from'", "'nonlocal'", "'while'", "'assert'", "'del'", "'global'", "'not'", "'with'", "'async'", "'elif'", "'if'", "'or'", "'yield'", "'('", "'['", null, "')'", "']'", null, "'.'", "':'", "','", "';'", "'+'", "'-'", "'*'", "'/'", "'|'", "'&'", "'<'", "'>'", "'='", "'%'", "'=='", "'!='", "'<='", "'>='", "'~'", "'^'", "'<<'", "'>>'", "'**'", "'+='", "'-='", "'*='", "'/='", "'%='", "'&='", "'|='", "'^='", "'<<='", "'>>='", "'**='", "'//'", "'//='", "'@'", "'@='", "'->'", "'...'", "':='", "'!'" ]} static __initStatic416() {this.symbolicNames = [ null, "INDENT", "DEDENT", "FSTRING_START", "FSTRING_MIDDLE", "FSTRING_END", "FALSE", "AWAIT", "ELSE", "IMPORT", "PASS", "NONE", "BREAK", "EXCEPT", "IN", "RAISE", "TRUE", "CLASS", "FINALLY", "IS", "RETURN", "AND", "CONTINUE", "FOR", "LAMBDA", "TRY", "AS", "DEF", "FROM", "NONLOCAL", "WHILE", "ASSERT", "DEL", "GLOBAL", "NOT", "WITH", "ASYNC", "ELIF", "IF", "OR", "YIELD", "LPAR", "LSQB", "LBRACE", "RPAR", "RSQB", "RBRACE", "DOT", "COLON", "COMMA", "SEMI", "PLUS", "MINUS", "STAR", "SLASH", "VBAR", "AMPER", "LESS", "GREATER", "EQUAL", "PERCENT", "EQEQUAL", "NOTEQUAL", "LESSEQUAL", "GREATEREQUAL", "TILDE", "CIRCUMFLEX", "LEFTSHIFT", "RIGHTSHIFT", "DOUBLESTAR", "PLUSEQUAL", "MINEQUAL", "STAREQUAL", "SLASHEQUAL", "PERCENTEQUAL", "AMPEREQUAL", "VBAREQUAL", "CIRCUMFLEXEQUAL", "LEFTSHIFTEQUAL", "RIGHTSHIFTEQUAL", "DOUBLESTAREQUAL", "DOUBLESLASH", "DOUBLESLASHEQUAL", "AT", "ATEQUAL", "RARROW", "ELLIPSIS", "COLONEQUAL", "EXCLAMATION", "NAME", "NUMBER", "STRING", "TYPE_COMMENT", "NEWLINE", "COMMENT", "WS", "EXPLICIT_LINE_JOINING", "ERROR_TOKEN" ]} static __initStatic417() {this.modeNames = [ "DEFAULT_MODE", "SINGLE_QUOTE_FSTRING_MODE", "DOUBLE_QUOTE_FSTRING_MODE", "LONG_SINGLE_QUOTE_FSTRING_MODE", "LONG_DOUBLE_QUOTE_FSTRING_MODE", "SINGLE_QUOTE_FORMAT_SPECIFICATION_MODE", "DOUBLE_QUOTE_FORMAT_SPECIFICATION_MODE" ]} static __initStatic418() {this.ruleNames = [ "FALSE", "AWAIT", "ELSE", "IMPORT", "PASS", "NONE", "BREAK", "EXCEPT", "IN", "RAISE", "TRUE", "CLASS", "FINALLY", "IS", "RETURN", "AND", "CONTINUE", "FOR", "LAMBDA", "TRY", "AS", "DEF", "FROM", "NONLOCAL", "WHILE", "ASSERT", "DEL", "GLOBAL", "NOT", "WITH", "ASYNC", "ELIF", "IF", "OR", "YIELD", "LPAR", "LSQB", "LBRACE", "RPAR", "RSQB", "RBRACE", "DOT", "COLON", "COMMA", "SEMI", "PLUS", "MINUS", "STAR", "SLASH", "VBAR", "AMPER", "LESS", "GREATER", "EQUAL", "PERCENT", "EQEQUAL", "NOTEQUAL", "LESSEQUAL", "GREATEREQUAL", "TILDE", "CIRCUMFLEX", "LEFTSHIFT", "RIGHTSHIFT", "DOUBLESTAR", "PLUSEQUAL", "MINEQUAL", "STAREQUAL", "SLASHEQUAL", "PERCENTEQUAL", "AMPEREQUAL", "VBAREQUAL", "CIRCUMFLEXEQUAL", "LEFTSHIFTEQUAL", "RIGHTSHIFTEQUAL", "DOUBLESTAREQUAL", "DOUBLESLASH", "DOUBLESLASHEQUAL", "AT", "ATEQUAL", "RARROW", "ELLIPSIS", "COLONEQUAL", "EXCLAMATION", "NAME", "NUMBER", "STRING", "TYPE_COMMENT", "NEWLINE", "COMMENT", "WS", "EXPLICIT_LINE_JOINING", "SINGLE_QUOTE_FSTRING_START", "DOUBLE_QUOTE_FSTRING_START", "LONG_SINGLE_QUOTE_FSTRING_START", "LONG_DOUBLE_QUOTE_FSTRING_START", "ERROR_TOKEN", "SINGLE_QUOTE_FSTRING_END", "SINGLE_QUOTE_FSTRING_MIDDLE", "SINGLE_QUOTE_FSTRING_LBRACE", "DOUBLE_QUOTE_FSTRING_END", "DOUBLE_QUOTE_FSTRING_MIDDLE", "DOUBLE_QUOTE_FSTRING_LBRACE", "LONG_SINGLE_QUOTE_FSTRING_END", "LONG_SINGLE_QUOTE_FSTRING_MIDDLE", "LONG_SINGLE_QUOTE_FSTRING_LBRACE", "LONG_DOUBLE_QUOTE_FSTRING_END", "LONG_DOUBLE_QUOTE_FSTRING_MIDDLE", "LONG_DOUBLE_QUOTE_FSTRING_LBRACE", "SINGLE_QUOTE_FORMAT_SPECIFICATION_FSTRING_MIDDLE", "SINGLE_QUOTE_FORMAT_SPECIFICATION_LBRACE", "SINGLE_QUOTE_FORMAT_SPECIFICATION_RBRACE", "DOUBLE_QUOTE_FORMAT_SPECIFICATION_FSTRING_MIDDLE", "DOUBLE_QUOTE_FORMAT_SPECIFICATION_LBRACE", "DOUBLE_QUOTE_FORMAT_SPECIFICATION_RBRACE", "STRING_LITERAL", "STRING_PREFIX", "SHORT_STRING", "LONG_STRING", "SHORT_STRING_ITEM_FOR_SINGLE_QUOTE", "SHORT_STRING_ITEM_FOR_DOUBLE_QUOTE", "LONG_STRING_ITEM", "SHORT_STRING_CHAR_NO_SINGLE_QUOTE", "SHORT_STRING_CHAR_NO_DOUBLE_QUOTE", "LONG_STRING_CHAR", "STRING_ESCAPE_SEQ", "BYTES_LITERAL", "BYTES_PREFIX", "SHORT_BYTES", "LONG_BYTES", "SHORT_BYTES_ITEM_FOR_SINGLE_QUOTE", "SHORT_BYTES_ITEM_FOR_DOUBLE_QUOTE", "LONG_BYTES_ITEM", "SHORT_BYTES_CHAR_NO_SINGLE_QUOTE", "SHORT_BYTES_CHAR_NO_DOUBLE_QUOTE", "LONG_BYTES_CHAR", "BYTES_ESCAPE_SEQ", "SINGLE_QUOTE_FSTRING_LITERAL", "DOUBLE_QUOTE_FSTRING_LITERAL", "F_STRING_PREFIX", "FORMAT_SPEC_CHAR_NO_SINGLE_QUOTE", "FORMAT_SPEC_CHAR_NO_DOUBLE_QUOTE", "DOUBLE_BRACES", "INTEGER", "DEC_INTEGER", "BIN_INTEGER", "OCT_INTEGER", "HEX_INTEGER", "NON_ZERO_DIGIT", "DIGIT", "BIN_DIGIT", "OCT_DIGIT", "HEX_DIGIT", "FLOAT_NUMBER", "POINT_FLOAT", "EXPONENT_FLOAT", "DIGIT_PART", "FRACTION", "EXPONENT", "IMAG_NUMBER", "OS_INDEPENDENT_NL", "ID_CONTINUE", "ID_START" ]} constructor(input) { super(input); this._interp = new (0, _antlr4.LexerATNSimulator)(this, _PythonLexer._ATN, _PythonLexer.DecisionsToDFA, new (0, _antlr4.PredictionContextCache)()); } get grammarFileName() { return "PythonLexer.g4"; } get literalNames() { return _PythonLexer.literalNames; } get symbolicNames() { return _PythonLexer.symbolicNames; } get ruleNames() { return _PythonLexer.ruleNames; } get serializedATN() { return _PythonLexer._serializedATN; } get channelNames() { return _PythonLexer.channelNames; } get modeNames() { return _PythonLexer.modeNames; } static __initStatic419() {this._serializedATN = [ 4, 0, 97, 1160, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, 160, 2, 161, 7, 161, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 36, 1, 36, 1, 37, 1, 37, 1, 38, 1, 38, 1, 39, 1, 39, 1, 40, 1, 40, 1, 41, 1, 41, 1, 42, 1, 42, 1, 43, 1, 43, 1, 44, 1, 44, 1, 45, 1, 45, 1, 46, 1, 46, 1, 47, 1, 47, 1, 48, 1, 48, 1, 49, 1, 49, 1, 50, 1, 50, 1, 51, 1, 51, 1, 52, 1, 52, 1, 53, 1, 53, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 83, 1, 83, 5, 83, 649, 8, 83, 10, 83, 12, 83, 652, 9, 83, 1, 84, 1, 84, 1, 84, 3, 84, 657, 8, 84, 1, 85, 1, 85, 3, 85, 661, 8, 85, 1, 86, 1, 86, 3, 86, 665, 8, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 5, 86, 674, 8, 86, 10, 86, 12, 86, 677, 9, 86, 1, 87, 1, 87, 1, 88, 1, 88, 5, 88, 683, 8, 88, 10, 88, 12, 88, 686, 9, 88, 1, 88, 1, 88, 1, 89, 4, 89, 691, 8, 89, 11, 89, 12, 89, 692, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 4, 108, 789, 8, 108, 11, 108, 12, 108, 790, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 111, 4, 111, 804, 8, 111, 11, 111, 12, 111, 805, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 114, 3, 114, 819, 8, 114, 1, 114, 1, 114, 3, 114, 823, 8, 114, 1, 115, 1, 115, 1, 116, 1, 116, 5, 116, 829, 8, 116, 10, 116, 12, 116, 832, 9, 116, 1, 116, 1, 116, 1, 116, 5, 116, 837, 8, 116, 10, 116, 12, 116, 840, 9, 116, 1, 116, 3, 116, 843, 8, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 5, 117, 850, 8, 117, 10, 117, 12, 117, 853, 9, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 5, 117, 863, 8, 117, 10, 117, 12, 117, 866, 9, 117, 1, 117, 1, 117, 1, 117, 3, 117, 871, 8, 117, 1, 118, 1, 118, 3, 118, 875, 8, 118, 1, 119, 1, 119, 3, 119, 879, 8, 119, 1, 120, 1, 120, 3, 120, 883, 8, 120, 1, 121, 1, 121, 1, 122, 1, 122, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 3, 124, 895, 8, 124, 1, 125, 1, 125, 1, 125, 3, 125, 900, 8, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 3, 126, 919, 8, 126, 1, 127, 1, 127, 5, 127, 923, 8, 127, 10, 127, 12, 127, 926, 9, 127, 1, 127, 1, 127, 1, 127, 5, 127, 931, 8, 127, 10, 127, 12, 127, 934, 9, 127, 1, 127, 3, 127, 937, 8, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 5, 128, 944, 8, 128, 10, 128, 12, 128, 947, 9, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 5, 128, 957, 8, 128, 10, 128, 12, 128, 960, 9, 128, 1, 128, 1, 128, 1, 128, 3, 128, 965, 8, 128, 1, 129, 1, 129, 3, 129, 969, 8, 129, 1, 130, 1, 130, 3, 130, 973, 8, 130, 1, 131, 1, 131, 3, 131, 977, 8, 131, 1, 132, 3, 132, 980, 8, 132, 1, 133, 3, 133, 983, 8, 133, 1, 134, 3, 134, 986, 8, 134, 1, 135, 1, 135, 1, 135, 1, 136, 1, 136, 4, 136, 993, 8, 136, 11, 136, 12, 136, 994, 1, 137, 1, 137, 4, 137, 999, 8, 137, 11, 137, 12, 137, 1e3, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 3, 138, 1020, 8, 138, 1, 139, 1, 139, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 1, 141, 3, 141, 1030, 8, 141, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1036, 8, 142, 1, 143, 1, 143, 3, 143, 1040, 8, 143, 1, 143, 5, 143, 1043, 8, 143, 10, 143, 12, 143, 1046, 9, 143, 1, 143, 4, 143, 1049, 8, 143, 11, 143, 12, 143, 1050, 1, 143, 3, 143, 1054, 8, 143, 1, 143, 5, 143, 1057, 8, 143, 10, 143, 12, 143, 1060, 9, 143, 3, 143, 1062, 8, 143, 1, 144, 1, 144, 1, 144, 3, 144, 1067, 8, 144, 1, 144, 4, 144, 1070, 8, 144, 11, 144, 12, 144, 1071, 1, 145, 1, 145, 1, 145, 3, 145, 1077, 8, 145, 1, 145, 4, 145, 1080, 8, 145, 11, 145, 12, 145, 1081, 1, 146, 1, 146, 1, 146, 3, 146, 1087, 8, 146, 1, 146, 4, 146, 1090, 8, 146, 11, 146, 12, 146, 1091, 1, 147, 1, 147, 1, 148, 1, 148, 1, 149, 1, 149, 1, 150, 1, 150, 1, 151, 1, 151, 3, 151, 1104, 8, 151, 1, 152, 1, 152, 3, 152, 1108, 8, 152, 1, 153, 3, 153, 1111, 8, 153, 1, 153, 1, 153, 1, 153, 1, 153, 3, 153, 1117, 8, 153, 1, 154, 1, 154, 3, 154, 1121, 8, 154, 1, 154, 1, 154, 1, 155, 1, 155, 3, 155, 1127, 8, 155, 1, 155, 5, 155, 1130, 8, 155, 10, 155, 12, 155, 1133, 9, 155, 1, 156, 1, 156, 1, 156, 1, 157, 1, 157, 3, 157, 1140, 8, 157, 1, 157, 1, 157, 1, 158, 1, 158, 3, 158, 1146, 8, 158, 1, 158, 1, 158, 1, 159, 3, 159, 1151, 8, 159, 1, 159, 1, 159, 1, 160, 1, 160, 3, 160, 1157, 8, 160, 1, 161, 1, 161, 4, 851, 864, 945, 958, 0, 162, 7, 6, 9, 7, 11, 8, 13, 9, 15, 10, 17, 11, 19, 12, 21, 13, 23, 14, 25, 15, 27, 16, 29, 17, 31, 18, 33, 19, 35, 20, 37, 21, 39, 22, 41, 23, 43, 24, 45, 25, 47, 26, 49, 27, 51, 28, 53, 29, 55, 30, 57, 31, 59, 32, 61, 33, 63, 34, 65, 35, 67, 36, 69, 37, 71, 38, 73, 39, 75, 40, 77, 41, 79, 42, 81, 43, 83, 44, 85, 45, 87, 46, 89, 47, 91, 48, 93, 49, 95, 50, 97, 51, 99, 52, 101, 53, 103, 54, 105, 55, 107, 56, 109, 57, 111, 58, 113, 59, 115, 60, 117, 61, 119, 62, 121, 63, 123, 64, 125, 65, 127, 66, 129, 67, 131, 68, 133, 69, 135, 70, 137, 71, 139, 72, 141, 73, 143, 74, 145, 75, 147, 76, 149, 77, 151, 78, 153, 79, 155, 80, 157, 81, 159, 82, 161, 83, 163, 84, 165, 85, 167, 86, 169, 87, 171, 88, 173, 89, 175, 90, 177, 91, 179, 92, 181, 93, 183, 94, 185, 95, 187, 96, 189, 0, 191, 0, 193, 0, 195, 0, 197, 97, 199, 0, 201, 0, 203, 0, 205, 0, 207, 0, 209, 0, 211, 0, 213, 0, 215, 0, 217, 0, 219, 0, 221, 0, 223, 0, 225, 0, 227, 0, 229, 0, 231, 0, 233, 0, 235, 0, 237, 0, 239, 0, 241, 0, 243, 0, 245, 0, 247, 0, 249, 0, 251, 0, 253, 0, 255, 0, 257, 0, 259, 0, 261, 0, 263, 0, 265, 0, 267, 0, 269, 0, 271, 0, 273, 0, 275, 0, 277, 0, 279, 0, 281, 0, 283, 0, 285, 0, 287, 0, 289, 0, 291, 0, 293, 0, 295, 0, 297, 0, 299, 0, 301, 0, 303, 0, 305, 0, 307, 0, 309, 0, 311, 0, 313, 0, 315, 0, 317, 0, 319, 0, 321, 0, 323, 0, 325, 0, 327, 0, 329, 0, 7, 0, 1, 2, 3, 4, 5, 6, 27, 2, 0, 10, 10, 13, 13, 3, 0, 9, 9, 12, 12, 32, 32, 1, 0, 39, 39, 1, 0, 34, 34, 4, 0, 82, 82, 85, 85, 114, 114, 117, 117, 4, 0, 10, 10, 13, 13, 39, 39, 92, 92, 4, 0, 10, 10, 13, 13, 34, 34, 92, 92, 1, 0, 92, 92, 2, 0, 66, 66, 98, 98, 5, 0, 0, 9, 11, 12, 14, 38, 40, 91, 93, 127, 5, 0, 0, 9, 11, 12, 14, 33, 35, 91, 93, 127, 2, 0, 0, 91, 93, 127, 1, 0, 0, 127, 2, 0, 70, 70, 102, 102, 3, 0, 39, 39, 123, 123, 125, 125, 3, 0, 34, 34, 123, 123, 125, 125, 2, 0, 79, 79, 111, 111, 2, 0, 88, 88, 120, 120, 1, 0, 49, 57, 1, 0, 48, 57, 1, 0, 48, 55, 2, 0, 65, 70, 97, 102, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 2, 0, 74, 74, 106, 106, 374, 0, 48, 57, 183, 183, 768, 879, 903, 903, 1155, 1159, 1425, 1469, 1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1552, 1562, 1611, 1641, 1648, 1648, 1750, 1756, 1759, 1764, 1767, 1768, 1770, 1773, 1776, 1785, 1809, 1809, 1840, 1866, 1958, 1968, 1984, 1993, 2027, 2035, 2045, 2045, 2070, 2073, 2075, 2083, 2085, 2087, 2089, 2093, 2137, 2139, 2200, 2207, 2250, 2273, 2275, 2307, 2362, 2364, 2366, 2383, 2385, 2391, 2402, 2403, 2406, 2415, 2433, 2435, 2492, 2492, 2494, 2500, 2503, 2504, 2507, 2509, 2519, 2519, 2530, 2531, 2534, 2543, 2558, 2558, 2561, 2563, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2662, 2673, 2677, 2677, 2689, 2691, 2748, 2748, 2750, 2757, 2759, 2761, 2763, 2765, 2786, 2787, 2790, 2799, 2810, 2815, 2817, 2819, 2876, 2876, 2878, 2884, 2887, 2888, 2891, 2893, 2901, 2903, 2914, 2915, 2918, 2927, 2946, 2946, 3006, 3010, 3014, 3016, 3018, 3021, 3031, 3031, 3046, 3055, 3072, 3076, 3132, 3132, 3134, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3170, 3171, 3174, 3183, 3201, 3203, 3260, 3260, 3262, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3298, 3299, 3302, 3311, 3315, 3315, 3328, 3331, 3387, 3388, 3390, 3396, 3398, 3400, 3402, 3405, 3415, 3415, 3426, 3427, 3430, 3439, 3457, 3459, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3558, 3567, 3570, 3571, 3633, 3633, 3635, 3642, 3655, 3662, 3664, 3673, 3761, 3761, 3763, 3772, 3784, 3790, 3792, 3801, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3903, 3953, 3972, 3974, 3975, 3981, 3991, 3993, 4028, 4038, 4038, 4139, 4158, 4160, 4169, 4182, 4185, 4190, 4192, 4194, 4196, 4199, 4205, 4209, 4212, 4226, 4237, 4239, 4253, 4957, 4959, 4969, 4977, 5906, 5909, 5938, 5940, 5970, 5971, 6002, 6003, 6068, 6099, 6109, 6109, 6112, 6121, 6155, 6157, 6159, 6169, 6313, 6313, 6432, 6443, 6448, 6459, 6470, 6479, 6608, 6618, 6679, 6683, 6741, 6750, 6752, 6780, 6783, 6793, 6800, 6809, 6832, 6845, 6847, 6862, 6912, 6916, 6964, 6980, 6992, 7001, 7019, 7027, 7040, 7042, 7073, 7085, 7088, 7097, 7142, 7155, 7204, 7223, 7232, 7241, 7248, 7257, 7376, 7378, 7380, 7400, 7405, 7405, 7412, 7412, 7415, 7417, 7616, 7679, 8255, 8256, 8276, 8276, 8400, 8412, 8417, 8417, 8421, 8432, 11503, 11505, 11647, 11647, 11744, 11775, 12330, 12335, 12441, 12442, 42528, 42537, 42607, 42607, 42612, 42621, 42654, 42655, 42736, 42737, 43010, 43010, 43014, 43014, 43019, 43019, 43043, 43047, 43052, 43052, 43136, 43137, 43188, 43205, 43216, 43225, 43232, 43249, 43263, 43273, 43302, 43309, 43335, 43347, 43392, 43395, 43443, 43456, 43472, 43481, 43493, 43493, 43504, 43513, 43561, 43574, 43587, 43587, 43596, 43597, 43600, 43609, 43643, 43645, 43696, 43696, 43698, 43700, 43703, 43704, 43710, 43711, 43713, 43713, 43755, 43759, 43765, 43766, 44003, 44010, 44012, 44013, 44016, 44025, 64286, 64286, 65024, 65039, 65056, 65071, 65075, 65076, 65101, 65103, 65296, 65305, 65343, 65343, 65438, 65439, 66045, 66045, 66272, 66272, 66422, 66426, 66720, 66729, 68097, 68099, 68101, 68102, 68108, 68111, 68152, 68154, 68159, 68159, 68325, 68326, 68900, 68903, 68912, 68921, 69291, 69292, 69373, 69375, 69446, 69456, 69506, 69509, 69632, 69634, 69688, 69702, 69734, 69744, 69747, 69748, 69759, 69762, 69808, 69818, 69826, 69826, 69872, 69881, 69888, 69890, 69927, 69940, 69942, 69951, 69957, 69958, 70003, 70003, 70016, 70018, 70067, 70080, 70089, 70092, 70094, 70105, 70188, 70199, 70206, 70206, 70209, 70209, 70367, 70378, 70384, 70393, 70400, 70403, 70459, 70460, 70462, 70468, 70471, 70472, 70475, 70477, 70487, 70487, 70498, 70499, 70502, 70508, 70512, 70516, 70709, 70726, 70736, 70745, 70750, 70750, 70832, 70851, 70864, 70873, 71087, 71093, 71096, 71104, 71132, 71133, 71216, 71232, 71248, 71257, 71339, 71351, 71360, 71369, 71453, 71467, 71472, 71481, 71724, 71738, 71904, 71913, 71984, 71989, 71991, 71992, 71995, 71998, 72e3, 72e3, 72002, 72003, 72016, 72025, 72145, 72151, 72154, 72160, 72164, 72164, 72193, 72202, 72243, 72249, 72251, 72254, 72263, 72263, 72273, 72283, 72330, 72345, 72751, 72758, 72760, 72767, 72784, 72793, 72850, 72871, 72873, 72886, 73009, 73014, 73018, 73018, 73020, 73021, 73023, 73029, 73031, 73031, 73040, 73049, 73098, 73102, 73104, 73105, 73107, 73111, 73120, 73129, 73459, 73462, 73472, 73473, 73475, 73475, 73524, 73530, 73534, 73538, 73552, 73561, 78912, 78912, 78919, 78933, 92768, 92777, 92864, 92873, 92912, 92916, 92976, 92982, 93008, 93017, 94031, 94031, 94033, 94087, 94095, 94098, 94180, 94180, 94192, 94193, 113821, 113822, 118528, 118573, 118576, 118598, 119141, 119145, 119149, 119154, 119163, 119170, 119173, 119179, 119210, 119213, 119362, 119364, 120782, 120831, 121344, 121398, 121403, 121452, 121461, 121461, 121476, 121476, 121499, 121503, 121505, 121519, 122880, 122886, 122888, 122904, 122907, 122913, 122915, 122916, 122918, 122922, 123023, 123023, 123184, 123190, 123200, 123209, 123566, 123566, 123628, 123641, 124140, 124153, 125136, 125142, 125252, 125258, 125264, 125273, 130032, 130041, 917760, 917999, 667, 0, 65, 90, 95, 95, 97, 122, 170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 880, 884, 886, 887, 891, 893, 895, 895, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1327, 1329, 1366, 1369, 1369, 1376, 1416, 1488, 1514, 1519, 1522, 1568, 1610, 1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788, 1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026, 2036, 2037, 2042, 2042, 2048, 2069, 2074, 2074, 2084, 2084, 2088, 2088, 2112, 2136, 2144, 2154, 2160, 2183, 2185, 2190, 2208, 2249, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2417, 2432, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 2524, 2525, 2527, 2529, 2544, 2545, 2556, 2556, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2785, 2809, 2809, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929, 2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3129, 3133, 3133, 3160, 3162, 3165, 3165, 3168, 3169, 3200, 3200, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3261, 3261, 3293, 3294, 3296, 3297, 3313, 3314, 3332, 3340, 3342, 3344, 3346, 3386, 3389, 3389, 3406, 3406, 3412, 3414, 3423, 3425, 3450, 3455, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3634, 3648, 3654, 3713, 3714, 3716, 3716, 3718, 3722, 3724, 3747, 3749, 3749, 3751, 3760, 3762, 3762, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3807, 3840, 3840, 3904, 3911, 3913, 3948, 3976, 3980, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189, 4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5109, 5112, 5117, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5880, 5888, 5905, 5919, 5937, 5952, 5969, 5984, 5996, 5998, 6e3, 6016, 6067, 6103, 6103, 6108, 6108, 6176, 6264, 6272, 6312, 6314, 6314, 6320, 6389, 6400, 6430, 6480, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6656, 6678, 6688, 6740, 6823, 6823, 6917, 6963, 6981, 6988, 7043, 7072, 7086, 7087, 7098, 7141, 7168, 7203, 7245, 7247, 7258, 7293, 7296, 7304, 7312, 7354, 7357, 7359, 7401, 7404, 7406, 7411, 7413, 7414, 7418, 7418, 7424, 7615, 7680, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8305, 8305, 8319, 8319, 8336, 8348, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8472, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11492, 11499, 11502, 11506, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12348, 12353, 12438, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12591, 12593, 12686, 12704, 12735, 12784, 12799, 13312, 19903, 19968, 42124, 42192, 42237, 42240, 42508, 42512, 42527, 42538, 42539, 42560, 42606, 42623, 42653, 42656, 42735, 42775, 42783, 42786, 42888, 42891, 42954, 42960, 42961, 42963, 42963, 42965, 42969, 42994, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187, 43250, 43255, 43259, 43259, 43261, 43262, 43274, 43301, 43312, 43334, 43360, 43388, 43396, 43442, 43471, 43471, 43488, 43492, 43494, 43503, 43514, 43518, 43520, 43560, 43584, 43586, 43588, 43595, 43616, 43638, 43642, 43642, 43646, 43695, 43697, 43697, 43701, 43702, 43705, 43709, 43712, 43712, 43714, 43714, 43739, 43741, 43744, 43754, 43762, 43764, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43824, 43866, 43868, 43881, 43888, 44002, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64605, 64612, 64829, 64848, 64911, 64914, 64967, 65008, 65017, 65137, 65137, 65139, 65139, 65143, 65143, 65145, 65145, 65147, 65147, 65149, 65149, 65151, 65276, 65313, 65338, 65345, 65370, 65382, 65437, 65440, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65536, 65547, 65549, 65574, 65576, 65594, 65596, 65597, 65599, 65613, 65616, 65629, 65664, 65786, 65856, 65908, 66176, 66204, 66208, 66256, 66304, 66335, 66349, 66378, 66384, 66421, 66432, 66461, 66464, 66499, 66504, 66511, 66513, 66517, 66560, 66717, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 66928, 66938, 66940, 66954, 66956, 66962, 66964, 66965, 66967, 66977, 66979, 66993, 66995, 67001, 67003, 67004, 67072, 67382, 67392, 67413, 67424, 67431, 67456, 67461, 67463, 67504, 67506, 67514, 67584, 67589, 67592, 67592, 67594, 67637, 67639, 67640, 67644, 67644, 67647, 67669, 67680, 67702, 67712, 67742, 67808, 67826, 67828, 67829, 67840, 67861, 67872, 67897, 67968, 68023, 68030, 68031, 68096, 68096, 68112, 68115, 68117, 68119, 68121, 68149, 68192, 68220, 68224, 68252, 68288, 68295, 68297, 68324, 68352, 68405, 68416, 68437, 68448, 68466, 68480, 68497, 68608, 68680, 68736, 68786, 68800, 68850, 68864, 68899, 69248, 69289, 69296, 69297, 69376, 69404, 69415, 69415, 69424, 69445, 69488, 69505, 69552, 69572, 69600, 69622, 69635, 69687, 69745, 69746, 69749, 69749, 69763, 69807, 69840, 69864, 69891, 69926, 69956, 69956, 69959, 69959, 69968, 70002, 70006, 70006, 70019, 70066, 70081, 70084, 70106, 70106, 70108, 70108, 70144, 70161, 70163, 70187, 70207, 70208, 70272, 70278, 70280, 70280, 70282, 70285, 70287, 70301, 70303, 70312, 70320, 70366, 70405, 70412, 70415, 70416, 70419, 70440, 70442, 70448, 70450, 70451, 70453, 70457, 70461, 70461, 70480, 70480, 70493, 70497, 70656, 70708, 70727, 70730, 70751, 70753, 70784, 70831, 70852, 70853, 70855, 70855, 71040, 71086, 71128, 71131, 71168, 71215, 71236, 71236, 71296, 71338, 71352, 71352, 71424, 71450, 71488, 71494, 71680, 71723, 71840, 71903, 71935, 71942, 71945, 71945, 71948, 71955, 71957, 71958, 71960, 71983, 71999, 71999, 72001, 72001, 72096, 72103, 72106, 72144, 72161, 72161, 72163, 72163, 72192, 72192, 72203, 72242, 72250, 72250, 72272, 72272, 72284, 72329, 72349, 72349, 72368, 72440, 72704, 72712, 72714, 72750, 72768, 72768, 72818, 72847, 72960, 72966, 72968, 72969, 72971, 73008, 73030, 73030, 73056, 73061, 73063, 73064, 73066, 73097, 73112, 73112, 73440, 73458, 73474, 73474, 73476, 73488, 73490, 73523, 73648, 73648, 73728, 74649, 74752, 74862, 74880, 75075, 77712, 77808, 77824, 78895, 78913, 78918, 82944, 83526, 92160, 92728, 92736, 92766, 92784, 92862, 92880, 92909, 92928, 92975, 92992, 92995, 93027, 93047, 93053, 93071, 93760, 93823, 93952, 94026, 94032, 94032, 94099, 94111, 94176, 94177, 94179, 94179, 94208, 100343, 100352, 101589, 101632, 101640, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 119808, 119892, 119894, 119964, 119966, 119967, 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119993, 119995, 119995, 119997, 120003, 120005, 120069, 120071, 120074, 120077, 120084, 120086, 120092, 120094, 120121, 120123, 120126, 120128, 120132, 120134, 120134, 120138, 120144, 120146, 120485, 120488, 120512, 120514, 120538, 120540, 120570, 120572, 120596, 120598, 120628, 120630, 120654, 120656, 120686, 120688, 120712, 120714, 120744, 120746, 120770, 120772, 120779, 122624, 122654, 122661, 122666, 122928, 122989, 123136, 123180, 123191, 123197, 123214, 123214, 123536, 123565, 123584, 123627, 124112, 124139, 124896, 124902, 124904, 124907, 124909, 124910, 124912, 124926, 124928, 125124, 125184, 125251, 125259, 125259, 126464, 126467, 126469, 126495, 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514, 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530, 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543, 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553, 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562, 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583, 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619, 126625, 126627, 126629, 126633, 126635, 126651, 131072, 173791, 173824, 177977, 177984, 178205, 178208, 183969, 183984, 191456, 194560, 195101, 196608, 201546, 201552, 205743, 1184, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, 125, 1, 0, 0, 0, 0, 127, 1, 0, 0, 0, 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, 0, 0, 133, 1, 0, 0, 0, 0, 135, 1, 0, 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, 0, 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, 147, 1, 0, 0, 0, 0, 149, 1, 0, 0, 0, 0, 151, 1, 0, 0, 0, 0, 153, 1, 0, 0, 0, 0, 155, 1, 0, 0, 0, 0, 157, 1, 0, 0, 0, 0, 159, 1, 0, 0, 0, 0, 161, 1, 0, 0, 0, 0, 163, 1, 0, 0, 0, 0, 165, 1, 0, 0, 0, 0, 167, 1, 0, 0, 0, 0, 169, 1, 0, 0, 0, 0, 171, 1, 0, 0, 0, 0, 173, 1, 0, 0, 0, 0, 175, 1, 0, 0, 0, 0, 177, 1, 0, 0, 0, 0, 179, 1, 0, 0, 0, 0, 181, 1, 0, 0, 0, 0, 183, 1, 0, 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, 1, 0, 0, 0, 0, 189, 1, 0, 0, 0, 0, 191, 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, 0, 195, 1, 0, 0, 0, 0, 197, 1, 0, 0, 0, 1, 199, 1, 0, 0, 0, 1, 201, 1, 0, 0, 0, 1, 203, 1, 0, 0, 0, 2, 205, 1, 0, 0, 0, 2, 207, 1, 0, 0, 0, 2, 209, 1, 0, 0, 0, 3, 211, 1, 0, 0, 0, 3, 213, 1, 0, 0, 0, 3, 215, 1, 0, 0, 0, 4, 217, 1, 0, 0, 0, 4, 219, 1, 0, 0, 0, 4, 221, 1, 0, 0, 0, 5, 223, 1, 0, 0, 0, 5, 225, 1, 0, 0, 0, 5, 227, 1, 0, 0, 0, 6, 229, 1, 0, 0, 0, 6, 231, 1, 0, 0, 0, 6, 233, 1, 0, 0, 0, 7, 331, 1, 0, 0, 0, 9, 337, 1, 0, 0, 0, 11, 343, 1, 0, 0, 0, 13, 348, 1, 0, 0, 0, 15, 355, 1, 0, 0, 0, 17, 360, 1, 0, 0, 0, 19, 365, 1, 0, 0, 0, 21, 371, 1, 0, 0, 0, 23, 378, 1, 0, 0, 0, 25, 381, 1, 0, 0, 0, 27, 387, 1, 0, 0, 0, 29, 392, 1, 0, 0, 0, 31, 398, 1, 0, 0, 0, 33, 406, 1, 0, 0, 0, 35, 409, 1, 0, 0, 0, 37, 416, 1, 0, 0, 0, 39, 420, 1, 0, 0, 0, 41, 429, 1, 0, 0, 0, 43, 433, 1, 0, 0, 0, 45, 440, 1, 0, 0, 0, 47, 444, 1, 0, 0, 0, 49, 447, 1, 0, 0, 0, 51, 451, 1, 0, 0, 0, 53, 456, 1, 0, 0, 0, 55, 465, 1, 0, 0, 0, 57, 471, 1, 0, 0, 0, 59, 478, 1, 0, 0, 0, 61, 482, 1, 0, 0, 0, 63, 489, 1, 0, 0, 0, 65, 493, 1, 0, 0, 0, 67, 498, 1, 0, 0, 0, 69, 504, 1, 0, 0, 0, 71, 509, 1, 0, 0, 0, 73, 512, 1, 0, 0, 0, 75, 515, 1, 0, 0, 0, 77, 521, 1, 0, 0, 0, 79, 523, 1, 0, 0, 0, 81, 525, 1, 0, 0, 0, 83, 527, 1, 0, 0, 0, 85, 529, 1, 0, 0, 0, 87, 531, 1, 0, 0, 0, 89, 533, 1, 0, 0, 0, 91, 535, 1, 0, 0, 0, 93, 537, 1, 0, 0, 0, 95, 539, 1, 0, 0, 0, 97, 541, 1, 0, 0, 0, 99, 543, 1, 0, 0, 0, 101, 545, 1, 0, 0, 0, 103, 547, 1, 0, 0, 0, 105, 549, 1, 0, 0, 0, 107, 551, 1, 0, 0, 0, 109, 553, 1, 0, 0, 0, 111, 555, 1, 0, 0, 0, 113, 557, 1, 0, 0, 0, 115, 559, 1, 0, 0, 0, 117, 561, 1, 0, 0, 0, 119, 564, 1, 0, 0, 0, 121, 567, 1, 0, 0, 0, 123, 570, 1, 0, 0, 0, 125, 573, 1, 0, 0, 0, 127, 575, 1, 0, 0, 0, 129, 577, 1, 0, 0, 0, 131, 580, 1, 0, 0, 0, 133, 583, 1, 0, 0, 0, 135, 586, 1, 0, 0, 0, 137, 589, 1, 0, 0, 0, 139, 592, 1, 0, 0, 0, 141, 595, 1, 0, 0, 0, 143, 598, 1, 0, 0, 0, 145, 601, 1, 0, 0, 0, 147, 604, 1, 0, 0, 0, 149, 607, 1, 0, 0, 0, 151, 610, 1, 0, 0, 0, 153, 614, 1, 0, 0, 0, 155, 618, 1, 0, 0, 0, 157, 622, 1, 0, 0, 0, 159, 625, 1, 0, 0, 0, 161, 629, 1, 0, 0, 0, 163, 631, 1, 0, 0, 0, 165, 634, 1, 0, 0, 0, 167, 637, 1, 0, 0, 0, 169, 641, 1, 0, 0, 0, 171, 644, 1, 0, 0, 0, 173, 646, 1, 0, 0, 0, 175, 656, 1, 0, 0, 0, 177, 660, 1, 0, 0, 0, 179, 662, 1, 0, 0, 0, 181, 678, 1, 0, 0, 0, 183, 680, 1, 0, 0, 0, 185, 690, 1, 0, 0, 0, 187, 696, 1, 0, 0, 0, 189, 701, 1, 0, 0, 0, 191, 707, 1, 0, 0, 0, 193, 713, 1, 0, 0, 0, 195, 721, 1, 0, 0, 0, 197, 729, 1, 0, 0, 0, 199, 731, 1, 0, 0, 0, 201, 736, 1, 0, 0, 0, 203, 740, 1, 0, 0, 0, 205, 744, 1, 0, 0, 0, 207, 749, 1, 0, 0, 0, 209, 753, 1, 0, 0, 0, 211, 757, 1, 0, 0, 0, 213, 764, 1, 0, 0, 0, 215, 768, 1, 0, 0, 0, 217, 772, 1, 0, 0, 0, 219, 779, 1, 0, 0, 0, 221, 783, 1, 0, 0, 0, 223, 788, 1, 0, 0, 0, 225, 794, 1, 0, 0, 0, 227, 798, 1, 0, 0, 0, 229, 803, 1, 0, 0, 0, 231, 809, 1, 0, 0, 0, 233, 813, 1, 0, 0, 0, 235, 818, 1, 0, 0, 0, 237, 824, 1, 0, 0, 0, 239, 842, 1, 0, 0, 0, 241, 870, 1, 0, 0, 0, 243, 874, 1, 0, 0, 0, 245, 878, 1, 0, 0, 0, 247, 882, 1, 0, 0, 0, 249, 884, 1, 0, 0, 0, 251, 886, 1, 0, 0, 0, 253, 888, 1, 0, 0, 0, 255, 894, 1, 0, 0, 0, 257, 896, 1, 0, 0, 0, 259, 918, 1, 0, 0, 0, 261, 936, 1, 0, 0, 0, 263, 964, 1, 0, 0, 0, 265, 968, 1, 0, 0, 0, 267, 972, 1, 0, 0, 0, 269, 976, 1, 0, 0, 0, 271, 979, 1, 0, 0, 0, 273, 982, 1, 0, 0, 0, 275, 985, 1, 0, 0, 0, 277, 987, 1, 0, 0, 0, 279, 992, 1, 0, 0, 0, 281, 998, 1, 0, 0, 0, 283, 1019, 1, 0, 0, 0, 285, 1021, 1, 0, 0, 0, 287, 1023, 1, 0, 0, 0, 289, 1029, 1, 0, 0, 0, 291, 1035, 1, 0, 0, 0, 293, 1061, 1, 0, 0, 0, 295, 1063, 1, 0, 0, 0, 297, 1073, 1, 0, 0, 0, 299, 1083, 1, 0, 0, 0, 301, 1093, 1, 0, 0, 0, 303, 1095, 1, 0, 0, 0, 305, 1097, 1, 0, 0, 0, 307, 1099, 1, 0, 0, 0, 309, 1103, 1, 0, 0, 0, 311, 1107, 1, 0, 0, 0, 313, 1116, 1, 0, 0, 0, 315, 1120, 1, 0, 0, 0, 317, 1124, 1, 0, 0, 0, 319, 1134, 1, 0, 0, 0, 321, 1137, 1, 0, 0, 0, 323, 1145, 1, 0, 0, 0, 325, 1150, 1, 0, 0, 0, 327, 1156, 1, 0, 0, 0, 329, 1158, 1, 0, 0, 0, 331, 332, 5, 70, 0, 0, 332, 333, 5, 97, 0, 0, 333, 334, 5, 108, 0, 0, 334, 335, 5, 115, 0, 0, 335, 336, 5, 101, 0, 0, 336, 8, 1, 0, 0, 0, 337, 338, 5, 97, 0, 0, 338, 339, 5, 119, 0, 0, 339, 340, 5, 97, 0, 0, 340, 341, 5, 105, 0, 0, 341, 342, 5, 116, 0, 0, 342, 10, 1, 0, 0, 0, 343, 344, 5, 101, 0, 0, 344, 345, 5, 108, 0, 0, 345, 346, 5, 115, 0, 0, 346, 347, 5, 101, 0, 0, 347, 12, 1, 0, 0, 0, 348, 349, 5, 105, 0, 0, 349, 350, 5, 109, 0, 0, 350, 351, 5, 112, 0, 0, 351, 352, 5, 111, 0, 0, 352, 353, 5, 114, 0, 0, 353, 354, 5, 116, 0, 0, 354, 14, 1, 0, 0, 0, 355, 356, 5, 112, 0, 0, 356, 357, 5, 97, 0, 0, 357, 358, 5, 115, 0, 0, 358, 359, 5, 115, 0, 0, 359, 16, 1, 0, 0, 0, 360, 361, 5, 78, 0, 0, 361, 362, 5, 111, 0, 0, 362, 363, 5, 110, 0, 0, 363, 364, 5, 101, 0, 0, 364, 18, 1, 0, 0, 0, 365, 366, 5, 98, 0, 0, 366, 367, 5, 114, 0, 0, 367, 368, 5, 101, 0, 0, 368, 369, 5, 97, 0, 0, 369, 370, 5, 107, 0, 0, 370, 20, 1, 0, 0, 0, 371, 372, 5, 101, 0, 0, 372, 373, 5, 120, 0, 0, 373, 374, 5, 99, 0, 0, 374, 375, 5, 101, 0, 0, 375, 376, 5, 112, 0, 0, 376, 377, 5, 116, 0, 0, 377, 22, 1, 0, 0, 0, 378, 379, 5, 105, 0, 0, 379, 380, 5, 110, 0, 0, 380, 24, 1, 0, 0, 0, 381, 382, 5, 114, 0, 0, 382, 383, 5, 97, 0, 0, 383, 384, 5, 105, 0, 0, 384, 385, 5, 115, 0, 0, 385, 386, 5, 101, 0, 0, 386, 26, 1, 0, 0, 0, 387, 388, 5, 84, 0, 0, 388, 389, 5, 114, 0, 0, 389, 390, 5, 117, 0, 0, 390, 391, 5, 101, 0, 0, 391, 28, 1, 0, 0, 0, 392, 393, 5, 99, 0, 0, 393, 394, 5, 108, 0, 0, 394, 395, 5, 97, 0, 0, 395, 396, 5, 115, 0, 0, 396, 397, 5, 115, 0, 0, 397, 30, 1, 0, 0, 0, 398, 399, 5, 102, 0, 0, 399, 400, 5, 105, 0, 0, 400, 401, 5, 110, 0, 0, 401, 402, 5, 97, 0, 0, 402, 403, 5, 108, 0, 0, 403, 404, 5, 108, 0, 0, 404, 405, 5, 121, 0, 0, 405, 32, 1, 0, 0, 0, 406, 407, 5, 105, 0, 0, 407, 408, 5, 115, 0, 0, 408, 34, 1, 0, 0, 0, 409, 410, 5, 114, 0, 0, 410, 411, 5, 101, 0, 0, 411, 412, 5, 116, 0, 0, 412, 413, 5, 117, 0, 0, 413, 414, 5, 114, 0, 0, 414, 415, 5, 110, 0, 0, 415, 36, 1, 0, 0, 0, 416, 417, 5, 97, 0, 0, 417, 418, 5, 110, 0, 0, 418, 419, 5, 100, 0, 0, 419, 38, 1, 0, 0, 0, 420, 421, 5, 99, 0, 0, 421, 422, 5, 111, 0, 0, 422, 423, 5, 110, 0, 0, 423, 424, 5, 116, 0, 0, 424, 425, 5, 105, 0, 0, 425, 426, 5, 110, 0, 0, 426, 427, 5, 117, 0, 0, 427, 428, 5, 101, 0, 0, 428, 40, 1, 0, 0, 0, 429, 430, 5, 102, 0, 0, 430, 431, 5, 111, 0, 0, 431, 432, 5, 114, 0, 0, 432, 42, 1, 0, 0, 0, 433, 434, 5, 108, 0, 0, 434, 435, 5, 97, 0, 0, 435, 436, 5, 109, 0, 0, 436, 437, 5, 98, 0, 0, 437, 438, 5, 100, 0, 0, 438, 439, 5, 97, 0, 0, 439, 44, 1, 0, 0, 0, 440, 441, 5, 116, 0, 0, 441, 442, 5, 114, 0, 0, 442, 443, 5, 121, 0, 0, 443, 46, 1, 0, 0, 0, 444, 445, 5, 97, 0, 0, 445, 446, 5, 115, 0, 0, 446, 48, 1, 0, 0, 0, 447, 448, 5, 100, 0, 0, 448, 449, 5, 101, 0, 0, 449, 450, 5, 102, 0, 0, 450, 50, 1, 0, 0, 0, 451, 452, 5, 102, 0, 0, 452, 453, 5, 114, 0, 0, 453, 454, 5, 111, 0, 0, 454, 455, 5, 109, 0, 0, 455, 52, 1, 0, 0, 0, 456, 457, 5, 110, 0, 0, 457, 458, 5, 111, 0, 0, 458, 459, 5, 110, 0, 0, 459, 460, 5, 108, 0, 0, 460, 461, 5, 111, 0, 0, 461, 462, 5, 99, 0, 0, 462, 463, 5, 97, 0, 0, 463, 464, 5, 108, 0, 0, 464, 54, 1, 0, 0, 0, 465, 466, 5, 119, 0, 0, 466, 467, 5, 104, 0, 0, 467, 468, 5, 105, 0, 0, 468, 469, 5, 108, 0, 0, 469, 470, 5, 101, 0, 0, 470, 56, 1, 0, 0, 0, 471, 472, 5, 97, 0, 0, 472, 473, 5, 115, 0, 0, 473, 474, 5, 115, 0, 0, 474, 475, 5, 101, 0, 0, 475, 476, 5, 114, 0, 0, 476, 477, 5, 116, 0, 0, 477, 58, 1, 0, 0, 0, 478, 479, 5, 100, 0, 0, 479, 480, 5, 101, 0, 0, 480, 481, 5, 108, 0, 0, 481, 60, 1, 0, 0, 0, 482, 483, 5, 103, 0, 0, 483, 484, 5, 108, 0, 0, 484, 485, 5, 111, 0, 0, 485, 486, 5, 98, 0, 0, 486, 487, 5, 97, 0, 0, 487, 488, 5, 108, 0, 0, 488, 62, 1, 0, 0, 0, 489, 490, 5, 110, 0, 0, 490, 491, 5, 111, 0, 0, 491, 492, 5, 116, 0, 0, 492, 64, 1, 0, 0, 0, 493, 494, 5, 119, 0, 0, 494, 495, 5, 105, 0, 0, 495, 496, 5, 116, 0, 0, 496, 497, 5, 104, 0, 0, 497, 66, 1, 0, 0, 0, 498, 499, 5, 97, 0, 0, 499, 500, 5, 115, 0, 0, 500, 501, 5, 121, 0, 0, 501, 502, 5, 110, 0, 0, 502, 503, 5, 99, 0, 0, 503, 68, 1, 0, 0, 0, 504, 505, 5, 101, 0, 0, 505, 506, 5, 108, 0, 0, 506, 507, 5, 105, 0, 0, 507, 508, 5, 102, 0, 0, 508, 70, 1, 0, 0, 0, 509, 510, 5, 105, 0, 0, 510, 511, 5, 102, 0, 0, 511, 72, 1, 0, 0, 0, 512, 513, 5, 111, 0, 0, 513, 514, 5, 114, 0, 0, 514, 74, 1, 0, 0, 0, 515, 516, 5, 121, 0, 0, 516, 517, 5, 105, 0, 0, 517, 518, 5, 101, 0, 0, 518, 519, 5, 108, 0, 0, 519, 520, 5, 100, 0, 0, 520, 76, 1, 0, 0, 0, 521, 522, 5, 40, 0, 0, 522, 78, 1, 0, 0, 0, 523, 524, 5, 91, 0, 0, 524, 80, 1, 0, 0, 0, 525, 526, 5, 123, 0, 0, 526, 82, 1, 0, 0, 0, 527, 528, 5, 41, 0, 0, 528, 84, 1, 0, 0, 0, 529, 530, 5, 93, 0, 0, 530, 86, 1, 0, 0, 0, 531, 532, 5, 125, 0, 0, 532, 88, 1, 0, 0, 0, 533, 534, 5, 46, 0, 0, 534, 90, 1, 0, 0, 0, 535, 536, 5, 58, 0, 0, 536, 92, 1, 0, 0, 0, 537, 538, 5, 44, 0, 0, 538, 94, 1, 0, 0, 0, 539, 540, 5, 59, 0, 0, 540, 96, 1, 0, 0, 0, 541, 542, 5, 43, 0, 0, 542, 98, 1, 0, 0, 0, 543, 544, 5, 45, 0, 0, 544, 100, 1, 0, 0, 0, 545, 546, 5, 42, 0, 0, 546, 102, 1, 0, 0, 0, 547, 548, 5, 47, 0, 0, 548, 104, 1, 0, 0, 0, 549, 550, 5, 124, 0, 0, 550, 106, 1, 0, 0, 0, 551, 552, 5, 38, 0, 0, 552, 108, 1, 0, 0, 0, 553, 554, 5, 60, 0, 0, 554, 110, 1, 0, 0, 0, 555, 556, 5, 62, 0, 0, 556, 112, 1, 0, 0, 0, 557, 558, 5, 61, 0, 0, 558, 114, 1, 0, 0, 0, 559, 560, 5, 37, 0, 0, 560, 116, 1, 0, 0, 0, 561, 562, 5, 61, 0, 0, 562, 563, 5, 61, 0, 0, 563, 118, 1, 0, 0, 0, 564, 565, 5, 33, 0, 0, 565, 566, 5, 61, 0, 0, 566, 120, 1, 0, 0, 0, 567, 568, 5, 60, 0, 0, 568, 569, 5, 61, 0, 0, 569, 122, 1, 0, 0, 0, 570, 571, 5, 62, 0, 0, 571, 572, 5, 61, 0, 0, 572, 124, 1, 0, 0, 0, 573, 574, 5, 126, 0, 0, 574, 126, 1, 0, 0, 0, 575, 576, 5, 94, 0, 0, 576, 128, 1, 0, 0, 0, 577, 578, 5, 60, 0, 0, 578, 579, 5, 60, 0, 0, 579, 130, 1, 0, 0, 0, 580, 581, 5, 62, 0, 0, 581, 582, 5, 62, 0, 0, 582, 132, 1, 0, 0, 0, 583, 584, 5, 42, 0, 0, 584, 585, 5, 42, 0, 0, 585, 134, 1, 0, 0, 0, 586, 587, 5, 43, 0, 0, 587, 588, 5, 61, 0, 0, 588, 136, 1, 0, 0, 0, 589, 590, 5, 45, 0, 0, 590, 591, 5, 61, 0, 0, 591, 138, 1, 0, 0, 0, 592, 593, 5, 42, 0, 0, 593, 594, 5, 61, 0, 0, 594, 140, 1, 0, 0, 0, 595, 596, 5, 47, 0, 0, 596, 597, 5, 61, 0, 0, 597, 142, 1, 0, 0, 0, 598, 599, 5, 37, 0, 0, 599, 600, 5, 61, 0, 0, 600, 144, 1, 0, 0, 0, 601, 602, 5, 38, 0, 0, 602, 603, 5, 61, 0, 0, 603, 146, 1, 0, 0, 0, 604, 605, 5, 124, 0, 0, 605, 606, 5, 61, 0, 0, 606, 148, 1, 0, 0, 0, 607, 608, 5, 94, 0, 0, 608, 609, 5, 61, 0, 0, 609, 150, 1, 0, 0, 0, 610, 611, 5, 60, 0, 0, 611, 612, 5, 60, 0, 0, 612, 613, 5, 61, 0, 0, 613, 152, 1, 0, 0, 0, 614, 615, 5, 62, 0, 0, 615, 616, 5, 62, 0, 0, 616, 617, 5, 61, 0, 0, 617, 154, 1, 0, 0, 0, 618, 619, 5, 42, 0, 0, 619, 620, 5, 42, 0, 0, 620, 621, 5, 61, 0, 0, 621, 156, 1, 0, 0, 0, 622, 623, 5, 47, 0, 0, 623, 624, 5, 47, 0, 0, 624, 158, 1, 0, 0, 0, 625, 626, 5, 47, 0, 0, 626, 627, 5, 47, 0, 0, 627, 628, 5, 61, 0, 0, 628, 160, 1, 0, 0, 0, 629, 630, 5, 64, 0, 0, 630, 162, 1, 0, 0, 0, 631, 632, 5, 64, 0, 0, 632, 633, 5, 61, 0, 0, 633, 164, 1, 0, 0, 0, 634, 635, 5, 45, 0, 0, 635, 636, 5, 62, 0, 0, 636, 166, 1, 0, 0, 0, 637, 638, 5, 46, 0, 0, 638, 639, 5, 46, 0, 0, 639, 640, 5, 46, 0, 0, 640, 168, 1, 0, 0, 0, 641, 642, 5, 58, 0, 0, 642, 643, 5, 61, 0, 0, 643, 170, 1, 0, 0, 0, 644, 645, 5, 33, 0, 0, 645, 172, 1, 0, 0, 0, 646, 650, 3, 329, 161, 0, 647, 649, 3, 327, 160, 0, 648, 647, 1, 0, 0, 0, 649, 652, 1, 0, 0, 0, 650, 648, 1, 0, 0, 0, 650, 651, 1, 0, 0, 0, 651, 174, 1, 0, 0, 0, 652, 650, 1, 0, 0, 0, 653, 657, 3, 291, 142, 0, 654, 657, 3, 311, 152, 0, 655, 657, 3, 323, 158, 0, 656, 653, 1, 0, 0, 0, 656, 654, 1, 0, 0, 0, 656, 655, 1, 0, 0, 0, 657, 176, 1, 0, 0, 0, 658, 661, 3, 235, 114, 0, 659, 661, 3, 257, 125, 0, 660, 658, 1, 0, 0, 0, 660, 659, 1, 0, 0, 0, 661, 178, 1, 0, 0, 0, 662, 664, 5, 35, 0, 0, 663, 665, 3, 185, 89, 0, 664, 663, 1, 0, 0, 0, 664, 665, 1, 0, 0, 0, 665, 666, 1, 0, 0, 0, 666, 667, 5, 116, 0, 0, 667, 668, 5, 121, 0, 0, 668, 669, 5, 112, 0, 0, 669, 670, 5, 101, 0, 0, 670, 671, 5, 58, 0, 0, 671, 675, 1, 0, 0, 0, 672, 674, 8, 0, 0, 0, 673, 672, 1, 0, 0, 0, 674, 677, 1, 0, 0, 0, 675, 673, 1, 0, 0, 0, 675, 676, 1, 0, 0, 0, 676, 180, 1, 0, 0, 0, 677, 675, 1, 0, 0, 0, 678, 679, 3, 325, 159, 0, 679, 182, 1, 0, 0, 0, 680, 684, 5, 35, 0, 0, 681, 683, 8, 0, 0, 0, 682, 681, 1, 0, 0, 0, 683, 686, 1, 0, 0, 0, 684, 682, 1, 0, 0, 0, 684, 685, 1, 0, 0, 0, 685, 687, 1, 0, 0, 0, 686, 684, 1, 0, 0, 0, 687, 688, 6, 88, 0, 0, 688, 184, 1, 0, 0, 0, 689, 691, 7, 1, 0, 0, 690, 689, 1, 0, 0, 0, 691, 692, 1, 0, 0, 0, 692, 690, 1, 0, 0, 0, 692, 693, 1, 0, 0, 0, 693, 694, 1, 0, 0, 0, 694, 695, 6, 89, 0, 0, 695, 186, 1, 0, 0, 0, 696, 697, 5, 92, 0, 0, 697, 698, 3, 181, 87, 0, 698, 699, 1, 0, 0, 0, 699, 700, 6, 90, 0, 0, 700, 188, 1, 0, 0, 0, 701, 702, 3, 283, 138, 0, 702, 703, 7, 2, 0, 0, 703, 704, 1, 0, 0, 0, 704, 705, 6, 91, 1, 0, 705, 706, 6, 91, 2, 0, 706, 190, 1, 0, 0, 0, 707, 708, 3, 283, 138, 0, 708, 709, 7, 3, 0, 0, 709, 710, 1, 0, 0, 0, 710, 711, 6, 92, 1, 0, 711, 712, 6, 92, 3, 0, 712, 192, 1, 0, 0, 0, 713, 714, 3, 283, 138, 0, 714, 715, 7, 2, 0, 0, 715, 716, 7, 2, 0, 0, 716, 717, 7, 2, 0, 0, 717, 718, 1, 0, 0, 0, 718, 719, 6, 93, 1, 0, 719, 720, 6, 93, 4, 0, 720, 194, 1, 0, 0, 0, 721, 722, 3, 283, 138, 0, 722, 723, 7, 3, 0, 0, 723, 724, 7, 3, 0, 0, 724, 725, 7, 3, 0, 0, 725, 726, 1, 0, 0, 0, 726, 727, 6, 94, 1, 0, 727, 728, 6, 94, 5, 0, 728, 196, 1, 0, 0, 0, 729, 730, 9, 0, 0, 0, 730, 198, 1, 0, 0, 0, 731, 732, 7, 2, 0, 0, 732, 733, 1, 0, 0, 0, 733, 734, 6, 96, 6, 0, 734, 735, 6, 96, 7, 0, 735, 200, 1, 0, 0, 0, 736, 737, 3, 279, 136, 0, 737, 738, 1, 0, 0, 0, 738, 739, 6, 97, 8, 0, 739, 202, 1, 0, 0, 0, 740, 741, 5, 123, 0, 0, 741, 742, 1, 0, 0, 0, 742, 743, 6, 98, 9, 0, 743, 204, 1, 0, 0, 0, 744, 745, 7, 3, 0, 0, 745, 746, 1, 0, 0, 0, 746, 747, 6, 99, 6, 0, 747, 748, 6, 99, 7, 0, 748, 206, 1, 0, 0, 0, 749, 750, 3, 281, 137, 0, 750, 751, 1, 0, 0, 0, 751, 752, 6, 100, 8, 0, 752, 208, 1, 0, 0, 0, 753, 754, 5, 123, 0, 0, 754, 755, 1, 0, 0, 0, 755, 756, 6, 101, 9, 0, 756, 210, 1, 0, 0, 0, 757, 758, 7, 2, 0, 0, 758, 759, 7, 2, 0, 0, 759, 760, 7, 2, 0, 0, 760, 761, 1, 0, 0, 0, 761, 762, 6, 102, 6, 0, 762, 763, 6, 102, 7, 0, 763, 212, 1, 0, 0, 0, 764, 765, 3, 279, 136, 0, 765, 766, 1, 0, 0, 0, 766, 767, 6, 103, 8, 0, 767, 214, 1, 0, 0, 0, 768, 769, 5, 123, 0, 0, 769, 770, 1, 0, 0, 0, 770, 771, 6, 104, 9, 0, 771, 216, 1, 0, 0, 0, 772, 773, 7, 3, 0, 0, 773, 774, 7, 3, 0, 0, 774, 775, 7, 3, 0, 0, 775, 776, 1, 0, 0, 0, 776, 777, 6, 105, 6, 0, 777, 778, 6, 105, 7, 0, 778, 218, 1, 0, 0, 0, 779, 780, 3, 281, 137, 0, 780, 781, 1, 0, 0, 0, 781, 782, 6, 106, 8, 0, 782, 220, 1, 0, 0, 0, 783, 784, 5, 123, 0, 0, 784, 785, 1, 0, 0, 0, 785, 786, 6, 107, 9, 0, 786, 222, 1, 0, 0, 0, 787, 789, 3, 285, 139, 0, 788, 787, 1, 0, 0, 0, 789, 790, 1, 0, 0, 0, 790, 788, 1, 0, 0, 0, 790, 791, 1, 0, 0, 0, 791, 792, 1, 0, 0, 0, 792, 793, 6, 108, 8, 0, 793, 224, 1, 0, 0, 0, 794, 795, 5, 123, 0, 0, 795, 796, 1, 0, 0, 0, 796, 797, 6, 109, 9, 0, 797, 226, 1, 0, 0, 0, 798, 799, 5, 125, 0, 0, 799, 800, 1, 0, 0, 0, 800, 801, 6, 110, 10, 0, 801, 228, 1, 0, 0, 0, 802, 804, 3, 287, 140, 0, 803, 802, 1, 0, 0, 0, 804, 805, 1, 0, 0, 0, 805, 803, 1, 0, 0, 0, 805, 806, 1, 0, 0, 0, 806, 807, 1, 0, 0, 0, 807, 808, 6, 111, 8, 0, 808, 230, 1, 0, 0, 0, 809, 810, 5, 123, 0, 0, 810, 811, 1, 0, 0, 0, 811, 812, 6, 112, 9, 0, 812, 232, 1, 0, 0, 0, 813, 814, 5, 125, 0, 0, 814, 815, 1, 0, 0, 0, 815, 816, 6, 113, 10, 0, 816, 234, 1, 0, 0, 0, 817, 819, 3, 237, 115, 0, 818, 817, 1, 0, 0, 0, 818, 819, 1, 0, 0, 0, 819, 822, 1, 0, 0, 0, 820, 823, 3, 239, 116, 0, 821, 823, 3, 241, 117, 0, 822, 820, 1, 0, 0, 0, 822, 821, 1, 0, 0, 0, 823, 236, 1, 0, 0, 0, 824, 825, 7, 4, 0, 0, 825, 238, 1, 0, 0, 0, 826, 830, 5, 39, 0, 0, 827, 829, 3, 243, 118, 0, 828, 827, 1, 0, 0, 0, 829, 832, 1, 0, 0, 0, 830, 828, 1, 0, 0, 0, 830, 831, 1, 0, 0, 0, 831, 833, 1, 0, 0, 0, 832, 830, 1, 0, 0, 0, 833, 843, 5, 39, 0, 0, 834, 838, 5, 34, 0, 0, 835, 837, 3, 245, 119, 0, 836, 835, 1, 0, 0, 0, 837, 840, 1, 0, 0, 0, 838, 836, 1, 0, 0, 0, 838, 839, 1, 0, 0, 0, 839, 841, 1, 0, 0, 0, 840, 838, 1, 0, 0, 0, 841, 843, 5, 34, 0, 0, 842, 826, 1, 0, 0, 0, 842, 834, 1, 0, 0, 0, 843, 240, 1, 0, 0, 0, 844, 845, 5, 39, 0, 0, 845, 846, 5, 39, 0, 0, 846, 847, 5, 39, 0, 0, 847, 851, 1, 0, 0, 0, 848, 850, 3, 247, 120, 0, 849, 848, 1, 0, 0, 0, 850, 853, 1, 0, 0, 0, 851, 852, 1, 0, 0, 0, 851, 849, 1, 0, 0, 0, 852, 854, 1, 0, 0, 0, 853, 851, 1, 0, 0, 0, 854, 855, 5, 39, 0, 0, 855, 856, 5, 39, 0, 0, 856, 871, 5, 39, 0, 0, 857, 858, 5, 34, 0, 0, 858, 859, 5, 34, 0, 0, 859, 860, 5, 34, 0, 0, 860, 864, 1, 0, 0, 0, 861, 863, 3, 247, 120, 0, 862, 861, 1, 0, 0, 0, 863, 866, 1, 0, 0, 0, 864, 865, 1, 0, 0, 0, 864, 862, 1, 0, 0, 0, 865, 867, 1, 0, 0, 0, 866, 864, 1, 0, 0, 0, 867, 868, 5, 34, 0, 0, 868, 869, 5, 34, 0, 0, 869, 871, 5, 34, 0, 0, 870, 844, 1, 0, 0, 0, 870, 857, 1, 0, 0, 0, 871, 242, 1, 0, 0, 0, 872, 875, 3, 249, 121, 0, 873, 875, 3, 255, 124, 0, 874, 872, 1, 0, 0, 0, 874, 873, 1, 0, 0, 0, 875, 244, 1, 0, 0, 0, 876, 879, 3, 251, 122, 0, 877, 879, 3, 255, 124, 0, 878, 876, 1, 0, 0, 0, 878, 877, 1, 0, 0, 0, 879, 246, 1, 0, 0, 0, 880, 883, 3, 253, 123, 0, 881, 883, 3, 255, 124, 0, 882, 880, 1, 0, 0, 0, 882, 881, 1, 0, 0, 0, 883, 248, 1, 0, 0, 0, 884, 885, 8, 5, 0, 0, 885, 250, 1, 0, 0, 0, 886, 887, 8, 6, 0, 0, 887, 252, 1, 0, 0, 0, 888, 889, 8, 7, 0, 0, 889, 254, 1, 0, 0, 0, 890, 891, 5, 92, 0, 0, 891, 895, 3, 325, 159, 0, 892, 893, 5, 92, 0, 0, 893, 895, 9, 0, 0, 0, 894, 890, 1, 0, 0, 0, 894, 892, 1, 0, 0, 0, 895, 256, 1, 0, 0, 0, 896, 899, 3, 259, 126, 0, 897, 900, 3, 261, 127, 0, 898, 900, 3, 263, 128, 0, 899, 897, 1, 0, 0, 0, 899, 898, 1, 0, 0, 0, 900, 258, 1, 0, 0, 0, 901, 919, 7, 8, 0, 0, 902, 903, 5, 98, 0, 0, 903, 919, 5, 114, 0, 0, 904, 905, 5, 66, 0, 0, 905, 919, 5, 114, 0, 0, 906, 907, 5, 98, 0, 0, 907, 919, 5, 82, 0, 0, 908, 909, 5, 66, 0, 0, 909, 919, 5, 82, 0, 0, 910, 911, 5, 114, 0, 0, 911, 919, 5, 98, 0, 0, 912, 913, 5, 114, 0, 0, 913, 919, 5, 66, 0, 0, 914, 915, 5, 82, 0, 0, 915, 919, 5, 98, 0, 0, 916, 917, 5, 82, 0, 0, 917, 919, 5, 66, 0, 0, 918, 901, 1, 0, 0, 0, 918, 902, 1, 0, 0, 0, 918, 904, 1, 0, 0, 0, 918, 906, 1, 0, 0, 0, 918, 908, 1, 0, 0, 0, 918, 910, 1, 0, 0, 0, 918, 912, 1, 0, 0, 0, 918, 914, 1, 0, 0, 0, 918, 916, 1, 0, 0, 0, 919, 260, 1, 0, 0, 0, 920, 924, 5, 39, 0, 0, 921, 923, 3, 265, 129, 0, 922, 921, 1, 0, 0, 0, 923, 926, 1, 0, 0, 0, 924, 922, 1, 0, 0, 0, 924, 925, 1, 0, 0, 0, 925, 927, 1, 0, 0, 0, 926, 924, 1, 0, 0, 0, 927, 937, 5, 39, 0, 0, 928, 932, 5, 34, 0, 0, 929, 931, 3, 267, 130, 0, 930, 929, 1, 0, 0, 0, 931, 934, 1, 0, 0, 0, 932, 930, 1, 0, 0, 0, 932, 933, 1, 0, 0, 0, 933, 935, 1, 0, 0, 0, 934, 932, 1, 0, 0, 0, 935, 937, 5, 34, 0, 0, 936, 920, 1, 0, 0, 0, 936, 928, 1, 0, 0, 0, 937, 262, 1, 0, 0, 0, 938, 939, 5, 39, 0, 0, 939, 940, 5, 39, 0, 0, 940, 941, 5, 39, 0, 0, 941, 945, 1, 0, 0, 0, 942, 944, 3, 269, 131, 0, 943, 942, 1, 0, 0, 0, 944, 947, 1, 0, 0, 0, 945, 946, 1, 0, 0, 0, 945, 943, 1, 0, 0, 0, 946, 948, 1, 0, 0, 0, 947, 945, 1, 0, 0, 0, 948, 949, 5, 39, 0, 0, 949, 950, 5, 39, 0, 0, 950, 965, 5, 39, 0, 0, 951, 952, 5, 34, 0, 0, 952, 953, 5, 34, 0, 0, 953, 954, 5, 34, 0, 0, 954, 958, 1, 0, 0, 0, 955, 957, 3, 269, 131, 0, 956, 955, 1, 0, 0, 0, 957, 960, 1, 0, 0, 0, 958, 959, 1, 0, 0, 0, 958, 956, 1, 0, 0, 0, 959, 961, 1, 0, 0, 0, 960, 958, 1, 0, 0, 0, 961, 962, 5, 34, 0, 0, 962, 963, 5, 34, 0, 0, 963, 965, 5, 34, 0, 0, 964, 938, 1, 0, 0, 0, 964, 951, 1, 0, 0, 0, 965, 264, 1, 0, 0, 0, 966, 969, 3, 271, 132, 0, 967, 969, 3, 277, 135, 0, 968, 966, 1, 0, 0, 0, 968, 967, 1, 0, 0, 0, 969, 266, 1, 0, 0, 0, 970, 973, 3, 273, 133, 0, 971, 973, 3, 277, 135, 0, 972, 970, 1, 0, 0, 0, 972, 971, 1, 0, 0, 0, 973, 268, 1, 0, 0, 0, 974, 977, 3, 275, 134, 0, 975, 977, 3, 277, 135, 0, 976, 974, 1, 0, 0, 0, 976, 975, 1, 0, 0, 0, 977, 270, 1, 0, 0, 0, 978, 980, 7, 9, 0, 0, 979, 978, 1, 0, 0, 0, 980, 272, 1, 0, 0, 0, 981, 983, 7, 10, 0, 0, 982, 981, 1, 0, 0, 0, 983, 274, 1, 0, 0, 0, 984, 986, 7, 11, 0, 0, 985, 984, 1, 0, 0, 0, 986, 276, 1, 0, 0, 0, 987, 988, 5, 92, 0, 0, 988, 989, 7, 12, 0, 0, 989, 278, 1, 0, 0, 0, 990, 993, 3, 285, 139, 0, 991, 993, 3, 289, 141, 0, 992, 990, 1, 0, 0, 0, 992, 991, 1, 0, 0, 0, 993, 994, 1, 0, 0, 0, 994, 992, 1, 0, 0, 0, 994, 995, 1, 0, 0, 0, 995, 280, 1, 0, 0, 0, 996, 999, 3, 287, 140, 0, 997, 999, 3, 289, 141, 0, 998, 996, 1, 0, 0, 0, 998, 997, 1, 0, 0, 0, 999, 1e3, 1, 0, 0, 0, 1e3, 998, 1, 0, 0, 0, 1e3, 1001, 1, 0, 0, 0, 1001, 282, 1, 0, 0, 0, 1002, 1020, 7, 13, 0, 0, 1003, 1004, 5, 102, 0, 0, 1004, 1020, 5, 114, 0, 0, 1005, 1006, 5, 70, 0, 0, 1006, 1020, 5, 114, 0, 0, 1007, 1008, 5, 102, 0, 0, 1008, 1020, 5, 82, 0, 0, 1009, 1010, 5, 70, 0, 0, 1010, 1020, 5, 82, 0, 0, 1011, 1012, 5, 114, 0, 0, 1012, 1020, 5, 102, 0, 0, 1013, 1014, 5, 114, 0, 0, 1014, 1020, 5, 70, 0, 0, 1015, 1016, 5, 82, 0, 0, 1016, 1020, 5, 102, 0, 0, 1017, 1018, 5, 82, 0, 0, 1018, 1020, 5, 70, 0, 0, 1019, 1002, 1, 0, 0, 0, 1019, 1003, 1, 0, 0, 0, 1019, 1005, 1, 0, 0, 0, 1019, 1007, 1, 0, 0, 0, 1019, 1009, 1, 0, 0, 0, 1019, 1011, 1, 0, 0, 0, 1019, 1013, 1, 0, 0, 0, 1019, 1015, 1, 0, 0, 0, 1019, 1017, 1, 0, 0, 0, 1020, 284, 1, 0, 0, 0, 1021, 1022, 8, 14, 0, 0, 1022, 286, 1, 0, 0, 0, 1023, 1024, 8, 15, 0, 0, 1024, 288, 1, 0, 0, 0, 1025, 1026, 5, 123, 0, 0, 1026, 1030, 5, 123, 0, 0, 1027, 1028, 5, 125, 0, 0, 1028, 1030, 5, 125, 0, 0, 1029, 1025, 1, 0, 0, 0, 1029, 1027, 1, 0, 0, 0, 1030, 290, 1, 0, 0, 0, 1031, 1036, 3, 293, 143, 0, 1032, 1036, 3, 295, 144, 0, 1033, 1036, 3, 297, 145, 0, 1034, 1036, 3, 299, 146, 0, 1035, 1031, 1, 0, 0, 0, 1035, 1032, 1, 0, 0, 0, 1035, 1033, 1, 0, 0, 0, 1035, 1034, 1, 0, 0, 0, 1036, 292, 1, 0, 0, 0, 1037, 1044, 3, 301, 147, 0, 1038, 1040, 5, 95, 0, 0, 1039, 1038, 1, 0, 0, 0, 1039, 1040, 1, 0, 0, 0, 1040, 1041, 1, 0, 0, 0, 1041, 1043, 3, 303, 148, 0, 1042, 1039, 1, 0, 0, 0, 1043, 1046, 1, 0, 0, 0, 1044, 1042, 1, 0, 0, 0, 1044, 1045, 1, 0, 0, 0, 1045, 1062, 1, 0, 0, 0, 1046, 1044, 1, 0, 0, 0, 1047, 1049, 5, 48, 0, 0, 1048, 1047, 1, 0, 0, 0, 1049, 1050, 1, 0, 0, 0, 1050, 1048, 1, 0, 0, 0, 1050, 1051, 1, 0, 0, 0, 1051, 1058, 1, 0, 0, 0, 1052, 1054, 5, 95, 0, 0, 1053, 1052, 1, 0, 0, 0, 1053, 1054, 1, 0, 0, 0, 1054, 1055, 1, 0, 0, 0, 1055, 1057, 5, 48, 0, 0, 1056, 1053, 1, 0, 0, 0, 1057, 1060, 1, 0, 0, 0, 1058, 1056, 1, 0, 0, 0, 1058, 1059, 1, 0, 0, 0, 1059, 1062, 1, 0, 0, 0, 1060, 1058, 1, 0, 0, 0, 1061, 1037, 1, 0, 0, 0, 1061, 1048, 1, 0, 0, 0, 1062, 294, 1, 0, 0, 0, 1063, 1064, 5, 48, 0, 0, 1064, 1069, 7, 8, 0, 0, 1065, 1067, 5, 95, 0, 0, 1066, 1065, 1, 0, 0, 0, 1066, 1067, 1, 0, 0, 0, 1067, 1068, 1, 0, 0, 0, 1068, 1070, 3, 305, 149, 0, 1069, 1066, 1, 0, 0, 0, 1070, 1071, 1, 0, 0, 0, 1071, 1069, 1, 0, 0, 0, 1071, 1072, 1, 0, 0, 0, 1072, 296, 1, 0, 0, 0, 1073, 1074, 5, 48, 0, 0, 1074, 1079, 7, 16, 0, 0, 1075, 1077, 5, 95, 0, 0, 1076, 1075, 1, 0, 0, 0, 1076, 1077, 1, 0, 0, 0, 1077, 1078, 1, 0, 0, 0, 1078, 1080, 3, 307, 150, 0, 1079, 1076, 1, 0, 0, 0, 1080, 1081, 1, 0, 0, 0, 1081, 1079, 1, 0, 0, 0, 1081, 1082, 1, 0, 0, 0, 1082, 298, 1, 0, 0, 0, 1083, 1084, 5, 48, 0, 0, 1084, 1089, 7, 17, 0, 0, 1085, 1087, 5, 95, 0, 0, 1086, 1085, 1, 0, 0, 0, 1086, 1087, 1, 0, 0, 0, 1087, 1088, 1, 0, 0, 0, 1088, 1090, 3, 309, 151, 0, 1089, 1086, 1, 0, 0, 0, 1090, 1091, 1, 0, 0, 0, 1091, 1089, 1, 0, 0, 0, 1091, 1092, 1, 0, 0, 0, 1092, 300, 1, 0, 0, 0, 1093, 1094, 7, 18, 0, 0, 1094, 302, 1, 0, 0, 0, 1095, 1096, 7, 19, 0, 0, 1096, 304, 1, 0, 0, 0, 1097, 1098, 2, 48, 49, 0, 1098, 306, 1, 0, 0, 0, 1099, 1100, 7, 20, 0, 0, 1100, 308, 1, 0, 0, 0, 1101, 1104, 3, 303, 148, 0, 1102, 1104, 7, 21, 0, 0, 1103, 1101, 1, 0, 0, 0, 1103, 1102, 1, 0, 0, 0, 1104, 310, 1, 0, 0, 0, 1105, 1108, 3, 313, 153, 0, 1106, 1108, 3, 315, 154, 0, 1107, 1105, 1, 0, 0, 0, 1107, 1106, 1, 0, 0, 0, 1108, 312, 1, 0, 0, 0, 1109, 1111, 3, 317, 155, 0, 1110, 1109, 1, 0, 0, 0, 1110, 1111, 1, 0, 0, 0, 1111, 1112, 1, 0, 0, 0, 1112, 1117, 3, 319, 156, 0, 1113, 1114, 3, 317, 155, 0, 1114, 1115, 5, 46, 0, 0, 1115, 1117, 1, 0, 0, 0, 1116, 1110, 1, 0, 0, 0, 1116, 1113, 1, 0, 0, 0, 1117, 314, 1, 0, 0, 0, 1118, 1121, 3, 317, 155, 0, 1119, 1121, 3, 313, 153, 0, 1120, 1118, 1, 0, 0, 0, 1120, 1119, 1, 0, 0, 0, 1121, 1122, 1, 0, 0, 0, 1122, 1123, 3, 321, 157, 0, 1123, 316, 1, 0, 0, 0, 1124, 1131, 3, 303, 148, 0, 1125, 1127, 5, 95, 0, 0, 1126, 1125, 1, 0, 0, 0, 1126, 1127, 1, 0, 0, 0, 1127, 1128, 1, 0, 0, 0, 1128, 1130, 3, 303, 148, 0, 1129, 1126, 1, 0, 0, 0, 1130, 1133, 1, 0, 0, 0, 1131, 1129, 1, 0, 0, 0, 1131, 1132, 1, 0, 0, 0, 1132, 318, 1, 0, 0, 0, 1133, 1131, 1, 0, 0, 0, 1134, 1135, 5, 46, 0, 0, 1135, 1136, 3, 317, 155, 0, 1136, 320, 1, 0, 0, 0, 1137, 1139, 7, 22, 0, 0, 1138, 1140, 7, 23, 0, 0, 1139, 1138, 1, 0, 0, 0, 1139, 1140, 1, 0, 0, 0, 1140, 1141, 1, 0, 0, 0, 1141, 1142, 3, 317, 155, 0, 1142, 322, 1, 0, 0, 0, 1143, 1146, 3, 311, 152, 0, 1144, 1146, 3, 317, 155, 0, 1145, 1143, 1, 0, 0, 0, 1145, 1144, 1, 0, 0, 0, 1146, 1147, 1, 0, 0, 0, 1147, 1148, 7, 24, 0, 0, 1148, 324, 1, 0, 0, 0, 1149, 1151, 5, 13, 0, 0, 1150, 1149, 1, 0, 0, 0, 1150, 1151, 1, 0, 0, 0, 1151, 1152, 1, 0, 0, 0, 1152, 1153, 5, 10, 0, 0, 1153, 326, 1, 0, 0, 0, 1154, 1157, 3, 329, 161, 0, 1155, 1157, 7, 25, 0, 0, 1156, 1154, 1, 0, 0, 0, 1156, 1155, 1, 0, 0, 0, 1157, 328, 1, 0, 0, 0, 1158, 1159, 7, 26, 0, 0, 1159, 330, 1, 0, 0, 0, 72, 0, 1, 2, 3, 4, 5, 6, 650, 656, 660, 664, 675, 684, 692, 790, 805, 818, 822, 830, 838, 842, 851, 864, 870, 874, 878, 882, 894, 899, 918, 924, 932, 936, 945, 958, 964, 968, 972, 976, 979, 982, 985, 992, 994, 998, 1e3, 1019, 1029, 1035, 1039, 1044, 1050, 1053, 1058, 1061, 1066, 1071, 1076, 1081, 1086, 1091, 1103, 1107, 1110, 1116, 1120, 1126, 1131, 1139, 1145, 1150, 1156, 11, 0, 1, 0, 7, 3, 0, 5, 1, 0, 5, 2, 0, 5, 3, 0, 5, 4, 0, 7, 5, 0, 4, 0, 0, 7, 4, 0, 7, 43, 0, 7, 46, 0 ]} static get _ATN() { if (!_PythonLexer.__ATN) { _PythonLexer.__ATN = new (0, _antlr4.ATNDeserializer)().deserialize(_PythonLexer._serializedATN); } return _PythonLexer.__ATN; } static __initStatic420() {this.DecisionsToDFA = _PythonLexer._ATN.decisionToState.map((ds, index) => new (0, _antlr4.DFA)(ds, index))} }, _class14.__initStatic310(), _class14.__initStatic311(), _class14.__initStatic312(), _class14.__initStatic313(), _class14.__initStatic314(), _class14.__initStatic315(), _class14.__initStatic316(), _class14.__initStatic317(), _class14.__initStatic318(), _class14.__initStatic319(), _class14.__initStatic320(), _class14.__initStatic321(), _class14.__initStatic322(), _class14.__initStatic323(), _class14.__initStatic324(), _class14.__initStatic325(), _class14.__initStatic326(), _class14.__initStatic327(), _class14.__initStatic328(), _class14.__initStatic329(), _class14.__initStatic330(), _class14.__initStatic331(), _class14.__initStatic332(), _class14.__initStatic333(), _class14.__initStatic334(), _class14.__initStatic335(), _class14.__initStatic336(), _class14.__initStatic337(), _class14.__initStatic338(), _class14.__initStatic339(), _class14.__initStatic340(), _class14.__initStatic341(), _class14.__initStatic342(), _class14.__initStatic343(), _class14.__initStatic344(), _class14.__initStatic345(), _class14.__initStatic346(), _class14.__initStatic347(), _class14.__initStatic348(), _class14.__initStatic349(), _class14.__initStatic350(), _class14.__initStatic351(), _class14.__initStatic352(), _class14.__initStatic353(), _class14.__initStatic354(), _class14.__initStatic355(), _class14.__initStatic356(), _class14.__initStatic357(), _class14.__initStatic358(), _class14.__initStatic359(), _class14.__initStatic360(), _class14.__initStatic361(), _class14.__initStatic362(), _class14.__initStatic363(), _class14.__initStatic364(), _class14.__initStatic365(), _class14.__initStatic366(), _class14.__initStatic367(), _class14.__initStatic368(), _class14.__initStatic369(), _class14.__initStatic370(), _class14.__initStatic371(), _class14.__initStatic372(), _class14.__initStatic373(), _class14.__initStatic374(), _class14.__initStatic375(), _class14.__initStatic376(), _class14.__initStatic377(), _class14.__initStatic378(), _class14.__initStatic379(), _class14.__initStatic380(), _class14.__initStatic381(), _class14.__initStatic382(), _class14.__initStatic383(), _class14.__initStatic384(), _class14.__initStatic385(), _class14.__initStatic386(), _class14.__initStatic387(), _class14.__initStatic388(), _class14.__initStatic389(), _class14.__initStatic390(), _class14.__initStatic391(), _class14.__initStatic392(), _class14.__initStatic393(), _class14.__initStatic394(), _class14.__initStatic395(), _class14.__initStatic396(), _class14.__initStatic397(), _class14.__initStatic398(), _class14.__initStatic399(), _class14.__initStatic400(), _class14.__initStatic401(), _class14.__initStatic402(), _class14.__initStatic403(), _class14.__initStatic404(), _class14.__initStatic405(), _class14.__initStatic406(), _class14.__initStatic407(), _class14.__initStatic408(), _class14.__initStatic409(), _class14.__initStatic410(), _class14.__initStatic411(), _class14.__initStatic412(), _class14.__initStatic413(), _class14.__initStatic414(), _class14.__initStatic415(), _class14.__initStatic416(), _class14.__initStatic417(), _class14.__initStatic418(), _class14.__initStatic419(), _class14.__initStatic420(), _class14); // src/python/PyParser.ts function parsePythonSource(sourceCode) { const inputStream = new _antlr42.default.InputStream(sourceCode); ; const lexer = new PythonLexer(inputStream); const tokenStream = new _antlr42.default.CommonTokenStream(lexer); const parser = new PythonParser(tokenStream); const tree = parser.file_input(); return tree; } exports.PyClass = PyClass; exports.PyCodeBlock = PyCodeBlock; exports.PyFile = PyFile; exports.PyFunction = PyFunction; exports.Thresholds = Thresholds; exports.parsePythonSource = parsePythonSource; //# sourceMappingURL=index.cjs.map