python3-parser 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +13 -0
- data/README.md +59 -0
- data/Rakefile +21 -0
- data/ext/python3-parser/Python3LexerBase.cpp +112 -0
- data/ext/python3-parser/Python3LexerBase.h +34 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +10 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.h +167 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +10 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +121 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +34 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +27 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +155 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +69 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +61 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.h +59 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.cpp +25 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.h +36 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +414 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.h +200 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.cpp +11 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.h +37 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +195 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.h +158 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +39 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +74 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.cpp +78 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.h +79 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +15 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.h +35 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +333 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +466 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +84 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +80 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +64 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +99 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +51 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +32 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.cpp +18 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.h +24 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.cpp +12 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +218 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +19 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.h +45 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +295 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +196 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +75 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +52 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +36 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.h +31 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +92 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +88 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.cpp +46 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.h +42 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +648 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +467 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +306 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +179 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +141 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +147 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +53 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.h +38 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +66 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.h +98 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +167 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +164 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +143 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +137 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +27 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +32 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +53 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.h +155 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.cpp +9 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +92 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenFactory.h +30 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.cpp +9 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +85 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.cpp +11 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.h +137 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +425 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +293 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +211 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +123 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +270 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +115 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +104 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +193 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.cpp +9 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.h +23 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +137 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +167 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +209 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +112 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +113 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +148 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +228 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +110 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +64 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +50 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +758 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +85 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.cpp +621 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.h +61 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +63 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +87 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +72 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +133 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNType.h +20 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.cpp +14 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.h +24 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +33 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +33 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +16 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +68 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +82 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +43 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +31 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +30 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.cpp +12 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +22 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.cpp +12 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +21 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.cpp +15 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +24 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.cpp +9 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +21 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +14 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +47 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +14 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +70 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +25 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +227 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +17 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +30 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.cpp +35 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.h +27 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +35 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +39 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +15 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.h +43 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +158 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +109 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +84 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +44 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +628 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +210 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +9 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +66 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +107 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +115 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +55 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +55 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +63 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +62 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +87 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +63 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +82 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +56 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +61 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +47 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +57 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +47 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +57 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +56 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +61 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +47 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +55 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +56 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +55 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +16 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +42 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.cpp +12 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +22 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +27 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +25 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +12 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +20 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +102 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.h +102 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +1366 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +904 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.cpp +12 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +25 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.cpp +12 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +22 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +32 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +29 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +17 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +62 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +34 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +39 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +662 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +254 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +201 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +436 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +179 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +60 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +30 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +29 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.cpp +16 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +25 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.cpp +12 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +25 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +37 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +40 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +377 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +222 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +32 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +30 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +81 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +36 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.cpp +12 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +21 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.cpp +15 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +35 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +19 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +21 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.cpp +12 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +21 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +44 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +76 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +25 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +25 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +127 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +91 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +67 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +32 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +100 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +144 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +20 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +23 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +124 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +31 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +89 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +84 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +521 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +198 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +134 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +76 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.cpp +4 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.h +21 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +13 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +170 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +43 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +110 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +76 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +248 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +78 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +163 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +36 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +54 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.cpp +303 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.h +112 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +128 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.cpp +9 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +19 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +23 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +33 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +71 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +53 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +15 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +102 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +9 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +39 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +50 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +9 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +57 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +49 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +31 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.cpp +9 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +32 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +57 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +33 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +241 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.h +78 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +9 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +44 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +69 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +132 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +64 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +105 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +371 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +185 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +77 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +117 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +39 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +86 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +28 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +51 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +36 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +80 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +154 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.h +86 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +31 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +40 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +173 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +56 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +13 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +22 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +20 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +27 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +30 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +26 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +20 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +25 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +33 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +26 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +23 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +23 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +24 -0
- data/ext/python3-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +23 -0
- data/ext/python3-parser/antlrgen/Python3Lexer.cpp +1024 -0
- data/ext/python3-parser/antlrgen/Python3Lexer.h +91 -0
- data/ext/python3-parser/antlrgen/Python3Lexer.interp +339 -0
- data/ext/python3-parser/antlrgen/Python3Lexer.tokens +181 -0
- data/ext/python3-parser/antlrgen/Python3Parser.cpp +10550 -0
- data/ext/python3-parser/antlrgen/Python3Parser.h +1811 -0
- data/ext/python3-parser/antlrgen/Python3Parser.interp +295 -0
- data/ext/python3-parser/antlrgen/Python3Parser.tokens +181 -0
- data/ext/python3-parser/antlrgen/Python3ParserBaseListener.cpp +7 -0
- data/ext/python3-parser/antlrgen/Python3ParserBaseListener.h +284 -0
- data/ext/python3-parser/antlrgen/Python3ParserBaseVisitor.cpp +7 -0
- data/ext/python3-parser/antlrgen/Python3ParserBaseVisitor.h +364 -0
- data/ext/python3-parser/antlrgen/Python3ParserListener.cpp +7 -0
- data/ext/python3-parser/antlrgen/Python3ParserListener.h +277 -0
- data/ext/python3-parser/antlrgen/Python3ParserVisitor.cpp +7 -0
- data/ext/python3-parser/antlrgen/Python3ParserVisitor.h +196 -0
- data/ext/python3-parser/extconf.rb +34 -0
- data/ext/python3-parser/python3_parser.cpp +10103 -0
- data/lib/python3-parser.rb +2 -0
- data/lib/python3-parser/version.rb +3 -0
- data/python3-parser.gemspec +31 -0
- data/spec/parser_spec.rb +105 -0
- data/spec/spec_helper.rb +9 -0
- metadata +391 -0
@@ -0,0 +1,91 @@
|
|
1
|
+
|
2
|
+
#include "Python3LexerBase.h"
|
3
|
+
#include "Python3Parser.h"
|
4
|
+
#include <regex>
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
// Generated from Python3Lexer.g4 by ANTLR 4.8
|
9
|
+
|
10
|
+
#pragma once
|
11
|
+
|
12
|
+
|
13
|
+
#include "antlr4-runtime.h"
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
class Python3Lexer : public Python3LexerBase {
|
19
|
+
public:
|
20
|
+
enum {
|
21
|
+
INDENT = 1, DEDENT = 2, STRING = 3, NUMBER = 4, INTEGER = 5, DEF = 6,
|
22
|
+
RETURN = 7, RAISE = 8, FROM = 9, IMPORT = 10, AS = 11, GLOBAL = 12,
|
23
|
+
NONLOCAL = 13, ASSERT = 14, IF = 15, ELIF = 16, ELSE = 17, WHILE = 18,
|
24
|
+
FOR = 19, IN = 20, TRY = 21, FINALLY = 22, WITH = 23, EXCEPT = 24, LAMBDA = 25,
|
25
|
+
OR = 26, AND = 27, NOT = 28, IS = 29, NONE = 30, TRUE = 31, FALSE = 32,
|
26
|
+
CLASS = 33, YIELD = 34, DEL = 35, PASS = 36, CONTINUE = 37, BREAK = 38,
|
27
|
+
ASYNC = 39, AWAIT = 40, NEWLINE = 41, NAME = 42, STRING_LITERAL = 43,
|
28
|
+
BYTES_LITERAL = 44, DECIMAL_INTEGER = 45, OCT_INTEGER = 46, HEX_INTEGER = 47,
|
29
|
+
BIN_INTEGER = 48, FLOAT_NUMBER = 49, IMAG_NUMBER = 50, DOT = 51, ELLIPSIS = 52,
|
30
|
+
STAR = 53, OPEN_PAREN = 54, CLOSE_PAREN = 55, COMMA = 56, COLON = 57,
|
31
|
+
SEMI_COLON = 58, POWER = 59, ASSIGN = 60, OPEN_BRACK = 61, CLOSE_BRACK = 62,
|
32
|
+
OR_OP = 63, XOR = 64, AND_OP = 65, LEFT_SHIFT = 66, RIGHT_SHIFT = 67,
|
33
|
+
ADD = 68, MINUS = 69, DIV = 70, MOD = 71, IDIV = 72, NOT_OP = 73, OPEN_BRACE = 74,
|
34
|
+
CLOSE_BRACE = 75, LESS_THAN = 76, GREATER_THAN = 77, EQUALS = 78, GT_EQ = 79,
|
35
|
+
LT_EQ = 80, NOT_EQ_1 = 81, NOT_EQ_2 = 82, AT = 83, ARROW = 84, ADD_ASSIGN = 85,
|
36
|
+
SUB_ASSIGN = 86, MULT_ASSIGN = 87, AT_ASSIGN = 88, DIV_ASSIGN = 89,
|
37
|
+
MOD_ASSIGN = 90, AND_ASSIGN = 91, OR_ASSIGN = 92, XOR_ASSIGN = 93, LEFT_SHIFT_ASSIGN = 94,
|
38
|
+
RIGHT_SHIFT_ASSIGN = 95, POWER_ASSIGN = 96, IDIV_ASSIGN = 97, SKIP_ = 98,
|
39
|
+
UNKNOWN_CHAR = 99
|
40
|
+
};
|
41
|
+
|
42
|
+
Python3Lexer(antlr4::CharStream *input);
|
43
|
+
~Python3Lexer();
|
44
|
+
|
45
|
+
virtual std::string getGrammarFileName() const override;
|
46
|
+
virtual const std::vector<std::string>& getRuleNames() const override;
|
47
|
+
|
48
|
+
virtual const std::vector<std::string>& getChannelNames() const override;
|
49
|
+
virtual const std::vector<std::string>& getModeNames() const override;
|
50
|
+
virtual const std::vector<std::string>& getTokenNames() const override; // deprecated, use vocabulary instead
|
51
|
+
virtual antlr4::dfa::Vocabulary& getVocabulary() const override;
|
52
|
+
|
53
|
+
virtual const std::vector<uint16_t> getSerializedATN() const override;
|
54
|
+
virtual const antlr4::atn::ATN& getATN() const override;
|
55
|
+
|
56
|
+
virtual void action(antlr4::RuleContext *context, size_t ruleIndex, size_t actionIndex) override;
|
57
|
+
virtual bool sempred(antlr4::RuleContext *_localctx, size_t ruleIndex, size_t predicateIndex) override;
|
58
|
+
|
59
|
+
private:
|
60
|
+
static std::vector<antlr4::dfa::DFA> _decisionToDFA;
|
61
|
+
static antlr4::atn::PredictionContextCache _sharedContextCache;
|
62
|
+
static std::vector<std::string> _ruleNames;
|
63
|
+
static std::vector<std::string> _tokenNames;
|
64
|
+
static std::vector<std::string> _channelNames;
|
65
|
+
static std::vector<std::string> _modeNames;
|
66
|
+
|
67
|
+
static std::vector<std::string> _literalNames;
|
68
|
+
static std::vector<std::string> _symbolicNames;
|
69
|
+
static antlr4::dfa::Vocabulary _vocabulary;
|
70
|
+
static antlr4::atn::ATN _atn;
|
71
|
+
static std::vector<uint16_t> _serializedATN;
|
72
|
+
|
73
|
+
|
74
|
+
// Individual action functions triggered by action() above.
|
75
|
+
void NEWLINEAction(antlr4::RuleContext *context, size_t actionIndex);
|
76
|
+
void OPEN_PARENAction(antlr4::RuleContext *context, size_t actionIndex);
|
77
|
+
void CLOSE_PARENAction(antlr4::RuleContext *context, size_t actionIndex);
|
78
|
+
void OPEN_BRACKAction(antlr4::RuleContext *context, size_t actionIndex);
|
79
|
+
void CLOSE_BRACKAction(antlr4::RuleContext *context, size_t actionIndex);
|
80
|
+
void OPEN_BRACEAction(antlr4::RuleContext *context, size_t actionIndex);
|
81
|
+
void CLOSE_BRACEAction(antlr4::RuleContext *context, size_t actionIndex);
|
82
|
+
|
83
|
+
// Individual semantic predicate functions triggered by sempred() above.
|
84
|
+
bool NEWLINESempred(antlr4::RuleContext *_localctx, size_t predicateIndex);
|
85
|
+
|
86
|
+
struct Initializer {
|
87
|
+
Initializer();
|
88
|
+
};
|
89
|
+
static Initializer _init;
|
90
|
+
};
|
91
|
+
|
@@ -0,0 +1,339 @@
|
|
1
|
+
token literal names:
|
2
|
+
null
|
3
|
+
null
|
4
|
+
null
|
5
|
+
null
|
6
|
+
null
|
7
|
+
null
|
8
|
+
'def'
|
9
|
+
'return'
|
10
|
+
'raise'
|
11
|
+
'from'
|
12
|
+
'import'
|
13
|
+
'as'
|
14
|
+
'global'
|
15
|
+
'nonlocal'
|
16
|
+
'assert'
|
17
|
+
'if'
|
18
|
+
'elif'
|
19
|
+
'else'
|
20
|
+
'while'
|
21
|
+
'for'
|
22
|
+
'in'
|
23
|
+
'try'
|
24
|
+
'finally'
|
25
|
+
'with'
|
26
|
+
'except'
|
27
|
+
'lambda'
|
28
|
+
'or'
|
29
|
+
'and'
|
30
|
+
'not'
|
31
|
+
'is'
|
32
|
+
'None'
|
33
|
+
'True'
|
34
|
+
'False'
|
35
|
+
'class'
|
36
|
+
'yield'
|
37
|
+
'del'
|
38
|
+
'pass'
|
39
|
+
'continue'
|
40
|
+
'break'
|
41
|
+
'async'
|
42
|
+
'await'
|
43
|
+
null
|
44
|
+
null
|
45
|
+
null
|
46
|
+
null
|
47
|
+
null
|
48
|
+
null
|
49
|
+
null
|
50
|
+
null
|
51
|
+
null
|
52
|
+
null
|
53
|
+
'.'
|
54
|
+
'...'
|
55
|
+
'*'
|
56
|
+
'('
|
57
|
+
')'
|
58
|
+
','
|
59
|
+
':'
|
60
|
+
';'
|
61
|
+
'**'
|
62
|
+
'='
|
63
|
+
'['
|
64
|
+
']'
|
65
|
+
'|'
|
66
|
+
'^'
|
67
|
+
'&'
|
68
|
+
'<<'
|
69
|
+
'>>'
|
70
|
+
'+'
|
71
|
+
'-'
|
72
|
+
'/'
|
73
|
+
'%'
|
74
|
+
'//'
|
75
|
+
'~'
|
76
|
+
'{'
|
77
|
+
'}'
|
78
|
+
'<'
|
79
|
+
'>'
|
80
|
+
'=='
|
81
|
+
'>='
|
82
|
+
'<='
|
83
|
+
'<>'
|
84
|
+
'!='
|
85
|
+
'@'
|
86
|
+
'->'
|
87
|
+
'+='
|
88
|
+
'-='
|
89
|
+
'*='
|
90
|
+
'@='
|
91
|
+
'/='
|
92
|
+
'%='
|
93
|
+
'&='
|
94
|
+
'|='
|
95
|
+
'^='
|
96
|
+
'<<='
|
97
|
+
'>>='
|
98
|
+
'**='
|
99
|
+
'//='
|
100
|
+
null
|
101
|
+
null
|
102
|
+
|
103
|
+
token symbolic names:
|
104
|
+
null
|
105
|
+
INDENT
|
106
|
+
DEDENT
|
107
|
+
STRING
|
108
|
+
NUMBER
|
109
|
+
INTEGER
|
110
|
+
DEF
|
111
|
+
RETURN
|
112
|
+
RAISE
|
113
|
+
FROM
|
114
|
+
IMPORT
|
115
|
+
AS
|
116
|
+
GLOBAL
|
117
|
+
NONLOCAL
|
118
|
+
ASSERT
|
119
|
+
IF
|
120
|
+
ELIF
|
121
|
+
ELSE
|
122
|
+
WHILE
|
123
|
+
FOR
|
124
|
+
IN
|
125
|
+
TRY
|
126
|
+
FINALLY
|
127
|
+
WITH
|
128
|
+
EXCEPT
|
129
|
+
LAMBDA
|
130
|
+
OR
|
131
|
+
AND
|
132
|
+
NOT
|
133
|
+
IS
|
134
|
+
NONE
|
135
|
+
TRUE
|
136
|
+
FALSE
|
137
|
+
CLASS
|
138
|
+
YIELD
|
139
|
+
DEL
|
140
|
+
PASS
|
141
|
+
CONTINUE
|
142
|
+
BREAK
|
143
|
+
ASYNC
|
144
|
+
AWAIT
|
145
|
+
NEWLINE
|
146
|
+
NAME
|
147
|
+
STRING_LITERAL
|
148
|
+
BYTES_LITERAL
|
149
|
+
DECIMAL_INTEGER
|
150
|
+
OCT_INTEGER
|
151
|
+
HEX_INTEGER
|
152
|
+
BIN_INTEGER
|
153
|
+
FLOAT_NUMBER
|
154
|
+
IMAG_NUMBER
|
155
|
+
DOT
|
156
|
+
ELLIPSIS
|
157
|
+
STAR
|
158
|
+
OPEN_PAREN
|
159
|
+
CLOSE_PAREN
|
160
|
+
COMMA
|
161
|
+
COLON
|
162
|
+
SEMI_COLON
|
163
|
+
POWER
|
164
|
+
ASSIGN
|
165
|
+
OPEN_BRACK
|
166
|
+
CLOSE_BRACK
|
167
|
+
OR_OP
|
168
|
+
XOR
|
169
|
+
AND_OP
|
170
|
+
LEFT_SHIFT
|
171
|
+
RIGHT_SHIFT
|
172
|
+
ADD
|
173
|
+
MINUS
|
174
|
+
DIV
|
175
|
+
MOD
|
176
|
+
IDIV
|
177
|
+
NOT_OP
|
178
|
+
OPEN_BRACE
|
179
|
+
CLOSE_BRACE
|
180
|
+
LESS_THAN
|
181
|
+
GREATER_THAN
|
182
|
+
EQUALS
|
183
|
+
GT_EQ
|
184
|
+
LT_EQ
|
185
|
+
NOT_EQ_1
|
186
|
+
NOT_EQ_2
|
187
|
+
AT
|
188
|
+
ARROW
|
189
|
+
ADD_ASSIGN
|
190
|
+
SUB_ASSIGN
|
191
|
+
MULT_ASSIGN
|
192
|
+
AT_ASSIGN
|
193
|
+
DIV_ASSIGN
|
194
|
+
MOD_ASSIGN
|
195
|
+
AND_ASSIGN
|
196
|
+
OR_ASSIGN
|
197
|
+
XOR_ASSIGN
|
198
|
+
LEFT_SHIFT_ASSIGN
|
199
|
+
RIGHT_SHIFT_ASSIGN
|
200
|
+
POWER_ASSIGN
|
201
|
+
IDIV_ASSIGN
|
202
|
+
SKIP_
|
203
|
+
UNKNOWN_CHAR
|
204
|
+
|
205
|
+
rule names:
|
206
|
+
STRING
|
207
|
+
NUMBER
|
208
|
+
INTEGER
|
209
|
+
DEF
|
210
|
+
RETURN
|
211
|
+
RAISE
|
212
|
+
FROM
|
213
|
+
IMPORT
|
214
|
+
AS
|
215
|
+
GLOBAL
|
216
|
+
NONLOCAL
|
217
|
+
ASSERT
|
218
|
+
IF
|
219
|
+
ELIF
|
220
|
+
ELSE
|
221
|
+
WHILE
|
222
|
+
FOR
|
223
|
+
IN
|
224
|
+
TRY
|
225
|
+
FINALLY
|
226
|
+
WITH
|
227
|
+
EXCEPT
|
228
|
+
LAMBDA
|
229
|
+
OR
|
230
|
+
AND
|
231
|
+
NOT
|
232
|
+
IS
|
233
|
+
NONE
|
234
|
+
TRUE
|
235
|
+
FALSE
|
236
|
+
CLASS
|
237
|
+
YIELD
|
238
|
+
DEL
|
239
|
+
PASS
|
240
|
+
CONTINUE
|
241
|
+
BREAK
|
242
|
+
ASYNC
|
243
|
+
AWAIT
|
244
|
+
NEWLINE
|
245
|
+
NAME
|
246
|
+
STRING_LITERAL
|
247
|
+
BYTES_LITERAL
|
248
|
+
DECIMAL_INTEGER
|
249
|
+
OCT_INTEGER
|
250
|
+
HEX_INTEGER
|
251
|
+
BIN_INTEGER
|
252
|
+
FLOAT_NUMBER
|
253
|
+
IMAG_NUMBER
|
254
|
+
DOT
|
255
|
+
ELLIPSIS
|
256
|
+
STAR
|
257
|
+
OPEN_PAREN
|
258
|
+
CLOSE_PAREN
|
259
|
+
COMMA
|
260
|
+
COLON
|
261
|
+
SEMI_COLON
|
262
|
+
POWER
|
263
|
+
ASSIGN
|
264
|
+
OPEN_BRACK
|
265
|
+
CLOSE_BRACK
|
266
|
+
OR_OP
|
267
|
+
XOR
|
268
|
+
AND_OP
|
269
|
+
LEFT_SHIFT
|
270
|
+
RIGHT_SHIFT
|
271
|
+
ADD
|
272
|
+
MINUS
|
273
|
+
DIV
|
274
|
+
MOD
|
275
|
+
IDIV
|
276
|
+
NOT_OP
|
277
|
+
OPEN_BRACE
|
278
|
+
CLOSE_BRACE
|
279
|
+
LESS_THAN
|
280
|
+
GREATER_THAN
|
281
|
+
EQUALS
|
282
|
+
GT_EQ
|
283
|
+
LT_EQ
|
284
|
+
NOT_EQ_1
|
285
|
+
NOT_EQ_2
|
286
|
+
AT
|
287
|
+
ARROW
|
288
|
+
ADD_ASSIGN
|
289
|
+
SUB_ASSIGN
|
290
|
+
MULT_ASSIGN
|
291
|
+
AT_ASSIGN
|
292
|
+
DIV_ASSIGN
|
293
|
+
MOD_ASSIGN
|
294
|
+
AND_ASSIGN
|
295
|
+
OR_ASSIGN
|
296
|
+
XOR_ASSIGN
|
297
|
+
LEFT_SHIFT_ASSIGN
|
298
|
+
RIGHT_SHIFT_ASSIGN
|
299
|
+
POWER_ASSIGN
|
300
|
+
IDIV_ASSIGN
|
301
|
+
SKIP_
|
302
|
+
UNKNOWN_CHAR
|
303
|
+
SHORT_STRING
|
304
|
+
LONG_STRING
|
305
|
+
LONG_STRING_ITEM
|
306
|
+
LONG_STRING_CHAR
|
307
|
+
STRING_ESCAPE_SEQ
|
308
|
+
NON_ZERO_DIGIT
|
309
|
+
DIGIT
|
310
|
+
OCT_DIGIT
|
311
|
+
HEX_DIGIT
|
312
|
+
BIN_DIGIT
|
313
|
+
POINT_FLOAT
|
314
|
+
EXPONENT_FLOAT
|
315
|
+
INT_PART
|
316
|
+
FRACTION
|
317
|
+
EXPONENT
|
318
|
+
SHORT_BYTES
|
319
|
+
LONG_BYTES
|
320
|
+
LONG_BYTES_ITEM
|
321
|
+
SHORT_BYTES_CHAR_NO_SINGLE_QUOTE
|
322
|
+
SHORT_BYTES_CHAR_NO_DOUBLE_QUOTE
|
323
|
+
LONG_BYTES_CHAR
|
324
|
+
BYTES_ESCAPE_SEQ
|
325
|
+
SPACES
|
326
|
+
COMMENT
|
327
|
+
LINE_JOINING
|
328
|
+
ID_START
|
329
|
+
ID_CONTINUE
|
330
|
+
|
331
|
+
channel names:
|
332
|
+
DEFAULT_TOKEN_CHANNEL
|
333
|
+
HIDDEN
|
334
|
+
|
335
|
+
mode names:
|
336
|
+
DEFAULT_MODE
|
337
|
+
|
338
|
+
atn:
|
339
|
+
[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 101, 883, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 3, 2, 3, 2, 5, 2, 254, 10, 2, 3, 3, 3, 3, 3, 3, 5, 3, 259, 10, 3, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 265, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 5, 40, 460, 10, 40, 3, 40, 3, 40, 5, 40, 464, 10, 40, 3, 40, 5, 40, 467, 10, 40, 5, 40, 469, 10, 40, 3, 40, 3, 40, 3, 41, 3, 41, 7, 41, 475, 10, 41, 12, 41, 14, 41, 478, 11, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 5, 42, 485, 10, 42, 3, 42, 3, 42, 5, 42, 489, 10, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 5, 43, 496, 10, 43, 3, 43, 3, 43, 5, 43, 500, 10, 43, 3, 44, 3, 44, 7, 44, 504, 10, 44, 12, 44, 14, 44, 507, 11, 44, 3, 44, 6, 44, 510, 10, 44, 13, 44, 14, 44, 511, 5, 44, 514, 10, 44, 3, 45, 3, 45, 3, 45, 6, 45, 519, 10, 45, 13, 45, 14, 45, 520, 3, 46, 3, 46, 3, 46, 6, 46, 526, 10, 46, 13, 46, 14, 46, 527, 3, 47, 3, 47, 3, 47, 6, 47, 533, 10, 47, 13, 47, 14, 47, 534, 3, 48, 3, 48, 5, 48, 539, 10, 48, 3, 49, 3, 49, 5, 49, 543, 10, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 63, 3, 63, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 68, 3, 68, 3, 69, 3, 69, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 83, 3, 83, 3, 83, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 86, 3, 87, 3, 87, 3, 87, 3, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 89, 3, 90, 3, 90, 3, 90, 3, 91, 3, 91, 3, 91, 3, 92, 3, 92, 3, 92, 3, 93, 3, 93, 3, 93, 3, 93, 3, 94, 3, 94, 3, 94, 3, 94, 3, 95, 3, 95, 3, 95, 3, 95, 3, 96, 3, 96, 3, 96, 3, 96, 3, 97, 3, 97, 3, 97, 5, 97, 679, 10, 97, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 99, 7, 99, 688, 10, 99, 12, 99, 14, 99, 691, 11, 99, 3, 99, 3, 99, 3, 99, 3, 99, 7, 99, 697, 10, 99, 12, 99, 14, 99, 700, 11, 99, 3, 99, 5, 99, 703, 10, 99, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 7, 100, 710, 10, 100, 12, 100, 14, 100, 713, 11, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 7, 100, 723, 10, 100, 12, 100, 14, 100, 726, 11, 100, 3, 100, 3, 100, 3, 100, 5, 100, 731, 10, 100, 3, 101, 3, 101, 5, 101, 735, 10, 101, 3, 102, 3, 102, 3, 103, 3, 103, 3, 103, 3, 103, 5, 103, 743, 10, 103, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 3, 106, 3, 107, 3, 107, 3, 108, 3, 108, 3, 109, 5, 109, 756, 10, 109, 3, 109, 3, 109, 3, 109, 3, 109, 5, 109, 762, 10, 109, 3, 110, 3, 110, 5, 110, 766, 10, 110, 3, 110, 3, 110, 3, 111, 6, 111, 771, 10, 111, 13, 111, 14, 111, 772, 3, 112, 3, 112, 6, 112, 777, 10, 112, 13, 112, 14, 112, 778, 3, 113, 3, 113, 5, 113, 783, 10, 113, 3, 113, 6, 113, 786, 10, 113, 13, 113, 14, 113, 787, 3, 114, 3, 114, 3, 114, 7, 114, 793, 10, 114, 12, 114, 14, 114, 796, 11, 114, 3, 114, 3, 114, 3, 114, 3, 114, 7, 114, 802, 10, 114, 12, 114, 14, 114, 805, 11, 114, 3, 114, 5, 114, 808, 10, 114, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 7, 115, 815, 10, 115, 12, 115, 14, 115, 818, 11, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 7, 115, 828, 10, 115, 12, 115, 14, 115, 831, 11, 115, 3, 115, 3, 115, 3, 115, 5, 115, 836, 10, 115, 3, 116, 3, 116, 5, 116, 840, 10, 116, 3, 117, 5, 117, 843, 10, 117, 3, 118, 5, 118, 846, 10, 118, 3, 119, 5, 119, 849, 10, 119, 3, 120, 3, 120, 3, 120, 3, 121, 6, 121, 855, 10, 121, 13, 121, 14, 121, 856, 3, 122, 3, 122, 7, 122, 861, 10, 122, 12, 122, 14, 122, 864, 11, 122, 3, 123, 3, 123, 5, 123, 868, 10, 123, 3, 123, 5, 123, 871, 10, 123, 3, 123, 3, 123, 5, 123, 875, 10, 123, 3, 124, 5, 124, 878, 10, 124, 3, 125, 3, 125, 5, 125, 882, 10, 125, 6, 711, 724, 816, 829, 2, 126, 3, 5, 5, 6, 7, 7, 9, 8, 11, 9, 13, 10, 15, 11, 17, 12, 19, 13, 21, 14, 23, 15, 25, 16, 27, 17, 29, 18, 31, 19, 33, 20, 35, 21, 37, 22, 39, 23, 41, 24, 43, 25, 45, 26, 47, 27, 49, 28, 51, 29, 53, 30, 55, 31, 57, 32, 59, 33, 61, 34, 63, 35, 65, 36, 67, 37, 69, 38, 71, 39, 73, 40, 75, 41, 77, 42, 79, 43, 81, 44, 83, 45, 85, 46, 87, 47, 89, 48, 91, 49, 93, 50, 95, 51, 97, 52, 99, 53, 101, 54, 103, 55, 105, 56, 107, 57, 109, 58, 111, 59, 113, 60, 115, 61, 117, 62, 119, 63, 121, 64, 123, 65, 125, 66, 127, 67, 129, 68, 131, 69, 133, 70, 135, 71, 137, 72, 139, 73, 141, 74, 143, 75, 145, 76, 147, 77, 149, 78, 151, 79, 153, 80, 155, 81, 157, 82, 159, 83, 161, 84, 163, 85, 165, 86, 167, 87, 169, 88, 171, 89, 173, 90, 175, 91, 177, 92, 179, 93, 181, 94, 183, 95, 185, 96, 187, 97, 189, 98, 191, 99, 193, 100, 195, 101, 197, 2, 199, 2, 201, 2, 203, 2, 205, 2, 207, 2, 209, 2, 211, 2, 213, 2, 215, 2, 217, 2, 219, 2, 221, 2, 223, 2, 225, 2, 227, 2, 229, 2, 231, 2, 233, 2, 235, 2, 237, 2, 239, 2, 241, 2, 243, 2, 245, 2, 247, 2, 249, 2, 3, 2, 27, 8, 2, 72, 72, 84, 84, 87, 87, 104, 104, 116, 116, 119, 119, 4, 2, 72, 72, 104, 104, 4, 2, 84, 84, 116, 116, 4, 2, 68, 68, 100, 100, 4, 2, 81, 81, 113, 113, 4, 2, 90, 90, 122, 122, 4, 2, 76, 76, 108, 108, 6, 2, 12, 12, 14, 15, 41, 41, 94, 94, 6, 2, 12, 12, 14, 15, 36, 36, 94, 94, 3, 2, 94, 94, 3, 2, 51, 59, 3, 2, 50, 59, 3, 2, 50, 57, 5, 2, 50, 59, 67, 72, 99, 104, 3, 2, 50, 51, 4, 2, 71, 71, 103, 103, 4, 2, 45, 45, 47, 47, 7, 2, 2, 11, 13, 14, 16, 40, 42, 93, 95, 129, 7, 2, 2, 11, 13, 14, 16, 35, 37, 93, 95, 129, 4, 2, 2, 93, 95, 129, 3, 2, 2, 129, 4, 2, 11, 11, 34, 34, 4, 2, 12, 12, 14, 15, 297, 2, 67, 92, 97, 97, 99, 124, 172, 172, 183, 183, 188, 188, 194, 216, 218, 248, 250, 579, 594, 707, 712, 723, 738, 742, 752, 752, 892, 892, 904, 904, 906, 908, 910, 910, 912, 931, 933, 976, 978, 1015, 1017, 1155, 1164, 1232, 1234, 1275, 1282, 1297, 1331, 1368, 1371, 1371, 1379, 1417, 1490, 1516, 1522, 1524, 1571, 1596, 1602, 1612, 1648, 1649, 1651, 1749, 1751, 1751, 1767, 1768, 1776, 1777, 1788, 1790, 1793, 1793, 1810, 1810, 1812, 1841, 1871, 1903, 1922, 1959, 1971, 1971, 2310, 2363, 2367, 2367, 2386, 2386, 2394, 2403, 2431, 2431, 2439, 2446, 2449, 2450, 2453, 2474, 2476, 2482, 2484, 2484, 2488, 2491, 2495, 2495, 2512, 2512, 2526, 2527, 2529, 2531, 2546, 2547, 2567, 2572, 2577, 2578, 2581, 2602, 2604, 2610, 2612, 2613, 2615, 2616, 2618, 2619, 2651, 2654, 2656, 2656, 2676, 2678, 2695, 2703, 2705, 2707, 2709, 2730, 2732, 2738, 2740, 2741, 2743, 2747, 2751, 2751, 2770, 2770, 2786, 2787, 2823, 2830, 2833, 2834, 2837, 2858, 2860, 2866, 2868, 2869, 2871, 2875, 2879, 2879, 2910, 2911, 2913, 2915, 2931, 2931, 2949, 2949, 2951, 2956, 2960, 2962, 2964, 2967, 2971, 2972, 2974, 2974, 2976, 2977, 2981, 2982, 2986, 2988, 2992, 3003, 3079, 3086, 3088, 3090, 3092, 3114, 3116, 3125, 3127, 3131, 3170, 3171, 3207, 3214, 3216, 3218, 3220, 3242, 3244, 3253, 3255, 3259, 3263, 3263, 3296, 3296, 3298, 3299, 3335, 3342, 3344, 3346, 3348, 3370, 3372, 3387, 3426, 3427, 3463, 3480, 3484, 3507, 3509, 3517, 3519, 3519, 3522, 3528, 3587, 3634, 3636, 3637, 3650, 3656, 3715, 3716, 3718, 3718, 3721, 3722, 3724, 3724, 3727, 3727, 3734, 3737, 3739, 3745, 3747, 3749, 3751, 3751, 3753, 3753, 3756, 3757, 3759, 3762, 3764, 3765, 3775, 3775, 3778, 3782, 3784, 3784, 3806, 3807, 3842, 3842, 3906, 3913, 3915, 3948, 3978, 3981, 4098, 4131, 4133, 4137, 4139, 4140, 4178, 4183, 4258, 4295, 4306, 4348, 4350, 4350, 4354, 4443, 4449, 4516, 4522, 4603, 4610, 4682, 4684, 4687, 4690, 4696, 4698, 4698, 4700, 4703, 4706, 4746, 4748, 4751, 4754, 4786, 4788, 4791, 4794, 4800, 4802, 4802, 4804, 4807, 4810, 4824, 4826, 4882, 4884, 4887, 4890, 4956, 4994, 5009, 5026, 5110, 5123, 5742, 5745, 5752, 5763, 5788, 5794, 5868, 5872, 5874, 5890, 5902, 5904, 5907, 5922, 5939, 5954, 5971, 5986, 5998, 6000, 6002, 6018, 6069, 6105, 6105, 6110, 6110, 6178, 6265, 6274, 6314, 6402, 6430, 6482, 6511, 6514, 6518, 6530, 6571, 6595, 6601, 6658, 6680, 7426, 7617, 7682, 7837, 7842, 7931, 7938, 7959, 7962, 7967, 7970, 8007, 8010, 8015, 8018, 8025, 8027, 8027, 8029, 8029, 8031, 8031, 8033, 8063, 8066, 8118, 8120, 8126, 8128, 8128, 8132, 8134, 8136, 8142, 8146, 8149, 8152, 8157, 8162, 8174, 8180, 8182, 8184, 8190, 8307, 8307, 8321, 8321, 8338, 8342, 8452, 8452, 8457, 8457, 8460, 8469, 8471, 8471, 8474, 8479, 8486, 8486, 8488, 8488, 8490, 8490, 8492, 8499, 8501, 8507, 8510, 8513, 8519, 8523, 8546, 8581, 11266, 11312, 11314, 11360, 11394, 11494, 11522, 11559, 11570, 11623, 11633, 11633, 11650, 11672, 11682, 11688, 11690, 11696, 11698, 11704, 11706, 11712, 11714, 11720, 11722, 11728, 11730, 11736, 11738, 11744, 12295, 12297, 12323, 12331, 12339, 12343, 12346, 12350, 12355, 12440, 12445, 12449, 12451, 12540, 12542, 12545, 12551, 12590, 12595, 12688, 12706, 12729, 12786, 12801, 13314, 19895, 19970, 40893, 40962, 42126, 43010, 43011, 43013, 43015, 43017, 43020, 43022, 43044, 44034, 55205, 63746, 64047, 64050, 64108, 64114, 64219, 64258, 64264, 64277, 64281, 64287, 64287, 64289, 64298, 64300, 64312, 64314, 64318, 64320, 64320, 64322, 64323, 64325, 64326, 64328, 64435, 64469, 64831, 64850, 64913, 64916, 64969, 65010, 65021, 65138, 65142, 65144, 65278, 65315, 65340, 65347, 65372, 65384, 65472, 65476, 65481, 65484, 65489, 65492, 65497, 65500, 65502, 150, 2, 50, 59, 770, 881, 1157, 1160, 1427, 1467, 1469, 1471, 1473, 1473, 1475, 1476, 1478, 1479, 1481, 1481, 1554, 1559, 1613, 1632, 1634, 1643, 1650, 1650, 1752, 1758, 1761, 1766, 1769, 1770, 1772, 1775, 1778, 1787, 1811, 1811, 1842, 1868, 1960, 1970, 2307, 2309, 2366, 2366, 2368, 2383, 2387, 2390, 2404, 2405, 2408, 2417, 2435, 2437, 2494, 2494, 2496, 2502, 2505, 2506, 2509, 2511, 2521, 2521, 2532, 2533, 2536, 2545, 2563, 2565, 2622, 2622, 2624, 2628, 2633, 2634, 2637, 2639, 2664, 2675, 2691, 2693, 2750, 2750, 2752, 2759, 2761, 2763, 2765, 2767, 2788, 2789, 2792, 2801, 2819, 2821, 2878, 2878, 2880, 2885, 2889, 2890, 2893, 2895, 2904, 2905, 2920, 2929, 2948, 2948, 3008, 3012, 3016, 3018, 3020, 3023, 3033, 3033, 3048, 3057, 3075, 3077, 3136, 3142, 3144, 3146, 3148, 3151, 3159, 3160, 3176, 3185, 3204, 3205, 3262, 3262, 3264, 3270, 3272, 3274, 3276, 3279, 3287, 3288, 3304, 3313, 3332, 3333, 3392, 3397, 3400, 3402, 3404, 3407, 3417, 3417, 3432, 3441, 3460, 3461, 3532, 3532, 3537, 3542, 3544, 3544, 3546, 3553, 3572, 3573, 3635, 3635, 3638, 3644, 3657, 3664, 3666, 3675, 3763, 3763, 3766, 3771, 3773, 3774, 3786, 3791, 3794, 3803, 3866, 3867, 3874, 3883, 3895, 3895, 3897, 3897, 3899, 3899, 3904, 3905, 3955, 3974, 3976, 3977, 3986, 3993, 3995, 4030, 4040, 4040, 4142, 4148, 4152, 4155, 4162, 4171, 4184, 4187, 4961, 4961, 4971, 4979, 5908, 5910, 5940, 5942, 5972, 5973, 6004, 6005, 6072, 6101, 6111, 6111, 6114, 6123, 6157, 6159, 6162, 6171, 6315, 6315, 6434, 6445, 6450, 6461, 6472, 6481, 6578, 6594, 6602, 6603, 6610, 6619, 6681, 6685, 7618, 7621, 8257, 8258, 8278, 8278, 8402, 8414, 8419, 8419, 8423, 8429, 12332, 12337, 12443, 12444, 43012, 43012, 43016, 43016, 43021, 43021, 43045, 43049, 64288, 64288, 65026, 65041, 65058, 65061, 65077, 65078, 65103, 65105, 65298, 65307, 65345, 65345, 2, 915, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91, 3, 2, 2, 2, 2, 93, 3, 2, 2, 2, 2, 95, 3, 2, 2, 2, 2, 97, 3, 2, 2, 2, 2, 99, 3, 2, 2, 2, 2, 101, 3, 2, 2, 2, 2, 103, 3, 2, 2, 2, 2, 105, 3, 2, 2, 2, 2, 107, 3, 2, 2, 2, 2, 109, 3, 2, 2, 2, 2, 111, 3, 2, 2, 2, 2, 113, 3, 2, 2, 2, 2, 115, 3, 2, 2, 2, 2, 117, 3, 2, 2, 2, 2, 119, 3, 2, 2, 2, 2, 121, 3, 2, 2, 2, 2, 123, 3, 2, 2, 2, 2, 125, 3, 2, 2, 2, 2, 127, 3, 2, 2, 2, 2, 129, 3, 2, 2, 2, 2, 131, 3, 2, 2, 2, 2, 133, 3, 2, 2, 2, 2, 135, 3, 2, 2, 2, 2, 137, 3, 2, 2, 2, 2, 139, 3, 2, 2, 2, 2, 141, 3, 2, 2, 2, 2, 143, 3, 2, 2, 2, 2, 145, 3, 2, 2, 2, 2, 147, 3, 2, 2, 2, 2, 149, 3, 2, 2, 2, 2, 151, 3, 2, 2, 2, 2, 153, 3, 2, 2, 2, 2, 155, 3, 2, 2, 2, 2, 157, 3, 2, 2, 2, 2, 159, 3, 2, 2, 2, 2, 161, 3, 2, 2, 2, 2, 163, 3, 2, 2, 2, 2, 165, 3, 2, 2, 2, 2, 167, 3, 2, 2, 2, 2, 169, 3, 2, 2, 2, 2, 171, 3, 2, 2, 2, 2, 173, 3, 2, 2, 2, 2, 175, 3, 2, 2, 2, 2, 177, 3, 2, 2, 2, 2, 179, 3, 2, 2, 2, 2, 181, 3, 2, 2, 2, 2, 183, 3, 2, 2, 2, 2, 185, 3, 2, 2, 2, 2, 187, 3, 2, 2, 2, 2, 189, 3, 2, 2, 2, 2, 191, 3, 2, 2, 2, 2, 193, 3, 2, 2, 2, 2, 195, 3, 2, 2, 2, 3, 253, 3, 2, 2, 2, 5, 258, 3, 2, 2, 2, 7, 264, 3, 2, 2, 2, 9, 266, 3, 2, 2, 2, 11, 270, 3, 2, 2, 2, 13, 277, 3, 2, 2, 2, 15, 283, 3, 2, 2, 2, 17, 288, 3, 2, 2, 2, 19, 295, 3, 2, 2, 2, 21, 298, 3, 2, 2, 2, 23, 305, 3, 2, 2, 2, 25, 314, 3, 2, 2, 2, 27, 321, 3, 2, 2, 2, 29, 324, 3, 2, 2, 2, 31, 329, 3, 2, 2, 2, 33, 334, 3, 2, 2, 2, 35, 340, 3, 2, 2, 2, 37, 344, 3, 2, 2, 2, 39, 347, 3, 2, 2, 2, 41, 351, 3, 2, 2, 2, 43, 359, 3, 2, 2, 2, 45, 364, 3, 2, 2, 2, 47, 371, 3, 2, 2, 2, 49, 378, 3, 2, 2, 2, 51, 381, 3, 2, 2, 2, 53, 385, 3, 2, 2, 2, 55, 389, 3, 2, 2, 2, 57, 392, 3, 2, 2, 2, 59, 397, 3, 2, 2, 2, 61, 402, 3, 2, 2, 2, 63, 408, 3, 2, 2, 2, 65, 414, 3, 2, 2, 2, 67, 420, 3, 2, 2, 2, 69, 424, 3, 2, 2, 2, 71, 429, 3, 2, 2, 2, 73, 438, 3, 2, 2, 2, 75, 444, 3, 2, 2, 2, 77, 450, 3, 2, 2, 2, 79, 468, 3, 2, 2, 2, 81, 472, 3, 2, 2, 2, 83, 484, 3, 2, 2, 2, 85, 495, 3, 2, 2, 2, 87, 513, 3, 2, 2, 2, 89, 515, 3, 2, 2, 2, 91, 522, 3, 2, 2, 2, 93, 529, 3, 2, 2, 2, 95, 538, 3, 2, 2, 2, 97, 542, 3, 2, 2, 2, 99, 546, 3, 2, 2, 2, 101, 548, 3, 2, 2, 2, 103, 552, 3, 2, 2, 2, 105, 554, 3, 2, 2, 2, 107, 557, 3, 2, 2, 2, 109, 560, 3, 2, 2, 2, 111, 562, 3, 2, 2, 2, 113, 564, 3, 2, 2, 2, 115, 566, 3, 2, 2, 2, 117, 569, 3, 2, 2, 2, 119, 571, 3, 2, 2, 2, 121, 574, 3, 2, 2, 2, 123, 577, 3, 2, 2, 2, 125, 579, 3, 2, 2, 2, 127, 581, 3, 2, 2, 2, 129, 583, 3, 2, 2, 2, 131, 586, 3, 2, 2, 2, 133, 589, 3, 2, 2, 2, 135, 591, 3, 2, 2, 2, 137, 593, 3, 2, 2, 2, 139, 595, 3, 2, 2, 2, 141, 597, 3, 2, 2, 2, 143, 600, 3, 2, 2, 2, 145, 602, 3, 2, 2, 2, 147, 605, 3, 2, 2, 2, 149, 608, 3, 2, 2, 2, 151, 610, 3, 2, 2, 2, 153, 612, 3, 2, 2, 2, 155, 615, 3, 2, 2, 2, 157, 618, 3, 2, 2, 2, 159, 621, 3, 2, 2, 2, 161, 624, 3, 2, 2, 2, 163, 627, 3, 2, 2, 2, 165, 629, 3, 2, 2, 2, 167, 632, 3, 2, 2, 2, 169, 635, 3, 2, 2, 2, 171, 638, 3, 2, 2, 2, 173, 641, 3, 2, 2, 2, 175, 644, 3, 2, 2, 2, 177, 647, 3, 2, 2, 2, 179, 650, 3, 2, 2, 2, 181, 653, 3, 2, 2, 2, 183, 656, 3, 2, 2, 2, 185, 659, 3, 2, 2, 2, 187, 663, 3, 2, 2, 2, 189, 667, 3, 2, 2, 2, 191, 671, 3, 2, 2, 2, 193, 678, 3, 2, 2, 2, 195, 682, 3, 2, 2, 2, 197, 702, 3, 2, 2, 2, 199, 730, 3, 2, 2, 2, 201, 734, 3, 2, 2, 2, 203, 736, 3, 2, 2, 2, 205, 742, 3, 2, 2, 2, 207, 744, 3, 2, 2, 2, 209, 746, 3, 2, 2, 2, 211, 748, 3, 2, 2, 2, 213, 750, 3, 2, 2, 2, 215, 752, 3, 2, 2, 2, 217, 761, 3, 2, 2, 2, 219, 765, 3, 2, 2, 2, 221, 770, 3, 2, 2, 2, 223, 774, 3, 2, 2, 2, 225, 780, 3, 2, 2, 2, 227, 807, 3, 2, 2, 2, 229, 835, 3, 2, 2, 2, 231, 839, 3, 2, 2, 2, 233, 842, 3, 2, 2, 2, 235, 845, 3, 2, 2, 2, 237, 848, 3, 2, 2, 2, 239, 850, 3, 2, 2, 2, 241, 854, 3, 2, 2, 2, 243, 858, 3, 2, 2, 2, 245, 865, 3, 2, 2, 2, 247, 877, 3, 2, 2, 2, 249, 881, 3, 2, 2, 2, 251, 254, 5, 83, 42, 2, 252, 254, 5, 85, 43, 2, 253, 251, 3, 2, 2, 2, 253, 252, 3, 2, 2, 2, 254, 4, 3, 2, 2, 2, 255, 259, 5, 7, 4, 2, 256, 259, 5, 95, 48, 2, 257, 259, 5, 97, 49, 2, 258, 255, 3, 2, 2, 2, 258, 256, 3, 2, 2, 2, 258, 257, 3, 2, 2, 2, 259, 6, 3, 2, 2, 2, 260, 265, 5, 87, 44, 2, 261, 265, 5, 89, 45, 2, 262, 265, 5, 91, 46, 2, 263, 265, 5, 93, 47, 2, 264, 260, 3, 2, 2, 2, 264, 261, 3, 2, 2, 2, 264, 262, 3, 2, 2, 2, 264, 263, 3, 2, 2, 2, 265, 8, 3, 2, 2, 2, 266, 267, 7, 102, 2, 2, 267, 268, 7, 103, 2, 2, 268, 269, 7, 104, 2, 2, 269, 10, 3, 2, 2, 2, 270, 271, 7, 116, 2, 2, 271, 272, 7, 103, 2, 2, 272, 273, 7, 118, 2, 2, 273, 274, 7, 119, 2, 2, 274, 275, 7, 116, 2, 2, 275, 276, 7, 112, 2, 2, 276, 12, 3, 2, 2, 2, 277, 278, 7, 116, 2, 2, 278, 279, 7, 99, 2, 2, 279, 280, 7, 107, 2, 2, 280, 281, 7, 117, 2, 2, 281, 282, 7, 103, 2, 2, 282, 14, 3, 2, 2, 2, 283, 284, 7, 104, 2, 2, 284, 285, 7, 116, 2, 2, 285, 286, 7, 113, 2, 2, 286, 287, 7, 111, 2, 2, 287, 16, 3, 2, 2, 2, 288, 289, 7, 107, 2, 2, 289, 290, 7, 111, 2, 2, 290, 291, 7, 114, 2, 2, 291, 292, 7, 113, 2, 2, 292, 293, 7, 116, 2, 2, 293, 294, 7, 118, 2, 2, 294, 18, 3, 2, 2, 2, 295, 296, 7, 99, 2, 2, 296, 297, 7, 117, 2, 2, 297, 20, 3, 2, 2, 2, 298, 299, 7, 105, 2, 2, 299, 300, 7, 110, 2, 2, 300, 301, 7, 113, 2, 2, 301, 302, 7, 100, 2, 2, 302, 303, 7, 99, 2, 2, 303, 304, 7, 110, 2, 2, 304, 22, 3, 2, 2, 2, 305, 306, 7, 112, 2, 2, 306, 307, 7, 113, 2, 2, 307, 308, 7, 112, 2, 2, 308, 309, 7, 110, 2, 2, 309, 310, 7, 113, 2, 2, 310, 311, 7, 101, 2, 2, 311, 312, 7, 99, 2, 2, 312, 313, 7, 110, 2, 2, 313, 24, 3, 2, 2, 2, 314, 315, 7, 99, 2, 2, 315, 316, 7, 117, 2, 2, 316, 317, 7, 117, 2, 2, 317, 318, 7, 103, 2, 2, 318, 319, 7, 116, 2, 2, 319, 320, 7, 118, 2, 2, 320, 26, 3, 2, 2, 2, 321, 322, 7, 107, 2, 2, 322, 323, 7, 104, 2, 2, 323, 28, 3, 2, 2, 2, 324, 325, 7, 103, 2, 2, 325, 326, 7, 110, 2, 2, 326, 327, 7, 107, 2, 2, 327, 328, 7, 104, 2, 2, 328, 30, 3, 2, 2, 2, 329, 330, 7, 103, 2, 2, 330, 331, 7, 110, 2, 2, 331, 332, 7, 117, 2, 2, 332, 333, 7, 103, 2, 2, 333, 32, 3, 2, 2, 2, 334, 335, 7, 121, 2, 2, 335, 336, 7, 106, 2, 2, 336, 337, 7, 107, 2, 2, 337, 338, 7, 110, 2, 2, 338, 339, 7, 103, 2, 2, 339, 34, 3, 2, 2, 2, 340, 341, 7, 104, 2, 2, 341, 342, 7, 113, 2, 2, 342, 343, 7, 116, 2, 2, 343, 36, 3, 2, 2, 2, 344, 345, 7, 107, 2, 2, 345, 346, 7, 112, 2, 2, 346, 38, 3, 2, 2, 2, 347, 348, 7, 118, 2, 2, 348, 349, 7, 116, 2, 2, 349, 350, 7, 123, 2, 2, 350, 40, 3, 2, 2, 2, 351, 352, 7, 104, 2, 2, 352, 353, 7, 107, 2, 2, 353, 354, 7, 112, 2, 2, 354, 355, 7, 99, 2, 2, 355, 356, 7, 110, 2, 2, 356, 357, 7, 110, 2, 2, 357, 358, 7, 123, 2, 2, 358, 42, 3, 2, 2, 2, 359, 360, 7, 121, 2, 2, 360, 361, 7, 107, 2, 2, 361, 362, 7, 118, 2, 2, 362, 363, 7, 106, 2, 2, 363, 44, 3, 2, 2, 2, 364, 365, 7, 103, 2, 2, 365, 366, 7, 122, 2, 2, 366, 367, 7, 101, 2, 2, 367, 368, 7, 103, 2, 2, 368, 369, 7, 114, 2, 2, 369, 370, 7, 118, 2, 2, 370, 46, 3, 2, 2, 2, 371, 372, 7, 110, 2, 2, 372, 373, 7, 99, 2, 2, 373, 374, 7, 111, 2, 2, 374, 375, 7, 100, 2, 2, 375, 376, 7, 102, 2, 2, 376, 377, 7, 99, 2, 2, 377, 48, 3, 2, 2, 2, 378, 379, 7, 113, 2, 2, 379, 380, 7, 116, 2, 2, 380, 50, 3, 2, 2, 2, 381, 382, 7, 99, 2, 2, 382, 383, 7, 112, 2, 2, 383, 384, 7, 102, 2, 2, 384, 52, 3, 2, 2, 2, 385, 386, 7, 112, 2, 2, 386, 387, 7, 113, 2, 2, 387, 388, 7, 118, 2, 2, 388, 54, 3, 2, 2, 2, 389, 390, 7, 107, 2, 2, 390, 391, 7, 117, 2, 2, 391, 56, 3, 2, 2, 2, 392, 393, 7, 80, 2, 2, 393, 394, 7, 113, 2, 2, 394, 395, 7, 112, 2, 2, 395, 396, 7, 103, 2, 2, 396, 58, 3, 2, 2, 2, 397, 398, 7, 86, 2, 2, 398, 399, 7, 116, 2, 2, 399, 400, 7, 119, 2, 2, 400, 401, 7, 103, 2, 2, 401, 60, 3, 2, 2, 2, 402, 403, 7, 72, 2, 2, 403, 404, 7, 99, 2, 2, 404, 405, 7, 110, 2, 2, 405, 406, 7, 117, 2, 2, 406, 407, 7, 103, 2, 2, 407, 62, 3, 2, 2, 2, 408, 409, 7, 101, 2, 2, 409, 410, 7, 110, 2, 2, 410, 411, 7, 99, 2, 2, 411, 412, 7, 117, 2, 2, 412, 413, 7, 117, 2, 2, 413, 64, 3, 2, 2, 2, 414, 415, 7, 123, 2, 2, 415, 416, 7, 107, 2, 2, 416, 417, 7, 103, 2, 2, 417, 418, 7, 110, 2, 2, 418, 419, 7, 102, 2, 2, 419, 66, 3, 2, 2, 2, 420, 421, 7, 102, 2, 2, 421, 422, 7, 103, 2, 2, 422, 423, 7, 110, 2, 2, 423, 68, 3, 2, 2, 2, 424, 425, 7, 114, 2, 2, 425, 426, 7, 99, 2, 2, 426, 427, 7, 117, 2, 2, 427, 428, 7, 117, 2, 2, 428, 70, 3, 2, 2, 2, 429, 430, 7, 101, 2, 2, 430, 431, 7, 113, 2, 2, 431, 432, 7, 112, 2, 2, 432, 433, 7, 118, 2, 2, 433, 434, 7, 107, 2, 2, 434, 435, 7, 112, 2, 2, 435, 436, 7, 119, 2, 2, 436, 437, 7, 103, 2, 2, 437, 72, 3, 2, 2, 2, 438, 439, 7, 100, 2, 2, 439, 440, 7, 116, 2, 2, 440, 441, 7, 103, 2, 2, 441, 442, 7, 99, 2, 2, 442, 443, 7, 109, 2, 2, 443, 74, 3, 2, 2, 2, 444, 445, 7, 99, 2, 2, 445, 446, 7, 117, 2, 2, 446, 447, 7, 123, 2, 2, 447, 448, 7, 112, 2, 2, 448, 449, 7, 101, 2, 2, 449, 76, 3, 2, 2, 2, 450, 451, 7, 99, 2, 2, 451, 452, 7, 121, 2, 2, 452, 453, 7, 99, 2, 2, 453, 454, 7, 107, 2, 2, 454, 455, 7, 118, 2, 2, 455, 78, 3, 2, 2, 2, 456, 457, 6, 40, 2, 2, 457, 469, 5, 241, 121, 2, 458, 460, 7, 15, 2, 2, 459, 458, 3, 2, 2, 2, 459, 460, 3, 2, 2, 2, 460, 461, 3, 2, 2, 2, 461, 464, 7, 12, 2, 2, 462, 464, 4, 14, 15, 2, 463, 459, 3, 2, 2, 2, 463, 462, 3, 2, 2, 2, 464, 466, 3, 2, 2, 2, 465, 467, 5, 241, 121, 2, 466, 465, 3, 2, 2, 2, 466, 467, 3, 2, 2, 2, 467, 469, 3, 2, 2, 2, 468, 456, 3, 2, 2, 2, 468, 463, 3, 2, 2, 2, 469, 470, 3, 2, 2, 2, 470, 471, 8, 40, 2, 2, 471, 80, 3, 2, 2, 2, 472, 476, 5, 247, 124, 2, 473, 475, 5, 249, 125, 2, 474, 473, 3, 2, 2, 2, 475, 478, 3, 2, 2, 2, 476, 474, 3, 2, 2, 2, 476, 477, 3, 2, 2, 2, 477, 82, 3, 2, 2, 2, 478, 476, 3, 2, 2, 2, 479, 485, 9, 2, 2, 2, 480, 481, 9, 3, 2, 2, 481, 485, 9, 4, 2, 2, 482, 483, 9, 4, 2, 2, 483, 485, 9, 3, 2, 2, 484, 479, 3, 2, 2, 2, 484, 480, 3, 2, 2, 2, 484, 482, 3, 2, 2, 2, 484, 485, 3, 2, 2, 2, 485, 488, 3, 2, 2, 2, 486, 489, 5, 197, 99, 2, 487, 489, 5, 199, 100, 2, 488, 486, 3, 2, 2, 2, 488, 487, 3, 2, 2, 2, 489, 84, 3, 2, 2, 2, 490, 496, 9, 5, 2, 2, 491, 492, 9, 5, 2, 2, 492, 496, 9, 4, 2, 2, 493, 494, 9, 4, 2, 2, 494, 496, 9, 5, 2, 2, 495, 490, 3, 2, 2, 2, 495, 491, 3, 2, 2, 2, 495, 493, 3, 2, 2, 2, 496, 499, 3, 2, 2, 2, 497, 500, 5, 227, 114, 2, 498, 500, 5, 229, 115, 2, 499, 497, 3, 2, 2, 2, 499, 498, 3, 2, 2, 2, 500, 86, 3, 2, 2, 2, 501, 505, 5, 207, 104, 2, 502, 504, 5, 209, 105, 2, 503, 502, 3, 2, 2, 2, 504, 507, 3, 2, 2, 2, 505, 503, 3, 2, 2, 2, 505, 506, 3, 2, 2, 2, 506, 514, 3, 2, 2, 2, 507, 505, 3, 2, 2, 2, 508, 510, 7, 50, 2, 2, 509, 508, 3, 2, 2, 2, 510, 511, 3, 2, 2, 2, 511, 509, 3, 2, 2, 2, 511, 512, 3, 2, 2, 2, 512, 514, 3, 2, 2, 2, 513, 501, 3, 2, 2, 2, 513, 509, 3, 2, 2, 2, 514, 88, 3, 2, 2, 2, 515, 516, 7, 50, 2, 2, 516, 518, 9, 6, 2, 2, 517, 519, 5, 211, 106, 2, 518, 517, 3, 2, 2, 2, 519, 520, 3, 2, 2, 2, 520, 518, 3, 2, 2, 2, 520, 521, 3, 2, 2, 2, 521, 90, 3, 2, 2, 2, 522, 523, 7, 50, 2, 2, 523, 525, 9, 7, 2, 2, 524, 526, 5, 213, 107, 2, 525, 524, 3, 2, 2, 2, 526, 527, 3, 2, 2, 2, 527, 525, 3, 2, 2, 2, 527, 528, 3, 2, 2, 2, 528, 92, 3, 2, 2, 2, 529, 530, 7, 50, 2, 2, 530, 532, 9, 5, 2, 2, 531, 533, 5, 215, 108, 2, 532, 531, 3, 2, 2, 2, 533, 534, 3, 2, 2, 2, 534, 532, 3, 2, 2, 2, 534, 535, 3, 2, 2, 2, 535, 94, 3, 2, 2, 2, 536, 539, 5, 217, 109, 2, 537, 539, 5, 219, 110, 2, 538, 536, 3, 2, 2, 2, 538, 537, 3, 2, 2, 2, 539, 96, 3, 2, 2, 2, 540, 543, 5, 95, 48, 2, 541, 543, 5, 221, 111, 2, 542, 540, 3, 2, 2, 2, 542, 541, 3, 2, 2, 2, 543, 544, 3, 2, 2, 2, 544, 545, 9, 8, 2, 2, 545, 98, 3, 2, 2, 2, 546, 547, 7, 48, 2, 2, 547, 100, 3, 2, 2, 2, 548, 549, 7, 48, 2, 2, 549, 550, 7, 48, 2, 2, 550, 551, 7, 48, 2, 2, 551, 102, 3, 2, 2, 2, 552, 553, 7, 44, 2, 2, 553, 104, 3, 2, 2, 2, 554, 555, 7, 42, 2, 2, 555, 556, 8, 53, 3, 2, 556, 106, 3, 2, 2, 2, 557, 558, 7, 43, 2, 2, 558, 559, 8, 54, 4, 2, 559, 108, 3, 2, 2, 2, 560, 561, 7, 46, 2, 2, 561, 110, 3, 2, 2, 2, 562, 563, 7, 60, 2, 2, 563, 112, 3, 2, 2, 2, 564, 565, 7, 61, 2, 2, 565, 114, 3, 2, 2, 2, 566, 567, 7, 44, 2, 2, 567, 568, 7, 44, 2, 2, 568, 116, 3, 2, 2, 2, 569, 570, 7, 63, 2, 2, 570, 118, 3, 2, 2, 2, 571, 572, 7, 93, 2, 2, 572, 573, 8, 60, 5, 2, 573, 120, 3, 2, 2, 2, 574, 575, 7, 95, 2, 2, 575, 576, 8, 61, 6, 2, 576, 122, 3, 2, 2, 2, 577, 578, 7, 126, 2, 2, 578, 124, 3, 2, 2, 2, 579, 580, 7, 96, 2, 2, 580, 126, 3, 2, 2, 2, 581, 582, 7, 40, 2, 2, 582, 128, 3, 2, 2, 2, 583, 584, 7, 62, 2, 2, 584, 585, 7, 62, 2, 2, 585, 130, 3, 2, 2, 2, 586, 587, 7, 64, 2, 2, 587, 588, 7, 64, 2, 2, 588, 132, 3, 2, 2, 2, 589, 590, 7, 45, 2, 2, 590, 134, 3, 2, 2, 2, 591, 592, 7, 47, 2, 2, 592, 136, 3, 2, 2, 2, 593, 594, 7, 49, 2, 2, 594, 138, 3, 2, 2, 2, 595, 596, 7, 39, 2, 2, 596, 140, 3, 2, 2, 2, 597, 598, 7, 49, 2, 2, 598, 599, 7, 49, 2, 2, 599, 142, 3, 2, 2, 2, 600, 601, 7, 128, 2, 2, 601, 144, 3, 2, 2, 2, 602, 603, 7, 125, 2, 2, 603, 604, 8, 73, 7, 2, 604, 146, 3, 2, 2, 2, 605, 606, 7, 127, 2, 2, 606, 607, 8, 74, 8, 2, 607, 148, 3, 2, 2, 2, 608, 609, 7, 62, 2, 2, 609, 150, 3, 2, 2, 2, 610, 611, 7, 64, 2, 2, 611, 152, 3, 2, 2, 2, 612, 613, 7, 63, 2, 2, 613, 614, 7, 63, 2, 2, 614, 154, 3, 2, 2, 2, 615, 616, 7, 64, 2, 2, 616, 617, 7, 63, 2, 2, 617, 156, 3, 2, 2, 2, 618, 619, 7, 62, 2, 2, 619, 620, 7, 63, 2, 2, 620, 158, 3, 2, 2, 2, 621, 622, 7, 62, 2, 2, 622, 623, 7, 64, 2, 2, 623, 160, 3, 2, 2, 2, 624, 625, 7, 35, 2, 2, 625, 626, 7, 63, 2, 2, 626, 162, 3, 2, 2, 2, 627, 628, 7, 66, 2, 2, 628, 164, 3, 2, 2, 2, 629, 630, 7, 47, 2, 2, 630, 631, 7, 64, 2, 2, 631, 166, 3, 2, 2, 2, 632, 633, 7, 45, 2, 2, 633, 634, 7, 63, 2, 2, 634, 168, 3, 2, 2, 2, 635, 636, 7, 47, 2, 2, 636, 637, 7, 63, 2, 2, 637, 170, 3, 2, 2, 2, 638, 639, 7, 44, 2, 2, 639, 640, 7, 63, 2, 2, 640, 172, 3, 2, 2, 2, 641, 642, 7, 66, 2, 2, 642, 643, 7, 63, 2, 2, 643, 174, 3, 2, 2, 2, 644, 645, 7, 49, 2, 2, 645, 646, 7, 63, 2, 2, 646, 176, 3, 2, 2, 2, 647, 648, 7, 39, 2, 2, 648, 649, 7, 63, 2, 2, 649, 178, 3, 2, 2, 2, 650, 651, 7, 40, 2, 2, 651, 652, 7, 63, 2, 2, 652, 180, 3, 2, 2, 2, 653, 654, 7, 126, 2, 2, 654, 655, 7, 63, 2, 2, 655, 182, 3, 2, 2, 2, 656, 657, 7, 96, 2, 2, 657, 658, 7, 63, 2, 2, 658, 184, 3, 2, 2, 2, 659, 660, 7, 62, 2, 2, 660, 661, 7, 62, 2, 2, 661, 662, 7, 63, 2, 2, 662, 186, 3, 2, 2, 2, 663, 664, 7, 64, 2, 2, 664, 665, 7, 64, 2, 2, 665, 666, 7, 63, 2, 2, 666, 188, 3, 2, 2, 2, 667, 668, 7, 44, 2, 2, 668, 669, 7, 44, 2, 2, 669, 670, 7, 63, 2, 2, 670, 190, 3, 2, 2, 2, 671, 672, 7, 49, 2, 2, 672, 673, 7, 49, 2, 2, 673, 674, 7, 63, 2, 2, 674, 192, 3, 2, 2, 2, 675, 679, 5, 241, 121, 2, 676, 679, 5, 243, 122, 2, 677, 679, 5, 245, 123, 2, 678, 675, 3, 2, 2, 2, 678, 676, 3, 2, 2, 2, 678, 677, 3, 2, 2, 2, 679, 680, 3, 2, 2, 2, 680, 681, 8, 97, 9, 2, 681, 194, 3, 2, 2, 2, 682, 683, 11, 2, 2, 2, 683, 196, 3, 2, 2, 2, 684, 689, 7, 41, 2, 2, 685, 688, 5, 205, 103, 2, 686, 688, 10, 9, 2, 2, 687, 685, 3, 2, 2, 2, 687, 686, 3, 2, 2, 2, 688, 691, 3, 2, 2, 2, 689, 687, 3, 2, 2, 2, 689, 690, 3, 2, 2, 2, 690, 692, 3, 2, 2, 2, 691, 689, 3, 2, 2, 2, 692, 703, 7, 41, 2, 2, 693, 698, 7, 36, 2, 2, 694, 697, 5, 205, 103, 2, 695, 697, 10, 10, 2, 2, 696, 694, 3, 2, 2, 2, 696, 695, 3, 2, 2, 2, 697, 700, 3, 2, 2, 2, 698, 696, 3, 2, 2, 2, 698, 699, 3, 2, 2, 2, 699, 701, 3, 2, 2, 2, 700, 698, 3, 2, 2, 2, 701, 703, 7, 36, 2, 2, 702, 684, 3, 2, 2, 2, 702, 693, 3, 2, 2, 2, 703, 198, 3, 2, 2, 2, 704, 705, 7, 41, 2, 2, 705, 706, 7, 41, 2, 2, 706, 707, 7, 41, 2, 2, 707, 711, 3, 2, 2, 2, 708, 710, 5, 201, 101, 2, 709, 708, 3, 2, 2, 2, 710, 713, 3, 2, 2, 2, 711, 712, 3, 2, 2, 2, 711, 709, 3, 2, 2, 2, 712, 714, 3, 2, 2, 2, 713, 711, 3, 2, 2, 2, 714, 715, 7, 41, 2, 2, 715, 716, 7, 41, 2, 2, 716, 731, 7, 41, 2, 2, 717, 718, 7, 36, 2, 2, 718, 719, 7, 36, 2, 2, 719, 720, 7, 36, 2, 2, 720, 724, 3, 2, 2, 2, 721, 723, 5, 201, 101, 2, 722, 721, 3, 2, 2, 2, 723, 726, 3, 2, 2, 2, 724, 725, 3, 2, 2, 2, 724, 722, 3, 2, 2, 2, 725, 727, 3, 2, 2, 2, 726, 724, 3, 2, 2, 2, 727, 728, 7, 36, 2, 2, 728, 729, 7, 36, 2, 2, 729, 731, 7, 36, 2, 2, 730, 704, 3, 2, 2, 2, 730, 717, 3, 2, 2, 2, 731, 200, 3, 2, 2, 2, 732, 735, 5, 203, 102, 2, 733, 735, 5, 205, 103, 2, 734, 732, 3, 2, 2, 2, 734, 733, 3, 2, 2, 2, 735, 202, 3, 2, 2, 2, 736, 737, 10, 11, 2, 2, 737, 204, 3, 2, 2, 2, 738, 739, 7, 94, 2, 2, 739, 743, 11, 2, 2, 2, 740, 741, 7, 94, 2, 2, 741, 743, 5, 79, 40, 2, 742, 738, 3, 2, 2, 2, 742, 740, 3, 2, 2, 2, 743, 206, 3, 2, 2, 2, 744, 745, 9, 12, 2, 2, 745, 208, 3, 2, 2, 2, 746, 747, 9, 13, 2, 2, 747, 210, 3, 2, 2, 2, 748, 749, 9, 14, 2, 2, 749, 212, 3, 2, 2, 2, 750, 751, 9, 15, 2, 2, 751, 214, 3, 2, 2, 2, 752, 753, 9, 16, 2, 2, 753, 216, 3, 2, 2, 2, 754, 756, 5, 221, 111, 2, 755, 754, 3, 2, 2, 2, 755, 756, 3, 2, 2, 2, 756, 757, 3, 2, 2, 2, 757, 762, 5, 223, 112, 2, 758, 759, 5, 221, 111, 2, 759, 760, 7, 48, 2, 2, 760, 762, 3, 2, 2, 2, 761, 755, 3, 2, 2, 2, 761, 758, 3, 2, 2, 2, 762, 218, 3, 2, 2, 2, 763, 766, 5, 221, 111, 2, 764, 766, 5, 217, 109, 2, 765, 763, 3, 2, 2, 2, 765, 764, 3, 2, 2, 2, 766, 767, 3, 2, 2, 2, 767, 768, 5, 225, 113, 2, 768, 220, 3, 2, 2, 2, 769, 771, 5, 209, 105, 2, 770, 769, 3, 2, 2, 2, 771, 772, 3, 2, 2, 2, 772, 770, 3, 2, 2, 2, 772, 773, 3, 2, 2, 2, 773, 222, 3, 2, 2, 2, 774, 776, 7, 48, 2, 2, 775, 777, 5, 209, 105, 2, 776, 775, 3, 2, 2, 2, 777, 778, 3, 2, 2, 2, 778, 776, 3, 2, 2, 2, 778, 779, 3, 2, 2, 2, 779, 224, 3, 2, 2, 2, 780, 782, 9, 17, 2, 2, 781, 783, 9, 18, 2, 2, 782, 781, 3, 2, 2, 2, 782, 783, 3, 2, 2, 2, 783, 785, 3, 2, 2, 2, 784, 786, 5, 209, 105, 2, 785, 784, 3, 2, 2, 2, 786, 787, 3, 2, 2, 2, 787, 785, 3, 2, 2, 2, 787, 788, 3, 2, 2, 2, 788, 226, 3, 2, 2, 2, 789, 794, 7, 41, 2, 2, 790, 793, 5, 233, 117, 2, 791, 793, 5, 239, 120, 2, 792, 790, 3, 2, 2, 2, 792, 791, 3, 2, 2, 2, 793, 796, 3, 2, 2, 2, 794, 792, 3, 2, 2, 2, 794, 795, 3, 2, 2, 2, 795, 797, 3, 2, 2, 2, 796, 794, 3, 2, 2, 2, 797, 808, 7, 41, 2, 2, 798, 803, 7, 36, 2, 2, 799, 802, 5, 235, 118, 2, 800, 802, 5, 239, 120, 2, 801, 799, 3, 2, 2, 2, 801, 800, 3, 2, 2, 2, 802, 805, 3, 2, 2, 2, 803, 801, 3, 2, 2, 2, 803, 804, 3, 2, 2, 2, 804, 806, 3, 2, 2, 2, 805, 803, 3, 2, 2, 2, 806, 808, 7, 36, 2, 2, 807, 789, 3, 2, 2, 2, 807, 798, 3, 2, 2, 2, 808, 228, 3, 2, 2, 2, 809, 810, 7, 41, 2, 2, 810, 811, 7, 41, 2, 2, 811, 812, 7, 41, 2, 2, 812, 816, 3, 2, 2, 2, 813, 815, 5, 231, 116, 2, 814, 813, 3, 2, 2, 2, 815, 818, 3, 2, 2, 2, 816, 817, 3, 2, 2, 2, 816, 814, 3, 2, 2, 2, 817, 819, 3, 2, 2, 2, 818, 816, 3, 2, 2, 2, 819, 820, 7, 41, 2, 2, 820, 821, 7, 41, 2, 2, 821, 836, 7, 41, 2, 2, 822, 823, 7, 36, 2, 2, 823, 824, 7, 36, 2, 2, 824, 825, 7, 36, 2, 2, 825, 829, 3, 2, 2, 2, 826, 828, 5, 231, 116, 2, 827, 826, 3, 2, 2, 2, 828, 831, 3, 2, 2, 2, 829, 830, 3, 2, 2, 2, 829, 827, 3, 2, 2, 2, 830, 832, 3, 2, 2, 2, 831, 829, 3, 2, 2, 2, 832, 833, 7, 36, 2, 2, 833, 834, 7, 36, 2, 2, 834, 836, 7, 36, 2, 2, 835, 809, 3, 2, 2, 2, 835, 822, 3, 2, 2, 2, 836, 230, 3, 2, 2, 2, 837, 840, 5, 237, 119, 2, 838, 840, 5, 239, 120, 2, 839, 837, 3, 2, 2, 2, 839, 838, 3, 2, 2, 2, 840, 232, 3, 2, 2, 2, 841, 843, 9, 19, 2, 2, 842, 841, 3, 2, 2, 2, 843, 234, 3, 2, 2, 2, 844, 846, 9, 20, 2, 2, 845, 844, 3, 2, 2, 2, 846, 236, 3, 2, 2, 2, 847, 849, 9, 21, 2, 2, 848, 847, 3, 2, 2, 2, 849, 238, 3, 2, 2, 2, 850, 851, 7, 94, 2, 2, 851, 852, 9, 22, 2, 2, 852, 240, 3, 2, 2, 2, 853, 855, 9, 23, 2, 2, 854, 853, 3, 2, 2, 2, 855, 856, 3, 2, 2, 2, 856, 854, 3, 2, 2, 2, 856, 857, 3, 2, 2, 2, 857, 242, 3, 2, 2, 2, 858, 862, 7, 37, 2, 2, 859, 861, 10, 24, 2, 2, 860, 859, 3, 2, 2, 2, 861, 864, 3, 2, 2, 2, 862, 860, 3, 2, 2, 2, 862, 863, 3, 2, 2, 2, 863, 244, 3, 2, 2, 2, 864, 862, 3, 2, 2, 2, 865, 867, 7, 94, 2, 2, 866, 868, 5, 241, 121, 2, 867, 866, 3, 2, 2, 2, 867, 868, 3, 2, 2, 2, 868, 874, 3, 2, 2, 2, 869, 871, 7, 15, 2, 2, 870, 869, 3, 2, 2, 2, 870, 871, 3, 2, 2, 2, 871, 872, 3, 2, 2, 2, 872, 875, 7, 12, 2, 2, 873, 875, 4, 14, 15, 2, 874, 870, 3, 2, 2, 2, 874, 873, 3, 2, 2, 2, 875, 246, 3, 2, 2, 2, 876, 878, 9, 25, 2, 2, 877, 876, 3, 2, 2, 2, 878, 248, 3, 2, 2, 2, 879, 882, 5, 247, 124, 2, 880, 882, 9, 26, 2, 2, 881, 879, 3, 2, 2, 2, 881, 880, 3, 2, 2, 2, 882, 250, 3, 2, 2, 2, 60, 2, 253, 258, 264, 459, 463, 466, 468, 476, 484, 488, 495, 499, 505, 511, 513, 520, 527, 534, 538, 542, 678, 687, 689, 696, 698, 702, 711, 724, 730, 734, 742, 755, 761, 765, 772, 778, 782, 787, 792, 794, 801, 803, 807, 816, 829, 835, 839, 842, 845, 848, 856, 862, 867, 870, 874, 877, 881, 10, 3, 40, 2, 3, 53, 3, 3, 54, 4, 3, 60, 5, 3, 61, 6, 3, 73, 7, 3, 74, 8, 8, 2, 2]
|
@@ -0,0 +1,181 @@
|
|
1
|
+
INDENT=1
|
2
|
+
DEDENT=2
|
3
|
+
STRING=3
|
4
|
+
NUMBER=4
|
5
|
+
INTEGER=5
|
6
|
+
DEF=6
|
7
|
+
RETURN=7
|
8
|
+
RAISE=8
|
9
|
+
FROM=9
|
10
|
+
IMPORT=10
|
11
|
+
AS=11
|
12
|
+
GLOBAL=12
|
13
|
+
NONLOCAL=13
|
14
|
+
ASSERT=14
|
15
|
+
IF=15
|
16
|
+
ELIF=16
|
17
|
+
ELSE=17
|
18
|
+
WHILE=18
|
19
|
+
FOR=19
|
20
|
+
IN=20
|
21
|
+
TRY=21
|
22
|
+
FINALLY=22
|
23
|
+
WITH=23
|
24
|
+
EXCEPT=24
|
25
|
+
LAMBDA=25
|
26
|
+
OR=26
|
27
|
+
AND=27
|
28
|
+
NOT=28
|
29
|
+
IS=29
|
30
|
+
NONE=30
|
31
|
+
TRUE=31
|
32
|
+
FALSE=32
|
33
|
+
CLASS=33
|
34
|
+
YIELD=34
|
35
|
+
DEL=35
|
36
|
+
PASS=36
|
37
|
+
CONTINUE=37
|
38
|
+
BREAK=38
|
39
|
+
ASYNC=39
|
40
|
+
AWAIT=40
|
41
|
+
NEWLINE=41
|
42
|
+
NAME=42
|
43
|
+
STRING_LITERAL=43
|
44
|
+
BYTES_LITERAL=44
|
45
|
+
DECIMAL_INTEGER=45
|
46
|
+
OCT_INTEGER=46
|
47
|
+
HEX_INTEGER=47
|
48
|
+
BIN_INTEGER=48
|
49
|
+
FLOAT_NUMBER=49
|
50
|
+
IMAG_NUMBER=50
|
51
|
+
DOT=51
|
52
|
+
ELLIPSIS=52
|
53
|
+
STAR=53
|
54
|
+
OPEN_PAREN=54
|
55
|
+
CLOSE_PAREN=55
|
56
|
+
COMMA=56
|
57
|
+
COLON=57
|
58
|
+
SEMI_COLON=58
|
59
|
+
POWER=59
|
60
|
+
ASSIGN=60
|
61
|
+
OPEN_BRACK=61
|
62
|
+
CLOSE_BRACK=62
|
63
|
+
OR_OP=63
|
64
|
+
XOR=64
|
65
|
+
AND_OP=65
|
66
|
+
LEFT_SHIFT=66
|
67
|
+
RIGHT_SHIFT=67
|
68
|
+
ADD=68
|
69
|
+
MINUS=69
|
70
|
+
DIV=70
|
71
|
+
MOD=71
|
72
|
+
IDIV=72
|
73
|
+
NOT_OP=73
|
74
|
+
OPEN_BRACE=74
|
75
|
+
CLOSE_BRACE=75
|
76
|
+
LESS_THAN=76
|
77
|
+
GREATER_THAN=77
|
78
|
+
EQUALS=78
|
79
|
+
GT_EQ=79
|
80
|
+
LT_EQ=80
|
81
|
+
NOT_EQ_1=81
|
82
|
+
NOT_EQ_2=82
|
83
|
+
AT=83
|
84
|
+
ARROW=84
|
85
|
+
ADD_ASSIGN=85
|
86
|
+
SUB_ASSIGN=86
|
87
|
+
MULT_ASSIGN=87
|
88
|
+
AT_ASSIGN=88
|
89
|
+
DIV_ASSIGN=89
|
90
|
+
MOD_ASSIGN=90
|
91
|
+
AND_ASSIGN=91
|
92
|
+
OR_ASSIGN=92
|
93
|
+
XOR_ASSIGN=93
|
94
|
+
LEFT_SHIFT_ASSIGN=94
|
95
|
+
RIGHT_SHIFT_ASSIGN=95
|
96
|
+
POWER_ASSIGN=96
|
97
|
+
IDIV_ASSIGN=97
|
98
|
+
SKIP_=98
|
99
|
+
UNKNOWN_CHAR=99
|
100
|
+
'def'=6
|
101
|
+
'return'=7
|
102
|
+
'raise'=8
|
103
|
+
'from'=9
|
104
|
+
'import'=10
|
105
|
+
'as'=11
|
106
|
+
'global'=12
|
107
|
+
'nonlocal'=13
|
108
|
+
'assert'=14
|
109
|
+
'if'=15
|
110
|
+
'elif'=16
|
111
|
+
'else'=17
|
112
|
+
'while'=18
|
113
|
+
'for'=19
|
114
|
+
'in'=20
|
115
|
+
'try'=21
|
116
|
+
'finally'=22
|
117
|
+
'with'=23
|
118
|
+
'except'=24
|
119
|
+
'lambda'=25
|
120
|
+
'or'=26
|
121
|
+
'and'=27
|
122
|
+
'not'=28
|
123
|
+
'is'=29
|
124
|
+
'None'=30
|
125
|
+
'True'=31
|
126
|
+
'False'=32
|
127
|
+
'class'=33
|
128
|
+
'yield'=34
|
129
|
+
'del'=35
|
130
|
+
'pass'=36
|
131
|
+
'continue'=37
|
132
|
+
'break'=38
|
133
|
+
'async'=39
|
134
|
+
'await'=40
|
135
|
+
'.'=51
|
136
|
+
'...'=52
|
137
|
+
'*'=53
|
138
|
+
'('=54
|
139
|
+
')'=55
|
140
|
+
','=56
|
141
|
+
':'=57
|
142
|
+
';'=58
|
143
|
+
'**'=59
|
144
|
+
'='=60
|
145
|
+
'['=61
|
146
|
+
']'=62
|
147
|
+
'|'=63
|
148
|
+
'^'=64
|
149
|
+
'&'=65
|
150
|
+
'<<'=66
|
151
|
+
'>>'=67
|
152
|
+
'+'=68
|
153
|
+
'-'=69
|
154
|
+
'/'=70
|
155
|
+
'%'=71
|
156
|
+
'//'=72
|
157
|
+
'~'=73
|
158
|
+
'{'=74
|
159
|
+
'}'=75
|
160
|
+
'<'=76
|
161
|
+
'>'=77
|
162
|
+
'=='=78
|
163
|
+
'>='=79
|
164
|
+
'<='=80
|
165
|
+
'<>'=81
|
166
|
+
'!='=82
|
167
|
+
'@'=83
|
168
|
+
'->'=84
|
169
|
+
'+='=85
|
170
|
+
'-='=86
|
171
|
+
'*='=87
|
172
|
+
'@='=88
|
173
|
+
'/='=89
|
174
|
+
'%='=90
|
175
|
+
'&='=91
|
176
|
+
'|='=92
|
177
|
+
'^='=93
|
178
|
+
'<<='=94
|
179
|
+
'>>='=95
|
180
|
+
'**='=96
|
181
|
+
'//='=97
|